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("inputDateSet", inputDateSet);
sCmd.addCommand("inputDate", inputDate);
//sCmd.addCommand("inputDropdown", inputDropdown);
//=================================//
}
void inputNumber() {
@@ -116,6 +118,7 @@ void inputTimeSet() {
sendSTATUS("inputTimeSet" + number, value);
}
void inputDate() {
String number = sCmd.next();
String viget_name = sCmd.next();
@@ -176,8 +179,6 @@ void button() {
str = deleteBeforeDelimiter(str, ",");
}
}
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("#", " ");
jsonWrite(viget, "page", page_name);
jsonWrite(viget, "id", page_number);//"pageId"
jsonWrite(viget, "order", page_number);
jsonWrite(viget, "descr", viget_name);
jsonWrite(viget, "topic", prex + "/" + topic);
all_vigets += viget + "\r\n";

View File

@@ -1,7 +1,6 @@
//===============================================================================================================================
//=========================================Модуль аналогового сенсора============================================================
void analog() {
static boolean flag = true;
String viget_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_end_out", analog_end_out);
if (type == "text") createViget (viget_name, page_name, page_number, "vigets/viget.alertsm.json", "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);
choose_viget_and_create(viget_name, page_name, page_number, type, "analog");
ts.add(ANALOG_, analog_update_int, [&](void*) {
static int analog_old;
int analog_in = analogRead(35);
int analog_in = analogRead(A0);
jsonWrite(configJson, "analog_in", analog_in);
int analog = map(analog_in,
@@ -38,13 +34,13 @@ void analog() {
jsonWrite(configJson, "analog", analog);
// if (analog_old != analog) {
eventGen ("analog", "");
sendSTATUS("analog", String(analog));
if (client.connected()) {
Serial.println("[i] sensor analog send date " + String(analog));
}
// }
analog_old = analog;
}, nullptr, true);
}
@@ -198,7 +194,6 @@ void dallas() {
jsonWrite(configJson, "dallas", String(temp));
//if (temp_old != temp) {
eventGen ("dallas", "");
sendSTATUS("dallas", String(temp));
if (client.connected()) {
@@ -210,6 +205,13 @@ void dallas() {
}, 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

@@ -2,4 +2,6 @@ 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
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

@@ -104,4 +104,56 @@ Toggle:
[status]="item.status"
[icon]="item.icon"
[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);
if (str == "HELLO") outcoming_date();
//if (str == "work") outcoming_date(); //Для приема получения work и подтверждения связи (для приложения mqtt IOT MQTT Panel)
//превращает название топика в команду, а значение в параметр команды