Merge branch 'IoTManagerProject:ver4dev' into ver4dev

This commit is contained in:
2023-10-03 22:27:12 +03:00
committed by GitHub
5 changed files with 37 additions and 27 deletions

View File

@@ -450,25 +450,27 @@ void sendFileToWsByFrames(const String& filename, const String& header,
}
void sendStringToWs(const String& header, String& payload, int client_id) {
if (!(WiFi.softAPgetStationNum() || isNetworkActive())) {
return;
}
if ((!getNumAPClients() && !isNetworkActive()) || !getNumWSClients()) {
// standWebSocket.disconnect(); // это и ниже надо сделать при -
// standWebSocket.close(); // - отключении AP И WiFi(STA), надо менять ядро WiFi. Сейчас не закрывается сессия клиента при пропаже AP И WiFi(STA)
return;
}
if (header.length() != 6) {
SerialPrint("E", "FS", F("wrong header size"));
return;
}
if (header.length() != 6) {
SerialPrint("E", "FS", F("wrong header size"));
return;
}
String msg = header + "|0012|" + payload;
size_t totalSize = msg.length();
String msg = header + "|0012|" + payload;
size_t totalSize = msg.length();
char dataArray[totalSize];
msg.toCharArray(dataArray, totalSize + 1);
if (client_id == -1) {
standWebSocket.broadcastBIN((uint8_t*)dataArray, totalSize);
} else {
standWebSocket.sendBIN(client_id, (uint8_t*)dataArray, totalSize);
}
char dataArray[totalSize];
msg.toCharArray(dataArray, totalSize + 1);
if (client_id == -1) {
standWebSocket.broadcastBIN((uint8_t*)dataArray, totalSize);
} else {
standWebSocket.sendBIN(client_id, (uint8_t*)dataArray, totalSize);
}
}
void sendDeviceList(uint8_t num) {
@@ -483,3 +485,7 @@ void sendDeviceList(uint8_t num) {
SerialPrint("i", "FS", "flash list");
}
}
int getNumWSClients() {
return standWebSocket.connectedClients(false);
}

View File

@@ -11,11 +11,11 @@ void SerialPrint(const String& errorLevel, const String& module, const String& m
tosend += msg;
Serial.println(tosend);
if (isNetworkActive()) {
if (jsonReadInt(settingsFlashJson, F("log")) != 0) {
sendStringToWs(F("corelg"), tosend, -1);
}
// if (isNetworkActive()) { // все проверки происходят в sendStringToWs()
if (jsonReadInt(settingsFlashJson, F("log")) != 0) {
sendStringToWs(F("corelg"), tosend, -1);
}
// }
if (errorLevel == "E") {
cleanString(tosend);

View File

@@ -171,9 +171,13 @@ boolean RouterFind(std::vector<String> jArray)
return res;
}
// boolean isNetworkActive() {
// return WiFi.status() == WL_CONNECTED;
// }
boolean isNetworkActive() {
return WiFi.status() == WL_CONNECTED;
}
uint8_t getNumAPClients() {
return WiFi.softAPgetStationNum();
}
uint8_t RSSIquality() {
uint8_t res = 0;