mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
@@ -2,7 +2,7 @@
|
|||||||
#include "BuildTime.h"
|
#include "BuildTime.h"
|
||||||
|
|
||||||
// Версия прошивки
|
// Версия прошивки
|
||||||
#define FIRMWARE_VERSION 457
|
#define FIRMWARE_VERSION 460
|
||||||
|
|
||||||
#ifdef esp8266_1mb_ota
|
#ifdef esp8266_1mb_ota
|
||||||
#define FIRMWARE_NAME "esp8266_1mb_ota"
|
#define FIRMWARE_NAME "esp8266_1mb_ota"
|
||||||
@@ -104,11 +104,19 @@ WEB_SOCKETS_FRAME_SIZE создан для того что бы не загру
|
|||||||
#define MIN_DATETIME 1575158400
|
#define MIN_DATETIME 1575158400
|
||||||
#define LEAP_YEAR(Y) (((1970 + Y) > 0) && !((1970 + Y) % 4) && (((1970 + Y) % 100) || !((1970 + Y) % 400)))
|
#define LEAP_YEAR(Y) (((1970 + Y) > 0) && !((1970 + Y) % 4) && (((1970 + Y) % 100) || !((1970 + Y) % 400)))
|
||||||
|
|
||||||
|
#ifdef LIBRETINY
|
||||||
|
//#define WIFI_ASYNC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ESP32
|
||||||
|
#define WIFI_ASYNC
|
||||||
|
#endif
|
||||||
|
|
||||||
// задачи таскера
|
// задачи таскера
|
||||||
enum TimerTask_t {
|
enum TimerTask_t {
|
||||||
WIFI_SCAN,
|
WIFI_SCAN,
|
||||||
WIFI_MQTT_CONNECTION_CHECK,
|
WIFI_MQTT_CONNECTION_CHECK,
|
||||||
#ifndef ESP8266
|
#ifdef WIFI_ASYNC
|
||||||
WIFI_CONN,
|
WIFI_CONN,
|
||||||
#endif
|
#endif
|
||||||
TIME,
|
TIME,
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ class IoTUart : public IoTItem {
|
|||||||
protected:
|
protected:
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
SoftwareSerial* _myUART;
|
SoftwareSerial* _myUART;
|
||||||
|
#elif LIBRETINY
|
||||||
|
SerialClass* _myUART;
|
||||||
#else
|
#else
|
||||||
Stream* _myUART;
|
Stream* _myUART;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
boolean isNetworkActive();
|
boolean isNetworkActive();
|
||||||
uint8_t getNumAPClients();
|
uint8_t getNumAPClients();
|
||||||
bool startAPMode();
|
bool startAPMode();
|
||||||
#ifdef ESP8266
|
#ifndef WIFI_ASYNC
|
||||||
void routerConnect();
|
void routerConnect();
|
||||||
boolean RouterFind(std::vector<String> jArray);
|
boolean RouterFind(std::vector<String> jArray);
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -456,7 +456,7 @@ upload_speed = 921600
|
|||||||
monitor_speed = 115200
|
monitor_speed = 115200
|
||||||
build_flags =
|
build_flags =
|
||||||
-Dbk7231n="bk7231n"
|
-Dbk7231n="bk7231n"
|
||||||
-DLT_LOGLEVEL=LT_LEVEL_DEBUG
|
-DLT_LOGLEVEL=LT_LEVEL_FATAL
|
||||||
-DLT_DEBUG_ALL=1
|
-DLT_DEBUG_ALL=1
|
||||||
-DPROJECT_DATA_DIR="data_svelte"
|
-DPROJECT_DATA_DIR="data_svelte"
|
||||||
-DLT_USE_TIME=1
|
-DLT_USE_TIME=1
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ void setup() {
|
|||||||
initErrorMarker(SETUPINET_ERRORMARKER);
|
initErrorMarker(SETUPINET_ERRORMARKER);
|
||||||
|
|
||||||
// подключаемся к роутеру
|
// подключаемся к роутеру
|
||||||
#ifdef ESP8266
|
#ifndef WIFI_ASYNC
|
||||||
routerConnect();
|
routerConnect();
|
||||||
#else
|
#else
|
||||||
WiFiUtilsItit();
|
WiFiUtilsItit();
|
||||||
@@ -237,7 +237,7 @@ void setup() {
|
|||||||
// инициализация задач переодического выполнения
|
// инициализация задач переодического выполнения
|
||||||
periodicTasksInit();
|
periodicTasksInit();
|
||||||
|
|
||||||
#if defined(ESP8266)
|
#if !defined(WIFI_ASYNC)
|
||||||
// Перенесли после получения IP, так как теперь работа WiFi асинхронная
|
// Перенесли после получения IP, так как теперь работа WiFi асинхронная
|
||||||
// запуск работы udp
|
// запуск работы udp
|
||||||
addThisDeviceToList();
|
addThisDeviceToList();
|
||||||
@@ -306,7 +306,7 @@ void setup() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
#if !defined(ESP8266)
|
#if defined(WIFI_ASYNC)
|
||||||
static bool udpFirstFlag = true;
|
static bool udpFirstFlag = true;
|
||||||
// Перенесли после получения IP, так как теперь работа WiFi асинхронная
|
// Перенесли после получения IP, так как теперь работа WiFi асинхронная
|
||||||
if (isNetworkActive() && udpFirstFlag) {
|
if (isNetworkActive() && udpFirstFlag) {
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
|||||||
sendFileToWsByFrames("/widgets.json", "widget", "", num, WEB_SOCKETS_FRAME_SIZE);
|
sendFileToWsByFrames("/widgets.json", "widget", "", num, WEB_SOCKETS_FRAME_SIZE);
|
||||||
sendFileToWsByFrames("/config.json", "config", "", num, WEB_SOCKETS_FRAME_SIZE);
|
sendFileToWsByFrames("/config.json", "config", "", num, WEB_SOCKETS_FRAME_SIZE);
|
||||||
sendStringToWs("settin", settingsFlashJson, num);
|
sendStringToWs("settin", settingsFlashJson, num);
|
||||||
#ifndef ESP8266
|
#ifdef WIFI_ASYNC
|
||||||
ssidListHeapJson = "{}";
|
ssidListHeapJson = "{}";
|
||||||
jsonWriteStr_(ssidListHeapJson, "0", "Scanning...");
|
jsonWriteStr_(ssidListHeapJson, "0", "Scanning...");
|
||||||
#endif
|
#endif
|
||||||
@@ -161,7 +161,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
|||||||
sendStringToWs("errors", errorsHeapJson, num);
|
sendStringToWs("errors", errorsHeapJson, num);
|
||||||
// если не было создано приема данных по udp - то создадим его
|
// если не было создано приема данных по udp - то создадим его
|
||||||
addThisDeviceToList();
|
addThisDeviceToList();
|
||||||
#ifndef ESP8266
|
#ifdef WIFI_ASYNC
|
||||||
settingsFlashJson = readFile(F("settings.json"), 4096);
|
settingsFlashJson = readFile(F("settings.json"), 4096);
|
||||||
settingsFlashJson.replace("\r\n", "");
|
settingsFlashJson.replace("\r\n", "");
|
||||||
Serial.println(settingsFlashJson);
|
Serial.println(settingsFlashJson);
|
||||||
@@ -183,7 +183,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
|||||||
// запуск асинхронного сканирования wifi сетей при нажатии выпадающего
|
// запуск асинхронного сканирования wifi сетей при нажатии выпадающего
|
||||||
// списка
|
// списка
|
||||||
if (headerStr == "/scan|") {
|
if (headerStr == "/scan|") {
|
||||||
#ifdef ESP8266
|
#ifndef WIFI_ASYNC
|
||||||
std::vector<String> jArray;
|
std::vector<String> jArray;
|
||||||
jsonReadArray(settingsFlashJson, "routerssid", jArray);
|
jsonReadArray(settingsFlashJson, "routerssid", jArray);
|
||||||
RouterFind(jArray);
|
RouterFind(jArray);
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ IoTUart::IoTUart(const String& parameters) : IoTItem(parameters) {
|
|||||||
jsonRead(parameters, "speed", _speed);
|
jsonRead(parameters, "speed", _speed);
|
||||||
jsonRead(parameters, "line", _line);
|
jsonRead(parameters, "line", _line);
|
||||||
|
|
||||||
#ifdef ESP8266
|
#if defined (ESP8266)
|
||||||
_myUART = new SoftwareSerial(_rx, _tx);
|
_myUART = new SoftwareSerial(_rx, _tx);
|
||||||
_myUART->begin(_speed);
|
_myUART->begin(_speed);
|
||||||
#endif
|
#endif
|
||||||
#ifdef ESP32
|
#if defined (ESP32)
|
||||||
if (_line >= 0) {
|
if (_line >= 0) {
|
||||||
_myUART = new HardwareSerial(_line);
|
_myUART = new HardwareSerial(_line);
|
||||||
((HardwareSerial*)_myUART)->begin(_speed, SERIAL_8N1, _rx, _tx);
|
((HardwareSerial*)_myUART)->begin(_speed, SERIAL_8N1, _rx, _tx);
|
||||||
@@ -22,6 +22,10 @@ IoTUart::IoTUart(const String& parameters) : IoTItem(parameters) {
|
|||||||
((SoftwareSerial*)_myUART)->begin(_speed);
|
((SoftwareSerial*)_myUART)->begin(_speed);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if defined (LIBRETINY)
|
||||||
|
_myUART = new SerialClass(_rx, _tx);
|
||||||
|
_myUART->begin((unsigned long)_speed);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void IoTUart::loop() {
|
void IoTUart::loop() {
|
||||||
|
|||||||
@@ -1,35 +1,13 @@
|
|||||||
#include "ESPConfiguration.h"
|
#include "ESPConfiguration.h"
|
||||||
|
|
||||||
void* getAPI_Cron(String subtype, String params);
|
|
||||||
void* getAPI_Loging(String subtype, String params);
|
|
||||||
void* getAPI_LogingDaily(String subtype, String params);
|
|
||||||
void* getAPI_IoTMath(String subtype, String params);
|
|
||||||
void* getAPI_owmWeather(String subtype, String params);
|
|
||||||
void* getAPI_Timer(String subtype, String params);
|
void* getAPI_Timer(String subtype, String params);
|
||||||
void* getAPI_Variable(String subtype, String params);
|
|
||||||
void* getAPI_VButton(String subtype, String params);
|
|
||||||
void* getAPI_AnalogAdc(String subtype, String params);
|
|
||||||
void* getAPI_BL0937(String subtype, String params);
|
void* getAPI_BL0937(String subtype, String params);
|
||||||
void* getAPI_UART(String subtype, String params);
|
void* getAPI_BL0942(String subtype, String params);
|
||||||
void* getAPI_AnalogBtn(String subtype, String params);
|
|
||||||
void* getAPI_ButtonIn(String subtype, String params);
|
|
||||||
void* getAPI_ButtonOut(String subtype, String params);
|
|
||||||
|
|
||||||
void* getAPI(String subtype, String params) {
|
void* getAPI(String subtype, String params) {
|
||||||
void* tmpAPI;
|
void* tmpAPI;
|
||||||
if ((tmpAPI = getAPI_Cron(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_Loging(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_LogingDaily(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_IoTMath(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_owmWeather(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_Timer(subtype, params)) != nullptr) return tmpAPI;
|
if ((tmpAPI = getAPI_Timer(subtype, params)) != nullptr) return tmpAPI;
|
||||||
if ((tmpAPI = getAPI_Variable(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_VButton(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_AnalogAdc(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_BL0937(subtype, params)) != nullptr) return tmpAPI;
|
if ((tmpAPI = getAPI_BL0937(subtype, params)) != nullptr) return tmpAPI;
|
||||||
if ((tmpAPI = getAPI_UART(subtype, params)) != nullptr) return tmpAPI;
|
if ((tmpAPI = getAPI_BL0942(subtype, params)) != nullptr) return tmpAPI;
|
||||||
if ((tmpAPI = getAPI_AnalogBtn(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_ButtonIn(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
if ((tmpAPI = getAPI_ButtonOut(subtype, params)) != nullptr) return tmpAPI;
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
#define TRIESONE 20 // количество секунд ожидания подключения к одной сети из несколких
|
#define TRIESONE 20 // количество секунд ожидания подключения к одной сети из несколких
|
||||||
#define TRIES 30 // количество секунд ожидания подключения сети если она одна
|
#define TRIES 30 // количество секунд ожидания подключения сети если она одна
|
||||||
|
|
||||||
#ifndef ESP8266
|
#ifdef WIFI_ASYNC
|
||||||
std::vector<String> _ssidList;
|
std::vector<String> _ssidList;
|
||||||
std::vector<String> _passwordList;
|
std::vector<String> _passwordList;
|
||||||
// номер сети, для перебирания в момент подключения к сетям из массива
|
// номер сети, для перебирания в момент подключения к сетям из массива
|
||||||
@@ -397,7 +397,7 @@ void routerConnect()
|
|||||||
#endif
|
#endif
|
||||||
bool startAPMode()
|
bool startAPMode()
|
||||||
{
|
{
|
||||||
#ifndef ESP8266
|
#ifdef WIFI_ASYNC
|
||||||
wifiConnecting = false;
|
wifiConnecting = false;
|
||||||
currentNetwork = 0;
|
currentNetwork = 0;
|
||||||
connectionAttempts = 0;
|
connectionAttempts = 0;
|
||||||
@@ -427,7 +427,7 @@ bool startAPMode()
|
|||||||
WIFI_SCAN, 30 * 1000,
|
WIFI_SCAN, 30 * 1000,
|
||||||
[&](void *)
|
[&](void *)
|
||||||
{
|
{
|
||||||
#ifdef ESP8266
|
#ifndef WIFI_ASYNC
|
||||||
std::vector<String> jArray;
|
std::vector<String> jArray;
|
||||||
jsonReadArray(settingsFlashJson, "routerssid", jArray);
|
jsonReadArray(settingsFlashJson, "routerssid", jArray);
|
||||||
for (int8_t i = 0; i < jArray.size(); i++)
|
for (int8_t i = 0; i < jArray.size(); i++)
|
||||||
@@ -449,7 +449,7 @@ bool startAPMode()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ESP8266)
|
#ifndef WIFI_ASYNC
|
||||||
boolean RouterFind(std::vector<String> jArray)
|
boolean RouterFind(std::vector<String> jArray)
|
||||||
{
|
{
|
||||||
bool res = false;
|
bool res = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user