fix wifi bk7231n

This commit is contained in:
Mit4el
2025-03-27 22:19:36 +03:00
parent 37d9c2224a
commit f5ba827488
7 changed files with 23 additions and 37 deletions

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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;
} }

View File

@@ -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;