Files
IoTManager/src/Main.cpp

84 lines
2.4 KiB
C++
Raw Normal View History

#include "Main.h"
2021-12-22 14:09:50 +01:00
void setup() {
Serial.begin(115200);
Serial.flush();
Serial.println();
Serial.println(F("--------------started----------------"));
//создание экземпляров классов
myNotAsyncActions = new NotAsync(do_LAST);
//инициализация файловой системы
2021-12-22 14:09:50 +01:00
fileSystemInit();
//синхронизация глобальных переменных с flash
globalVarsSync();
//подключаемся к роутеру
routerConnect();
//инициализация асинхронного веб сервера и веб сокетов
#ifdef ASYNC_WEB_SERVER
asyncWebServerInit();
#endif
#ifdef ASYNC_WEB_SOCKETS
asyncWebSocketsInit();
#endif
//инициализация стандартного веб сервера и веб сокетов
#ifdef STANDARD_WEB_SERVER
standWebServerInit();
#endif
#ifdef STANDARD_WEB_SOCKETS
standWebSocketsInit();
#endif
2022-01-15 19:11:01 +01:00
//инициализация mqtt
// mqttInit();
2022-01-15 19:11:01 +01:00
//создаем объект класса выгружающего json массив из файла
sendJsonFiles = new SendJson;
configure("/config.json");
//выводим остаток оперативной памяти после старта
// 22.12.21 пустой код без wifi остаток = 50.28 kB
// 22.12.21 запустил wifi остаток = 48.59 kB
// 22.12.21 добавил асинхронный веб сервер = 38.36 kB
// 22.12.21 добавил web sockets = 37.63 kB
//создали задачу которая будет выполняться каждые 30 секунд
ts.add(
MYTEST, 1000 * 30, [&](void*) {
SerialPrint(F("i"), F("HEAP"), prettyBytes(ESP.getFreeHeap()));
},
nullptr, true);
2021-12-22 14:09:50 +01:00
}
void loop() {
2021-12-23 17:55:46 +01:00
//обновление задач таскера
ts.update();
//отправка json
if (sendJsonFiles) sendJsonFiles->loop();
#ifdef STANDARD_WEB_SERVER
//обработка web сервера
HTTP.handleClient();
#endif
#ifdef STANDARD_WEB_SOCKETS
//обработка web сокетов
standWebSocket.loop();
#endif
2022-01-15 19:11:01 +01:00
//обновление mqtt
mqttLoop();
for (unsigned int i = 0; i < iotSensors.size(); i++) {
iotSensors[i]->loop();
}
2021-12-22 14:09:50 +01:00
}