iot manager ver 2.0

This commit is contained in:
Dmitry Borisenko
2020-02-04 03:09:08 +03:00
parent dce1fba36c
commit 4e211ecca5
10 changed files with 116 additions and 16 deletions

View File

@@ -54,10 +54,12 @@ void CMD_init() {
sCmd.addCommand("inputDate", inputDate); sCmd.addCommand("inputDate", inputDate);
sCmd.addCommand("inputDateSet", inputDateSet); sCmd.addCommand("inputDateSet", inputDateSet);
sCmd.addCommand("inputDate", inputDate);
//sCmd.addCommand("inputDropdown", inputDropdown); //sCmd.addCommand("inputDropdown", inputDropdown);
//=================================// //=================================//
} }
void inputNumber() { void inputNumber() {
@@ -116,6 +118,7 @@ void inputTimeSet() {
sendSTATUS("inputTimeSet" + number, value); sendSTATUS("inputTimeSet" + number, value);
} }
void inputDate() { void inputDate() {
String number = sCmd.next(); String number = sCmd.next();
String viget_name = sCmd.next(); String viget_name = sCmd.next();
@@ -176,8 +179,6 @@ void button() {
str = deleteBeforeDelimiter(str, ","); str = deleteBeforeDelimiter(str, ",");
} }
} }
createViget (viget_name, page_name, page_number, "vigets/viget.toggle.json", "buttonSet" + button_number); createViget (viget_name, page_name, page_number, "vigets/viget.toggle.json", "buttonSet" + button_number);
} }
@@ -491,7 +492,7 @@ void createViget (String viget_name, String page_name, String page_number, Stri
page_name.replace("#", " "); page_name.replace("#", " ");
jsonWrite(viget, "page", page_name); jsonWrite(viget, "page", page_name);
jsonWrite(viget, "id", page_number);//"pageId" jsonWrite(viget, "order", page_number);
jsonWrite(viget, "descr", viget_name); jsonWrite(viget, "descr", viget_name);
jsonWrite(viget, "topic", prex + "/" + topic); jsonWrite(viget, "topic", prex + "/" + topic);
all_vigets += viget + "\r\n"; all_vigets += viget + "\r\n";

View File

@@ -1,7 +1,6 @@
//=============================================================================================================================== //===============================================================================================================================
//=========================================Модуль аналогового сенсора============================================================ //=========================================Модуль аналогового сенсора============================================================
void analog() { void analog() {
static boolean flag = true; static boolean flag = true;
String viget_name = sCmd.next(); String viget_name = sCmd.next();
String page_name = sCmd.next(); String page_name = sCmd.next();
@@ -17,16 +16,13 @@ void analog() {
jsonWrite(optionJson, "analog_start_out", analog_start_out); jsonWrite(optionJson, "analog_start_out", analog_start_out);
jsonWrite(optionJson, "analog_end_out", analog_end_out); jsonWrite(optionJson, "analog_end_out", analog_end_out);
if (type == "text") createViget (viget_name, page_name, page_number, "vigets/viget.alertsm.json", "analog"); choose_viget_and_create(viget_name, page_name, page_number, type, "analog");
if (type == "gauge") createViget (viget_name, page_name, page_number, "vigets/viget.fillgauge.json", "analog");
if (type == "gauge2") createViget (viget_name, page_name, page_number, "vigets/viget.gauge.json", "analog", "maximum", analog_end_out);
if (type == "termometr") createViget (viget_name, page_name, page_number, "vigets/viget.termometr.json", "analog", "titleString", viget_name);
ts.add(ANALOG_, analog_update_int, [&](void*) { ts.add(ANALOG_, analog_update_int, [&](void*) {
static int analog_old; static int analog_old;
int analog_in = analogRead(35); int analog_in = analogRead(A0);
jsonWrite(configJson, "analog_in", analog_in); jsonWrite(configJson, "analog_in", analog_in);
int analog = map(analog_in, int analog = map(analog_in,
@@ -38,13 +34,13 @@ void analog() {
jsonWrite(configJson, "analog", analog); jsonWrite(configJson, "analog", analog);
// if (analog_old != analog) { // if (analog_old != analog) {
eventGen ("analog", ""); eventGen ("analog", "");
sendSTATUS("analog", String(analog)); sendSTATUS("analog", String(analog));
if (client.connected()) { if (client.connected()) {
Serial.println("[i] sensor analog send date " + String(analog)); Serial.println("[i] sensor analog send date " + String(analog));
} }
// } // }
analog_old = analog; analog_old = analog;
}, nullptr, true); }, nullptr, true);
} }
@@ -198,7 +194,6 @@ void dallas() {
jsonWrite(configJson, "dallas", String(temp)); jsonWrite(configJson, "dallas", String(temp));
//if (temp_old != temp) { //if (temp_old != temp) {
eventGen ("dallas", ""); eventGen ("dallas", "");
sendSTATUS("dallas", String(temp)); sendSTATUS("dallas", String(temp));
if (client.connected()) { if (client.connected()) {
@@ -210,6 +205,13 @@ void dallas() {
}, nullptr, true); }, nullptr, true);
} }
void choose_viget_and_create(String viget_name, String page_name, String page_number, String type, String topik) {
if (type == "progress-line") createViget (viget_name, page_name, page_number, "vigets/viget.progressL.json", topik);
if (type == "progress-round") createViget (viget_name, page_name, page_number,"vigets/viget.progressR.json", topik);
}
//====================================================================================================================== //======================================================================================================================
//===============================================Логирование============================================================ //===============================================Логирование============================================================

View File

@@ -3,3 +3,5 @@ inputNumber 2 Температура#минимальная moscow 30 2
inputText 1 Введите#текст moscow привет 3 inputText 1 Введите#текст moscow привет 3
inputTime 1 Введите#время moscow 12.00 4 inputTime 1 Введите#время moscow 12.00 4
inputDate 1 Введите#дату novorossiysk 10-01-2020 5 inputDate 1 Введите#дату novorossiysk 10-01-2020 5
button 1 na Включить#все Освещение 0 6
analog Аналоговый#вход,#% Датчики progress-line 1 1024 1 1024 6

View File

@@ -1 +1,7 @@
inputNumber 1 Температура#максимальная moscow 60 1
inputNumber 2 Температура#минимальная moscow 30 2
inputText 1 Введите#текст moscow привет 3
inputTime 1 Введите#время moscow 12.00 4
inputDate 1 Введите#дату novorossiysk 10-01-2020 5
button 1 na Включить#все Освещение 0 6
analog Аналоговый#вход,#% Датчики progress-line 1 1024 1 1024 7

View File

@@ -0,0 +1,12 @@
{
"widget" : "progress-line",
"icon" : "sunny",
"descrColor" : "",
"color" : "",
"max" : "100",
"background" : "",
"stroke" : "10",
"disabled" : "",
"before" : "",
"after" : ""
}

View File

@@ -0,0 +1,11 @@
{
"widget" : "progress-round",
"icon" : "globe",
"descrColor" : "orange",
"max" : "100",
"stroke" : "20",
"color" : "#45ccce",
"background": "#777",
"before" : "",
"after" : ""
}

View File

@@ -0,0 +1,9 @@
{
"widget" : "range",
"descrColor": "red",
"after" : "%",
"k" : 0.0977,
"min" : 10,
"max" : 90,
"debounce": 500
}

View File

@@ -0,0 +1,6 @@
{
"widget" : "toggle",
"icon" : "sunny",
"iconOff" : "moon",
}

View File

@@ -105,3 +105,55 @@ Toggle:
[icon]="item.icon" [icon]="item.icon"
[iconOff]="item.iconOff" [iconOff]="item.iconOff"
[disabled]="item.disabled" [disabled]="item.disabled"
<range
*ngIf="item.widget === 'range'"
[descr]="item.descr"
[descrColor]="item.descrColor"
[descrIcon]="item.descrIcon"
[color]="item.color"
[icon]="item.icon"
[licon]="item.licon"
[lsize]="item.lsize"
[rsize]="item.rsize"
[ricon]="item.ricon"
[min]="item.min"
[max]="item.max"
[topic]="item.topic"
[disabled]="item.disabled"
[debounce]="item.debounce"
[before]="item.before"
[status]="item.status"
[after]="item.after"
></range>
<progress-round
*ngIf="item.widget === 'progress-round'"
[descr]="item.descr"
[descrColor]="item.descrColor"
[color]="item.color"
[icon]="item.icon"
[max]="item.max"
[background]="item.background"
[stroke]="item.stroke"
[topic]="item.topic"
[disabled]="item.disabled"
[before]="item.before"
[status]="item.status"
[]="item.after"
></progress-round>
<progress-line
*ngIf="item.widget === 'progress-line'"
[descr]="item.descr"
[descrColor]="item.descrColor"
[color]="item.color"
[icon]="item.icon"
[max]="item.max"
[topic]="item.topic"
[disabled]="item.disabled"
[before]="item.before"
[status]="item.status"
[after]="item.after"
></progress-line>

View File

@@ -127,7 +127,6 @@ void callback(char* topic, byte* payload, unsigned int length) {
Serial.println(" => " + str); Serial.println(" => " + str);
if (str == "HELLO") outcoming_date(); if (str == "HELLO") outcoming_date();
//if (str == "work") outcoming_date(); //Для приема получения work и подтверждения связи (для приложения mqtt IOT MQTT Panel)
//превращает название топика в команду, а значение в параметр команды //превращает название топика в команду, а значение в параметр команды