// пример с хранением данных в базе Pairs #include #define AP_SSID "Alex" #define AP_PASS "alexpass" #include GyverHub hub; #include // pairsfile - автоматически сохраняет базу данных в файл PairsFile data(&GH_FS, "/data.dat", 3000); // Pairs data; // есть без привязки к файлу // билдер void build(gh::Builder& b) { // для привязки к базе данных достаточно сделать именованный виджет // и передать базу данных по адресу. Данные будут сами писаться и читаться по ключу b.Input_("input", &data); // Это всё!! // ещё парочку { gh::Row r(b); b.Slider_("slider", &data); b.Spinner_("spinner", &data); b.Switch_("switch", &data); } // выведем содержимое базы данных как текст b.Text_("pairs", data); // обновить текст при действиях на странице if (b.changed()) hub.update("pairs").value(data); } void setup() { Serial.begin(115200); #ifdef GH_ESP_BUILD // подключение к роутеру WiFi.mode(WIFI_STA); WiFi.begin(AP_SSID, AP_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println(WiFi.localIP()); hub.mqtt.config("test.mosquitto.org", 1883); // + MQTT // ИЛИ // режим точки доступа // WiFi.mode(WIFI_AP); // WiFi.softAP("My Hub"); // Serial.println(WiFi.softAPIP()); #endif hub.config(F("MyDevices"), F("ESP")); hub.onBuild(build); hub.begin(); // запустить и прочитать базу из файла data.begin(); } void loop() { hub.tick(); // файл сам обновится по таймауту data.tick(); }