mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
fuking bugs fixed!
This commit is contained in:
2
Cmd.ino
2
Cmd.ino
@@ -342,6 +342,7 @@ void stepperSet() {
|
|||||||
count++;
|
count++;
|
||||||
String pin_step = selectToMarker (jsonRead(optionJson, "stepper1"), " ");
|
String pin_step = selectToMarker (jsonRead(optionJson, "stepper1"), " ");
|
||||||
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
|
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
|
||||||
|
yield();
|
||||||
if (count > steps_int) {
|
if (count > steps_int) {
|
||||||
digitalWrite(pin_step.toInt(), LOW);
|
digitalWrite(pin_step.toInt(), LOW);
|
||||||
ts.remove(STEPPER1);
|
ts.remove(STEPPER1);
|
||||||
@@ -356,6 +357,7 @@ void stepperSet() {
|
|||||||
count++;
|
count++;
|
||||||
String pin_step = selectToMarker (jsonRead(optionJson, "stepper2"), " ");
|
String pin_step = selectToMarker (jsonRead(optionJson, "stepper2"), " ");
|
||||||
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
|
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
|
||||||
|
yield();
|
||||||
if (count > steps_int) {
|
if (count > steps_int) {
|
||||||
digitalWrite(pin_step.toInt(), LOW);
|
digitalWrite(pin_step.toInt(), LOW);
|
||||||
ts.remove(STEPPER2);
|
ts.remove(STEPPER2);
|
||||||
|
|||||||
5
Init.ino
5
Init.ino
@@ -199,13 +199,14 @@ void statistics() {
|
|||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
urls += ESP.getResetReason();
|
urls += ESP.getResetReason();
|
||||||
|
Serial.println(ESP.getResetReason());
|
||||||
#endif
|
#endif
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
urls += "Unknown";
|
urls += "Power on";
|
||||||
#endif
|
#endif
|
||||||
urls += "&";
|
urls += "&";
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
urls += "firm version: " + firmware_version + " " + DATE_COMPILING + " " + TIME_COMPILING;
|
urls += "ver: " + firmware_version; // + " " + DATE_COMPILING + " " + TIME_COMPILING;
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
String stat = getURL(urls);
|
String stat = getURL(urls);
|
||||||
//Serial.println(stat);
|
//Serial.println(stat);
|
||||||
|
|||||||
@@ -7,15 +7,15 @@ void logging() {
|
|||||||
String period_min = sCmd.next();
|
String period_min = sCmd.next();
|
||||||
String maxCount = sCmd.next();
|
String maxCount = sCmd.next();
|
||||||
|
|
||||||
String optimozation = sCmd.next();
|
String optimization = sCmd.next();
|
||||||
|
|
||||||
String widget_name = sCmd.next();
|
String widget_name = sCmd.next();
|
||||||
widget_name.replace("#", " ");
|
widget_name.replace("#", " ");
|
||||||
String page_name = sCmd.next();
|
String page_name = sCmd.next();
|
||||||
String page_number = sCmd.next();
|
String page_number = sCmd.next();
|
||||||
|
|
||||||
if (optimozation == "fast") chart_data_in_solid_array = true;
|
if (optimization == "fast") chart_data_in_solid_array = true;
|
||||||
if (optimozation == "slow") chart_data_in_solid_array = false;
|
if (optimization == "slow") chart_data_in_solid_array = false;
|
||||||
|
|
||||||
if (sensor_name == "analog") jsonWriteStr(optionJson, "analog_logging_count", maxCount);
|
if (sensor_name == "analog") jsonWriteStr(optionJson, "analog_logging_count", maxCount);
|
||||||
if (sensor_name == "level") jsonWriteStr(optionJson, "level_logging_count", maxCount);
|
if (sensor_name == "level") jsonWriteStr(optionJson, "level_logging_count", maxCount);
|
||||||
|
|||||||
20
Upgrade.ino
20
Upgrade.ino
@@ -22,8 +22,8 @@ void initUpgrade() {
|
|||||||
if (last_version == firmware_version) {
|
if (last_version == firmware_version) {
|
||||||
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Последняя версия прошивки уже установлена.");
|
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Последняя версия прошивки уже установлена.");
|
||||||
jsonWriteStr(tmp, "class", "pop-up");
|
jsonWriteStr(tmp, "class", "pop-up");
|
||||||
} else {
|
} else {
|
||||||
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Имеется новая версия прошивки<a href=\"#\" class=\"btn btn-block btn-danger\" onclick=\"send_request(this, '/upgrade');setTimeout(function(){ location.href='/'; }, 90000);html('my-block','<span class=loader></span>Идет обновление прошивки, после обновления страница перезагрузится автоматически...')\">Установить</a>");
|
jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Имеется новая версия прошивки<a href=\"#\" class=\"btn btn-block btn-danger\" onclick=\"send_request(this, '/upgrade');setTimeout(function(){ location.href='/'; }, 120000);html('my-block','<span class=loader></span>Идет обновление прошивки, после обновления страница перезагрузится автоматически...')\">Установить</a>");
|
||||||
jsonWriteStr(tmp, "class", "pop-up");
|
jsonWriteStr(tmp, "class", "pop-up");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -46,10 +46,9 @@ void initUpgrade() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
server.on("/upgrade", HTTP_GET, [](AsyncWebServerRequest * request) {
|
server.on("/upgrade", HTTP_GET, [](AsyncWebServerRequest * request) {
|
||||||
upgrade = true;
|
upgrade = true;
|
||||||
String tmp = "{}";
|
String tmp = "{}";
|
||||||
//jsonWriteStr(tmp, "title", "<button class=\"close\" onclick=\"toggle('my-block')\">×</button>Есть новая версия <a href=\"#\" onclick=\"setTimeout(function(){ location.href='/'; }, 5000);}\">Установить?</a>");
|
request->send(200, "text/text", "ok");
|
||||||
request->send(200, "text/text", "ok");
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,8 +71,8 @@ void upgrade_firmware() {
|
|||||||
String scenario_for_update;
|
String scenario_for_update;
|
||||||
String config_for_update;
|
String config_for_update;
|
||||||
String configSetup_for_update;
|
String configSetup_for_update;
|
||||||
scenario_for_update = readFile("firmware.s.txt", 3072);
|
scenario_for_update = readFile("firmware.s.txt", 4000);
|
||||||
config_for_update = readFile("firmware.c.txt", 3072);
|
config_for_update = readFile("firmware.c.txt", 4000);
|
||||||
configSetup_for_update = configSetup;
|
configSetup_for_update = configSetup;
|
||||||
|
|
||||||
Serial.println("Start upgrade SPIFFS, please wait...");
|
Serial.println("Start upgrade SPIFFS, please wait...");
|
||||||
@@ -109,10 +108,15 @@ void upgrade_firmware() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (ret == HTTP_UPDATE_OK) {
|
if (ret == HTTP_UPDATE_OK) {
|
||||||
|
|
||||||
Serial.println("BUILD upgrade done!");
|
Serial.println("BUILD upgrade done!");
|
||||||
Serial.println("Restart ESP....");
|
Serial.println("Restart ESP....");
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
|
} else {
|
||||||
|
Serial.println("!!!!BUILD upgrade ERROR");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
Serial.println("!!!!SPIFFS upgrade ERROR");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
"ssid": "rise",
|
"ssid": "rise",
|
||||||
"password": "hostel3333",
|
"password": "hostel3333",
|
||||||
"timezone": 2,
|
"timezone": 2,
|
||||||
"mqttServer": "mqtt.ioty.ru",
|
"mqttServer": "91.204.228.124",
|
||||||
"mqttPort": 1883,
|
"mqttPort": 1883,
|
||||||
"mqttPrefix": "/rise",
|
"mqttPrefix": "/rise",
|
||||||
"mqttUser": "test",
|
"mqttUser": "test",
|
||||||
"mqttPass": "test",
|
"mqttPass": "test",
|
||||||
"scenario": "1",
|
"scenario": "1",
|
||||||
"pushingbox_id": "",
|
"pushingbox_id": "v7C133E426B0C69E",
|
||||||
"web_login": "admin",
|
"web_login": "admin",
|
||||||
"web_pass": "admin"
|
"web_pass": "admin"
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
analog 0 Аналоговый#вход,#% Датчики progress-round 310 620 1 100 1
|
analog 0 Аналоговый#вход,#% Датчики progress-round 310 620 1 100 1
|
||||||
logging analog 5 100 slow Аналоговый#вход Датчики 2
|
logging analog 5 100 fast Аналоговый#вход Датчики 2
|
||||||
|
|
||||||
//если датчик углекислого газа выдает напряжение от 1 вольта до 2 вольт, то значит
|
//если датчик углекислого газа выдает напряжение от 1 вольта до 2 вольт, то значит
|
||||||
//значение чтения аналогового входа будут примерно равным
|
//значение чтения аналогового входа будут примерно равным
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
dallas 2 Водонагреватель,#t°C Датчики any-data 1
|
dallas 2 Водонагреватель,#t°C Датчики any-data 1
|
||||||
logging dallas 1 100 slow Температура Датчики 2
|
logging dallas 1 100 fast Температура Датчики 2
|
||||||
|
|
||||||
//2 - номер пина датчика
|
//2 - номер пина датчика
|
||||||
//варианты отображения: any-data, progress-round, progress-line, fill-gauge
|
//варианты отображения: any-data, progress-round, progress-line, fill-gauge
|
||||||
@@ -3,8 +3,8 @@ dhtH DHT11 2 Влажность#DHT,#% Датчики any-data 2
|
|||||||
dhtComfort Степень#комфорта: Датчики 3
|
dhtComfort Степень#комфорта: Датчики 3
|
||||||
dhtPerception Восприятие: Датчики 4
|
dhtPerception Восприятие: Датчики 4
|
||||||
dhtDewpoint Точка#росы: Датчики 5
|
dhtDewpoint Точка#росы: Датчики 5
|
||||||
logging dhtT 5 50 slow Температура Датчики 6
|
logging dhtT 5 50 fast Температура Датчики 6
|
||||||
logging dhtH 5 50 slow Влажность Датчики 7
|
logging dhtH 5 50 fast Влажность Датчики 7
|
||||||
|
|
||||||
//2 - номер пина датчика
|
//2 - номер пина датчика
|
||||||
//варианты отображения: any-data, progress-round, progress-line, fill-gauge
|
//варианты отображения: any-data, progress-round, progress-line, fill-gauge
|
||||||
@@ -3,8 +3,8 @@ dhtH DHT22 2 Влажность#DHT,#% Датчики any-data 2
|
|||||||
dhtComfort Степень#комфорта: Датчики 3
|
dhtComfort Степень#комфорта: Датчики 3
|
||||||
dhtPerception Восприятие: Датчики 4
|
dhtPerception Восприятие: Датчики 4
|
||||||
dhtDewpoint Точка#росы: Датчики 5
|
dhtDewpoint Точка#росы: Датчики 5
|
||||||
logging dhtT 5 50 slow Температура Датчики 6
|
logging dhtT 5 50 fast Температура Датчики 6
|
||||||
logging dhtH 5 50 slow Влажность Датчики 7
|
logging dhtH 5 50 fast Влажность Датчики 7
|
||||||
|
|
||||||
//2 - номер пина датчика
|
//2 - номер пина датчика
|
||||||
//варианты отображения: any-data, progress-round, progress-line, fill-gauge
|
//варианты отображения: any-data, progress-round, progress-line, fill-gauge
|
||||||
@@ -4,9 +4,9 @@ button 3 14 Кухня Реле 0 3
|
|||||||
pwm 1 3 Яркость#коредор: Реле 1023 4
|
pwm 1 3 Яркость#коредор: Реле 1023 4
|
||||||
pwm 2 4 Яркость#ванная: Реле 510 5
|
pwm 2 4 Яркость#ванная: Реле 510 5
|
||||||
analog 0 Аналоговый#вход Датчики fill-gauge 1 1023 1 1023 6
|
analog 0 Аналоговый#вход Датчики fill-gauge 1 1023 1 1023 6
|
||||||
logging analog 1 100 slow Аналоговый#вход Датчики 7
|
logging analog 1 100 fast Аналоговый#вход Датчики 7
|
||||||
|
|
||||||
//Это демо конфигурация. В ней показано как связать кнопки c мощью сценариев
|
//Это демо конфигурация. В ней показано как связать кнопки c помощью сценариев
|
||||||
//Кнопка номер 1 связана с кнопкой 2, 3 и с pwm 2
|
//Кнопка номер 1 связана с кнопкой 2, 3 и с pwm 2
|
||||||
//Так же продемонстрированна система логгирования данных строкой logging
|
//Так же продемонстрированна система логгирования данных строкой logging
|
||||||
//1 - это интервал между точками в минутах, 100 это количество точек
|
//1 - это интервал между точками в минутах, 100 это количество точек
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ inputDigit digit1 При#скольки#выключить? Датчики 95 2
|
|||||||
inputDigit digit2 При#скольки#включить? Датчики 10 3
|
inputDigit digit2 При#скольки#включить? Датчики 10 3
|
||||||
button 1 5 Насос Датчики 0 4
|
button 1 5 Насос Датчики 0 4
|
||||||
button 2 line1,line2, Автоматический#режим Датчики 1 5
|
button 2 line1,line2, Автоматический#режим Датчики 1 5
|
||||||
logging level 1 100 slow Вода#в#баке Датчики 6
|
logging level 1 100 fast Вода#в#баке Датчики 6
|
||||||
|
|
||||||
//125 - это расстояние от датчика до дна бака в сантиметрах
|
//125 - это расстояние от датчика до дна бака в сантиметрах
|
||||||
//20 - это расстояние от датчика до поверхности воды когда бак полный в сантиметрах
|
//20 - это расстояние от датчика до поверхности воды когда бак полный в сантиметрах
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
dallas 2 Водонагреватель,#t°C Термостат any-data 1
|
dallas 2 Водонагреватель,#t°C Термостат any-data 1
|
||||||
logging dallas 5 100 slow Температура Термостат 2
|
logging dallas 5 100 fast Температура Термостат 2
|
||||||
inputDigit digit1 При#скольки#выключить? Термостат 40 3
|
inputDigit digit1 При#скольки#выключить? Термостат 40 3
|
||||||
inputDigit digit2 При#скольки#включить? Термостат 20 4
|
inputDigit digit2 При#скольки#включить? Термостат 20 4
|
||||||
button 1 5 Нагреватель Термостат 0 5
|
button 1 5 Нагреватель Термостат 0 5
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
"class": "btn btn-warning btn-lg",
|
"class": "btn btn-warning btn-lg",
|
||||||
"style": "display:inline",
|
"style": "display:inline",
|
||||||
"title": {
|
"title": {
|
||||||
"#": "Выбирите то, во что Вы хотите превратить ESP <span class=\"caret\"></span>",
|
"#": "Выбирите то, во что Вы хотите превратить это устройство <span class=\"caret\"></span>",
|
||||||
"/preset?arg=1": "1.Вкл. выкл. локального реле",
|
"/preset?arg=1": "1.Вкл. выкл. локального реле",
|
||||||
"/preset?arg=2": "2.Вкл. выкл. локального реле в определенное время",
|
"/preset?arg=2": "2.Вкл. выкл. локального реле в определенное время",
|
||||||
"/preset?arg=3": "3.Вкл. выкл. локального реле на определенный период времени",
|
"/preset?arg=3": "3.Вкл. выкл. локального реле на определенный период времени",
|
||||||
|
|||||||
@@ -52,6 +52,23 @@
|
|||||||
"class": "alert alert-warning",
|
"class": "alert alert-warning",
|
||||||
"title": "После нажатия на кнопку 'Переформировать список устройств' ждите примерно минуту, а затем обновите страницу и список появится вновь"
|
"title": "После нажатия на кнопку 'Переформировать список устройств' ждите примерно минуту, а затем обновите страницу и список появится вновь"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "h3",
|
||||||
|
"title": "Имя этого устройства:"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "input",
|
||||||
|
"title": "Имя устройства",
|
||||||
|
"name":"dev_name",
|
||||||
|
"state": "{{name}}",
|
||||||
|
"pattern": "[A-Za-z0-9]{6,12}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "button",
|
||||||
|
"title": "Сохранить",
|
||||||
|
"action": "name?arg=[[dev_name]]",
|
||||||
|
"class": "btn btn-block btn-success"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "hr"
|
"type": "hr"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ button 3 14 Кухня Реле 0 3
|
|||||||
pwm 1 3 Яркость#коредор: Реле 1023 4
|
pwm 1 3 Яркость#коредор: Реле 1023 4
|
||||||
pwm 2 4 Яркость#ванная: Реле 510 5
|
pwm 2 4 Яркость#ванная: Реле 510 5
|
||||||
analog 0 Аналоговый#вход Датчики fill-gauge 1 1023 1 1023 6
|
analog 0 Аналоговый#вход Датчики fill-gauge 1 1023 1 1023 6
|
||||||
logging analog 1 100 slow Аналоговый#вход Датчики 7
|
logging analog 1 100 fast Аналоговый#вход Датчики 7
|
||||||
|
|
||||||
//Это демо конфигурация. В ней показано как связать кнопки c мощью сценариев
|
//Это демо конфигурация. В ней показано как связать кнопки c помощью сценариев
|
||||||
//Кнопка номер 1 связана с кнопкой 2, 3 и с pwm 2
|
//Кнопка номер 1 связана с кнопкой 2, 3 и с pwm 2
|
||||||
//Так же продемонстрированна система логгирования данных строкой logging
|
//Так же продемонстрированна система логгирования данных строкой logging
|
||||||
//1 - это интервал между точками в минутах, 100 это количество точек
|
//1 - это интервал между точками в минутах, 100 это количество точек
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "h4",
|
"type": "h4",
|
||||||
"title": "SPIFFS version: 2.3.2"
|
"title": "SPIFFS version: 2.3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "hr"
|
"type": "hr"
|
||||||
|
|||||||
@@ -9,6 +9,11 @@
|
|||||||
"title": "{{name}}",
|
"title": "{{name}}",
|
||||||
"class": "alert-warning"
|
"class": "alert-warning"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"class": "alert alert-warning",
|
||||||
|
"title": "Обратите внимание что поле prefix может состоять только из одного слова и одного разделителя: <b>/your_prefix</b>, вариант вида: <b>/your_prefix1/your_prefix2</b> работать не будет. После изменения поля prefix необходимо перезагрузить устройство"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "h4",
|
"type": "h4",
|
||||||
"title": "Server name:"
|
"title": "Server name:"
|
||||||
@@ -68,7 +73,7 @@
|
|||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"class": "alert alert-warning",
|
"class": "alert alert-warning",
|
||||||
"title": "Прежде чем нажимать на кнопку 'Отправить настройки MQTT' сохрание их, если Вы их меняли. Настройки получат и перезапишут все устройства в локальной сети"
|
"title": "Прежде чем нажимать на кнопку <b>'Отправить настройки MQTT'</b> сохрание их, если Вы их меняли. Настройки получат и перезапишут все устройства в локальной сети"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "button",
|
"type": "button",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"title": "Имя устройства",
|
"title": "Имя устройства",
|
||||||
"name":"dev_name",
|
"name":"dev_name",
|
||||||
"state": "{{name}}",
|
"state": "{{name}}",
|
||||||
"pattern": "[0-9a-zA-Zа-яА-Я.\\- ]{1,20}"
|
"pattern": "[A-Za-z0-9]{6,12}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "button",
|
"type": "button",
|
||||||
|
|||||||
2
data_excess/.exclude.files
Normal file
2
data_excess/.exclude.files
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/*.js.gz
|
||||||
|
/.exclude.files
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
data_for_edit_for_esp32_ace.js.gz/ace.js.gz
Normal file
BIN
data_for_edit_for_esp32_ace.js.gz/ace.js.gz
Normal file
Binary file not shown.
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "IoTmanager",
|
|
||||||
"chipID": "",
|
|
||||||
"ssidAP": "WiFi",
|
|
||||||
"passwordAP": "",
|
|
||||||
"ssid": "rise",
|
|
||||||
"password": "hostel3333",
|
|
||||||
"timezone": 2,
|
|
||||||
"mqttServer": "mqtt.ioty.ru",
|
|
||||||
"mqttPort": 1883,
|
|
||||||
"mqttPrefix": "/rise",
|
|
||||||
"mqttUser": "test",
|
|
||||||
"mqttPass": "test",
|
|
||||||
"scenario": "1",
|
|
||||||
"pushingbox_id": "",
|
|
||||||
"web_login": "admin",
|
|
||||||
"web_pass": "admin"
|
|
||||||
}
|
|
||||||
@@ -25,10 +25,10 @@ void pushControl() {
|
|||||||
|
|
||||||
Serial.println("- starting client");
|
Serial.println("- starting client");
|
||||||
|
|
||||||
WiFiClient client;
|
WiFiClient client_push;
|
||||||
|
|
||||||
Serial.println("- connecting to pushing server: " + String(logServer));
|
Serial.println("- connecting to pushing server: " + String(logServer));
|
||||||
if (client.connect(logServer, 80)) {
|
if (client_push.connect(logServer, 80)) {
|
||||||
Serial.println("- succesfully connected");
|
Serial.println("- succesfully connected");
|
||||||
|
|
||||||
String postStr = "devid=";
|
String postStr = "devid=";
|
||||||
@@ -44,15 +44,15 @@ void pushControl() {
|
|||||||
|
|
||||||
Serial.println("- sending data...");
|
Serial.println("- sending data...");
|
||||||
|
|
||||||
client.print("POST /pushingbox HTTP/1.1\n");
|
client_push.print("POST /pushingbox HTTP/1.1\n");
|
||||||
client.print("Host: api.pushingbox.com\n");
|
client_push.print("Host: api.pushingbox.com\n");
|
||||||
client.print("Connection: close\n");
|
client_push.print("Connection: close\n");
|
||||||
client.print("Content-Type: application/x-www-form-urlencoded\n");
|
client_push.print("Content-Type: application/x-www-form-urlencoded\n");
|
||||||
client.print("Content-Length: ");
|
client_push.print("Content-Length: ");
|
||||||
client.print(postStr.length());
|
client_push.print(postStr.length());
|
||||||
client.print("\n\n");
|
client_push.print("\n\n");
|
||||||
client.print(postStr);
|
client_push.print(postStr);
|
||||||
}
|
}
|
||||||
client.stop();
|
client_push.stop();
|
||||||
Serial.println("- stopping the client");
|
Serial.println("- stopping the client");
|
||||||
}
|
}
|
||||||
|
|||||||
3
set.h
3
set.h
@@ -1,5 +1,5 @@
|
|||||||
//===============FIRMWARE SETTINGS=====================================
|
//===============FIRMWARE SETTINGS=====================================
|
||||||
String firmware_version = "2.3.2";
|
String firmware_version = "2.3.3";
|
||||||
boolean mb_4_of_memory = true;
|
boolean mb_4_of_memory = true;
|
||||||
//#define OTA_enable
|
//#define OTA_enable
|
||||||
//#define MDNS_enable
|
//#define MDNS_enable
|
||||||
@@ -151,3 +151,4 @@ IPAddress udp_multicastIP (239, 255, 255, 255);
|
|||||||
#endif
|
#endif
|
||||||
String received_ip;
|
String received_ip;
|
||||||
String received_udp_line;
|
String received_udp_line;
|
||||||
|
int udp_period;
|
||||||
|
|||||||
34
udp.ino
34
udp.ino
@@ -34,11 +34,14 @@ void UDP_init() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
handleUdp_esp32();
|
handleUdp_esp32();
|
||||||
|
|
||||||
ts.add(UDP, 30000, [&](void*) {
|
randomSeed(micros());
|
||||||
|
udp_period = random(20000, 40000);
|
||||||
|
|
||||||
|
ts.add(UDP, udp_period, [&](void*) {
|
||||||
if (WiFi.status() == WL_CONNECTED) {
|
if (WiFi.status() == WL_CONNECTED) {
|
||||||
if (!udp_busy) {
|
if (!udp_busy) {
|
||||||
String line_to_send = chipID + ";" + jsonRead(configSetup, "name");
|
String line_to_send = "iotm;" + chipID + ";" + jsonRead(configSetup, "name");
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
Udp.beginPacketMulticast(udp_multicastIP, udp_port, WiFi.localIP());
|
Udp.beginPacketMulticast(udp_multicastIP, udp_port, WiFi.localIP());
|
||||||
Udp.write(line_to_send.c_str());
|
Udp.write(line_to_send.c_str());
|
||||||
@@ -66,7 +69,14 @@ void handleUdp() {
|
|||||||
udp_incomingPacket[len] = 0;
|
udp_incomingPacket[len] = 0;
|
||||||
}
|
}
|
||||||
received_udp_line = String(udp_incomingPacket);
|
received_udp_line = String(udp_incomingPacket);
|
||||||
udp_data_parse = true;
|
|
||||||
|
if (received_udp_line.indexOf("iotm;") >= 0) {
|
||||||
|
udp_data_parse = true;
|
||||||
|
}
|
||||||
|
if (received_udp_line.indexOf("mqttServer") >= 0) {
|
||||||
|
udp_data_parse = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -78,7 +88,14 @@ void handleUdp_esp32() {
|
|||||||
udp.onPacket([](AsyncUDPPacket packet) {
|
udp.onPacket([](AsyncUDPPacket packet) {
|
||||||
received_udp_line = (char*)packet.data();
|
received_udp_line = (char*)packet.data();
|
||||||
received_ip = packet.remoteIP().toString();
|
received_ip = packet.remoteIP().toString();
|
||||||
udp_data_parse = true;
|
|
||||||
|
if (received_udp_line.indexOf("iotm;") >= 0) {
|
||||||
|
udp_data_parse = true;
|
||||||
|
}
|
||||||
|
if (received_udp_line.indexOf("mqttServer") >= 0) {
|
||||||
|
udp_data_parse = true;
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -90,7 +107,7 @@ void do_udp_data_parse() {
|
|||||||
Serial.print("[UDP=>] " + received_ip);
|
Serial.print("[UDP=>] " + received_ip);
|
||||||
Serial.print(" ");
|
Serial.print(" ");
|
||||||
Serial.println(received_udp_line);
|
Serial.println(received_udp_line);
|
||||||
if (received_udp_line.indexOf("mqttServer") > 0) {
|
if (received_udp_line.indexOf("mqttServer") >= 0) {
|
||||||
jsonWriteStr(configSetup, "mqttServer", jsonRead(received_udp_line, "mqttServer"));
|
jsonWriteStr(configSetup, "mqttServer", jsonRead(received_udp_line, "mqttServer"));
|
||||||
jsonWriteInt(configSetup, "mqttPort", jsonReadtoInt(received_udp_line, "mqttPort"));
|
jsonWriteInt(configSetup, "mqttPort", jsonReadtoInt(received_udp_line, "mqttPort"));
|
||||||
jsonWriteStr(configSetup, "mqttPrefix", jsonRead(received_udp_line, "mqttPrefix"));
|
jsonWriteStr(configSetup, "mqttPrefix", jsonRead(received_udp_line, "mqttPrefix"));
|
||||||
@@ -99,8 +116,9 @@ void do_udp_data_parse() {
|
|||||||
saveConfig();
|
saveConfig();
|
||||||
Serial.println("[V] new mqtt setting received from udp and saved");
|
Serial.println("[V] new mqtt setting received from udp and saved");
|
||||||
mqtt_connection = true;
|
mqtt_connection = true;
|
||||||
} else {
|
}
|
||||||
add_dev_in_list("dev.csv", selectFromMarkerToMarker(received_udp_line, ";", 0), selectFromMarkerToMarker(received_udp_line, ";", 1), received_ip);
|
if (received_udp_line.indexOf("iotm;") >= 0) {
|
||||||
|
add_dev_in_list("dev.csv", selectFromMarkerToMarker(received_udp_line, ";", 1), selectFromMarkerToMarker(received_udp_line, ";", 2), received_ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user