This commit is contained in:
Dmitry Borisenko
2020-03-20 21:00:11 +01:00
parent 857177b5b7
commit ef92865886
7 changed files with 107 additions and 15 deletions

View File

@@ -259,7 +259,7 @@ void statistics() {
urls += ESP.getResetReason();
#endif
#ifdef ESP32
urls += "unknow";
urls += "Unknown";
#endif
urls += "&";
//-----------------------------------------------------------------

View File

@@ -1,5 +1,12 @@
void WIFI_init() {
// --------------------Получаем ssid password со страницы
server.on("/wifi.scan.json", HTTP_GET, [](AsyncWebServerRequest * request) {
String tmp;
//tmp = scanWIFI();
//Serial.println(tmp);
request->send(200, "application/json", tmp); // отправляем ответ о выполнении
});
// --------------------Получаем ssid password со страницы
server.on("/ssid", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("ssid")) {
@@ -47,6 +54,7 @@ void WIFI_init() {
// Попытка подключения к точке доступа
WiFi.mode(WIFI_STA);
// WiFi.mode(WIFI_NONE_SLEEP);
byte tries = 20;
String _ssid = jsonRead(configSetup, "ssid");
@@ -163,3 +171,41 @@ boolean RouterFind(String ssid) {
return false;
}
}
/*
String scanWIFI() {
uint8_t n = WiFi.scanNetworks();
DynamicJsonBuffer jsonBuffer;
JsonObject& json = jsonBuffer.createObject();
JsonArray& networks = json.createNestedArray("networks");
for (uint8_t i = 0; i < n; i++) {
JsonObject& data = networks.createNestedObject();
String ssidMy = WiFi.SSID(i);
data["ssid"] = ssidMy;
data["pass"] = (WiFi.encryptionType(i) == ENC_TYPE_NONE) ? "" : "*";
int8_t dbm = WiFi.RSSI(i);
data["dbm"] = dbm;
if (ssidMy == jsonRead(configSetup, "ssid")) {
jsonWrite(configJson, "dbm", dbm);
}
}
String root;
json.printTo(root);
return root;
}
*/
/*
{
"type":"wifi",
"title":"{{LangWiFi1}}",
"name":"ssid",
"state":"{{ssid}}",
"pattern":".{1,}"
},
{
"type":"password",
"title":"{{LangPass}}",
"name":"ssidPass",
"state":"{{ssidPass}}",
"pattern":".{8,}"
},
*/

View File

@@ -47,8 +47,8 @@ void setup() {
initUpgrade();
Serial.println("[V] initUpgrade");
//--------------------------------------------------------------
//Web_server_init();
//Serial.println("[V] Web_server_init");
Web_server_init();
Serial.println("[V] Web_server_init");
//--------------------------------------------------------------
MQTT_init();
Serial.println("[V] MQTT_init");
@@ -59,7 +59,7 @@ void setup() {
Push_init();
Serial.println("[V] Push_init");
//--------------------------------------------------------------
Serial.print("[i] Date compiling: ");
Serial.println(DATE_COMPILING);
@@ -75,6 +75,8 @@ void setup() {
Serial.print("[i] Last firmware version: ");
Serial.println(new_version);
//Serial.println(scanWIFI());
}

View File

@@ -277,11 +277,55 @@ void getMemoryLoad(String text) {
}
//esp32 full memory = 362868 k bytes
//esp8266 full memory = 53312 k bytes
/*
String getResetReason(uint8_t core) {
int reason = rtc_get_reset_reason(core);
switch (reason) {
case 1 : return "Power on"; break; //Vbat power on reset
case 3 : return "Software reset digital core"; break; //Software reset digital core
case 4 : return "Legacy watch dog reset digital core"; break; //Legacy watch dog reset digital core
case 5 : return "Deep Sleep reset digital core"; break; //Deep Sleep reset digital core
case 6 : return "Reset by SLC module, reset digital core"; break; //Reset by SLC module, reset digital core
case 7 : return "Timer Group0 Watch dog reset digital core"; break; //Timer Group0 Watch dog reset digital core
case 8 : return "Timer Group1 Watch dog reset digital core"; break; //Timer Group1 Watch dog reset digital core
case 9 : return "RTC Watch dog Reset digital core"; break; //
case 10 : return "Instrusion tested to reset CPU"; break;
case 11 : return "Time Group reset CPU"; break;
case 12 : return "Software reset CPU"; break;
case 13 : return "RTC Watch dog Reset CPU"; break;
case 14 : return "for APP CPU, reseted by PRO CPU"; break;
case 15 : return "Reset when the vdd voltage is not stable"; break;
case 16 : return "RTC Watch dog reset digital core and rtc module"; break;
default : return "NO_MEAN";
}
}
String EspClass::getResetReason(void) {
char buff[32];
if (resetInfo.reason == REASON_DEFAULT_RST) { // normal startup by power on
strcpy_P(buff, PSTR("Power on"));
} else if (resetInfo.reason == REASON_WDT_RST) { // hardware watch dog reset
strcpy_P(buff, PSTR("Hardware Watchdog"));
} else if (resetInfo.reason == REASON_EXCEPTION_RST) { // exception reset, GPIO status wont change
strcpy_P(buff, PSTR("Exception"));
} else if (resetInfo.reason == REASON_SOFT_WDT_RST) { // software watch dog reset, GPIO status wont change
strcpy_P(buff, PSTR("Software Watchdog"));
} else if (resetInfo.reason == REASON_SOFT_RESTART) { // software restart ,system_restart , GPIO status wont change
strcpy_P(buff, PSTR("Software/System restart"));
} else if (resetInfo.reason == REASON_DEEP_SLEEP_AWAKE) { // wake up from deep-sleep
strcpy_P(buff, PSTR("Deep-Sleep Wake"));
} else if (resetInfo.reason == REASON_EXT_SYS_RST) { // external system reset
strcpy_P(buff, PSTR("External System"));
} else {
strcpy_P(buff, PSTR("Unknown"));
}
return String(buff);
}
*/
//===================================================================
/*
void web_print (String text) {
void web_print (String text) {
if (WiFi.status() == WL_CONNECTED) {
jsonWrite(json, "test1", jsonRead(json, "test2"));
jsonWrite(json, "test2", jsonRead(json, "test3"));
@@ -293,7 +337,7 @@ void web_print (String text) {
ws.textAll(json);
}
}
}
*/
//===================================================================
/*

View File

@@ -100,10 +100,9 @@ boolean MQTT_Connecting() {
client.subscribe((prefix + "/" + chipID + "/order").c_str()); // Подписываемся на топики order
//client.subscribe((prefix + "/" + chipID + "/test").c_str()); //Для приема получения work и подтверждения связи (для приложения mqtt IOT MQTT Panel)
client.subscribe((prefix + "/ids").c_str()); // Подписываемся на топики ids
sendMQTT("test", "work");
//sendMQTT("test", "work");
Serial.println("[V] Callback set, subscribe done");
//web_print("Callback set, subscribe done");
//if (out_date_send) outcoming_date(); //отправляем данные в виджеты
return true;
} else {
Serial.println("[E] try again in " + String(wifi_mqtt_reconnecting / 1000) + " sec");
@@ -155,10 +154,10 @@ void outcoming_date() {
sendAllWigets();
sendAllData();
if (flagLoggingAnalog) sendLogData("log.analog.txt", "loganalog");
if (flagLoggingPh) sendLogData("log.ph.txt", "logph");
if (flagLoggingDallas) sendLogData("log.dallas.txt", "logdallas");
if (flagLoggingLevel) sendLogData("log.level.txt", "loglevel");
// if (flagLoggingAnalog) sendLogData("log.analog.txt", "loganalog");
// if (flagLoggingPh) sendLogData("log.ph.txt", "logph");
// if (flagLoggingDallas) sendLogData("log.dallas.txt", "logdallas");
// if (flagLoggingLevel) sendLogData("log.level.txt", "loglevel");
Serial.println("[V] Sending all date to iot manager completed");
@@ -241,7 +240,7 @@ void sendLogData(String file, String topic) {
while (log_date.length() != 0) {
String tmp = selectToMarker (log_date, "\n");
//sendSTATUS(topic, selectFromMarkerToMarker(tmp, " ", 2));
sendSTATUS(topic, selectFromMarkerToMarker(tmp, " ", 2));
if (tmp != "") sendSTATUS(topic, tmp);
log_date = deleteBeforeDelimiter(log_date, "\n");

BIN
pictures/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

5
set.h
View File

@@ -52,6 +52,7 @@ ESP8266HTTPUpdateServer httpUpdater;
#include <HTTPUpdate.h>
#include <HTTPClient.h>
//HTTPClient http;
#include <rom/rtc.h>
#endif
//==общие библиотеки и объекты==//
@@ -108,8 +109,8 @@ Adafruit_Si7021 sensor_Si7021 = Adafruit_Si7021();
const char* hostName = "IoT Manager";
String configSetup = "{}";
String configJson = "{}";
String configSetup = "{}"; //setup
String configJson = "{}"; //live
String optionJson = "{}";
String json = "{}";