2021-12-22 14:49:25 +01:00
|
|
|
|
#pragma once
|
2021-12-23 18:18:32 +01:00
|
|
|
|
//константы
|
|
|
|
|
|
#include "Const.h"
|
2021-12-22 14:49:25 +01:00
|
|
|
|
|
2021-12-22 21:13:24 +01:00
|
|
|
|
//внешние глобальные директории
|
2021-12-22 14:49:25 +01:00
|
|
|
|
#include <Arduino.h>
|
|
|
|
|
|
#include <ArduinoJson.h>
|
2021-12-23 17:48:01 +01:00
|
|
|
|
#include <TickerScheduler.h>
|
2022-01-10 23:37:21 +01:00
|
|
|
|
#include <PubSubClient.h>
|
2022-01-14 21:48:43 +01:00
|
|
|
|
#include <StringCommand.h>
|
2022-02-25 14:03:30 +03:00
|
|
|
|
#include <list>
|
2021-12-23 17:48:01 +01:00
|
|
|
|
|
|
|
|
|
|
#ifdef ESP32
|
2021-12-24 01:26:50 +01:00
|
|
|
|
#include "WiFi.h"
|
2021-12-23 17:48:01 +01:00
|
|
|
|
#include <HTTPClient.h>
|
|
|
|
|
|
#include <HTTPUpdate.h>
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef ESP8266
|
2021-12-23 22:42:19 +01:00
|
|
|
|
#include <ESP8266WiFi.h>
|
2021-12-22 23:33:47 +01:00
|
|
|
|
#include <ESP8266httpUpdate.h>
|
2021-12-23 17:48:01 +01:00
|
|
|
|
#endif
|
|
|
|
|
|
|
2021-12-23 22:42:19 +01:00
|
|
|
|
#ifdef ASYNC_WEB_SERVER
|
2021-12-23 00:33:45 +01:00
|
|
|
|
#include <ESPAsyncWebServer.h>
|
2021-12-23 18:18:32 +01:00
|
|
|
|
#endif
|
|
|
|
|
|
|
2021-12-23 22:42:19 +01:00
|
|
|
|
#ifdef STANDARD_WEB_SERVER
|
2021-12-23 22:56:45 +01:00
|
|
|
|
#ifdef ESP8266
|
2021-12-23 22:42:19 +01:00
|
|
|
|
#include <ESP8266WebServer.h>
|
|
|
|
|
|
#include <ESP8266HTTPUpdateServer.h>
|
|
|
|
|
|
#endif
|
2021-12-23 22:56:45 +01:00
|
|
|
|
#ifdef ESP32
|
|
|
|
|
|
#include <WebServer.h>
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#endif
|
2021-12-23 22:42:19 +01:00
|
|
|
|
|
2021-12-23 23:47:13 +01:00
|
|
|
|
#ifdef STANDARD_WEB_SOCKETS
|
|
|
|
|
|
#include <WebSocketsServer.h>
|
2021-12-24 01:26:50 +01:00
|
|
|
|
#ifdef ESP8266
|
2021-12-23 23:47:13 +01:00
|
|
|
|
#include <Hash.h>
|
|
|
|
|
|
#endif
|
2021-12-24 01:26:50 +01:00
|
|
|
|
#endif
|
2021-12-23 23:47:13 +01:00
|
|
|
|
|
2021-12-22 14:49:25 +01:00
|
|
|
|
#include <FS.h>
|
2021-12-22 21:13:24 +01:00
|
|
|
|
|
|
|
|
|
|
//внутренние глобальные директории проекта
|
2022-02-15 11:37:31 +01:00
|
|
|
|
#include "utils/FileUtils.h"
|
|
|
|
|
|
#include "utils/JsonUtils.h"
|
|
|
|
|
|
#include "utils/SerialPrint.h"
|
|
|
|
|
|
#include "utils/StringUtils.h"
|
2022-02-13 00:40:15 +01:00
|
|
|
|
#include "PeriodicTasks.h"
|
2022-02-14 18:33:52 +03:00
|
|
|
|
#include "classes/IoTGpio.h"
|
2021-12-22 23:33:47 +01:00
|
|
|
|
|
2021-12-23 23:47:13 +01:00
|
|
|
|
/*********************************************************************************************************************
|
|
|
|
|
|
*****************************************глобальные объекты классов***************************************************
|
|
|
|
|
|
**********************************************************************************************************************/
|
2022-02-21 20:00:18 +03:00
|
|
|
|
extern IoTGpio IoTgpio;
|
2021-12-23 23:47:13 +01:00
|
|
|
|
|
2021-12-22 23:33:47 +01:00
|
|
|
|
extern TickerScheduler ts;
|
2021-12-24 01:26:50 +01:00
|
|
|
|
extern WiFiClient espClient;
|
2022-01-10 23:37:21 +01:00
|
|
|
|
extern PubSubClient mqtt;
|
2022-01-14 21:48:43 +01:00
|
|
|
|
extern StringCommand sCmd;
|
2021-12-23 22:42:19 +01:00
|
|
|
|
#ifdef ASYNC_WEB_SERVER
|
2021-12-23 00:33:45 +01:00
|
|
|
|
extern AsyncWebServer server;
|
2021-12-23 18:18:32 +01:00
|
|
|
|
#endif
|
2021-12-22 23:33:47 +01:00
|
|
|
|
|
2021-12-23 22:42:19 +01:00
|
|
|
|
#ifdef STANDARD_WEB_SERVER
|
2021-12-23 22:56:45 +01:00
|
|
|
|
#ifdef ESP8266
|
2021-12-23 22:42:19 +01:00
|
|
|
|
extern ESP8266WebServer HTTP;
|
|
|
|
|
|
extern ESP8266HTTPUpdateServer httpUpdater;
|
|
|
|
|
|
#endif
|
2021-12-23 22:56:45 +01:00
|
|
|
|
#ifdef ESP32
|
|
|
|
|
|
extern WebServer HTTP;
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#endif
|
2021-12-23 22:42:19 +01:00
|
|
|
|
|
2021-12-23 23:47:13 +01:00
|
|
|
|
#ifdef STANDARD_WEB_SOCKETS
|
|
|
|
|
|
extern WebSocketsServer standWebSocket;
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************************************************************
|
|
|
|
|
|
***********************************************глобальные переменные**************************************************
|
|
|
|
|
|
**********************************************************************************************************************/
|
2021-12-22 23:33:47 +01:00
|
|
|
|
extern String settingsFlashJson;
|
2022-02-08 16:47:17 +01:00
|
|
|
|
extern String errorsHeapJson;
|
2021-12-24 22:49:06 +01:00
|
|
|
|
|
2022-01-14 21:48:43 +01:00
|
|
|
|
// buf
|
|
|
|
|
|
extern String orderBuf;
|
|
|
|
|
|
extern String eventBuf;
|
|
|
|
|
|
|
2022-02-05 02:13:56 +01:00
|
|
|
|
// wifi
|
2022-02-08 16:47:17 +01:00
|
|
|
|
extern String ssidListHeapJson;
|
2022-02-05 02:13:56 +01:00
|
|
|
|
|
2022-02-08 16:47:17 +01:00
|
|
|
|
extern String devListHeapJson;
|
2022-02-14 14:54:37 +01:00
|
|
|
|
extern String thisDeviceJson;
|
2022-02-07 02:08:10 +01:00
|
|
|
|
|
2022-01-10 23:37:21 +01:00
|
|
|
|
// Mqtt
|
|
|
|
|
|
extern String mqttServer;
|
|
|
|
|
|
extern int mqttPort;
|
|
|
|
|
|
extern String mqttPrefix;
|
|
|
|
|
|
extern String mqttUser;
|
|
|
|
|
|
extern String mqttPass;
|
|
|
|
|
|
|
2022-02-12 03:09:57 +01:00
|
|
|
|
extern unsigned long mqttUptime;
|
2022-02-16 00:53:52 +01:00
|
|
|
|
extern unsigned long flashWriteNumber;
|
2022-02-12 03:09:57 +01:00
|
|
|
|
|
2022-02-22 16:40:46 +01:00
|
|
|
|
extern unsigned long wifiUptime;
|
|
|
|
|
|
|
2022-02-23 17:54:18 +01:00
|
|
|
|
extern bool udpReceivingData;
|
|
|
|
|
|
|
2022-01-10 23:37:21 +01:00
|
|
|
|
extern String mqttRootDevice;
|
|
|
|
|
|
extern String chipId;
|
|
|
|
|
|
extern String prex;
|
|
|
|
|
|
extern String all_widgets;
|
|
|
|
|
|
extern String scenario;
|
|
|
|
|
|
|
2022-08-18 14:49:11 +02:00
|
|
|
|
// Time
|
|
|
|
|
|
struct Time_t {
|
|
|
|
|
|
uint8_t second;
|
|
|
|
|
|
uint8_t minute;
|
|
|
|
|
|
uint8_t hour;
|
|
|
|
|
|
uint8_t day_of_week;
|
|
|
|
|
|
uint8_t day_of_month;
|
|
|
|
|
|
uint8_t month;
|
|
|
|
|
|
uint16_t day_of_year;
|
|
|
|
|
|
uint16_t year;
|
|
|
|
|
|
unsigned long days;
|
|
|
|
|
|
unsigned long valid;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2022-08-24 00:59:44 +02:00
|
|
|
|
extern unsigned long unixTime;
|
2022-08-25 00:45:17 +02:00
|
|
|
|
extern unsigned long unixTimeShort;
|
|
|
|
|
|
|
2022-08-24 00:59:44 +02:00
|
|
|
|
extern bool isTimeSynch;
|
2022-08-18 14:49:11 +02:00
|
|
|
|
extern Time_t _time_local;
|
|
|
|
|
|
extern Time_t _time_utc;
|
2022-08-23 10:06:45 +03:00
|
|
|
|
extern bool _time_isTrust;
|
2022-08-18 14:49:11 +02:00
|
|
|
|
|
2021-12-25 00:19:58 +01:00
|
|
|
|
// extern DynamicJsonDocument settingsFlashJsonDoc;
|
|
|
|
|
|
// extern DynamicJsonDocument paramsFlashJsonDoc;
|
2022-10-05 20:41:07 +03:00
|
|
|
|
// extern DynamicJsonDocument paramsHeapJsonDoc;
|
|
|
|
|
|
|
|
|
|
|
|
void scanI2C();
|