mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
Var changes
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#include "Cmd.h"
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "Class/NotAsinc.h"
|
||||
#include "Global.h"
|
||||
#include "Module/Terminal.h"
|
||||
@@ -31,7 +31,7 @@ void cmd_init() {
|
||||
|
||||
sCmd.addCommand("analog-adc", analogAdc);
|
||||
sCmd.addCommand("ultrasonicCm", ultrasonicCm);
|
||||
|
||||
sCmd.addCommand("dallas-temp", dallasTemp);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4,21 +4,13 @@
|
||||
AsyncWebSocket ws;
|
||||
//AsyncEventSource events;
|
||||
#endif
|
||||
|
||||
Clock* timeNow;
|
||||
|
||||
TickerScheduler ts(TEST + 1);
|
||||
|
||||
WiFiClient espClient;
|
||||
|
||||
PubSubClient mqtt(espClient);
|
||||
|
||||
StringCommand sCmd;
|
||||
|
||||
AsyncWebServer server(80);
|
||||
|
||||
OneWire *oneWire;
|
||||
|
||||
DallasTemperature sensors;
|
||||
|
||||
/*
|
||||
@@ -35,9 +27,7 @@ String configOptionJson = "{}";
|
||||
// Mqtt
|
||||
String chipId = "";
|
||||
String prex = "";
|
||||
|
||||
String all_widgets = "";
|
||||
|
||||
String scenario = "";
|
||||
|
||||
//orders and events
|
||||
@@ -48,57 +38,19 @@ String itemsFile = "";
|
||||
String itemsLine = "";
|
||||
|
||||
// Sensors
|
||||
int8_t dallasEnterCounter = -1;
|
||||
String sensorReadingMap;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
String analog_value_names_list;
|
||||
int enter_to_analog_counter;
|
||||
|
||||
String dallas_value_name;
|
||||
int enter_to_dallas_counter;
|
||||
|
||||
String levelPr_value_name;
|
||||
String ultrasonicCm_value_name;
|
||||
|
||||
String dhtT_value_name;
|
||||
String dhtH_value_name;
|
||||
|
||||
String bmp280T_value_name;
|
||||
String bmp280P_value_name;
|
||||
|
||||
String bme280T_value_name;
|
||||
String bme280P_value_name;
|
||||
String bme280H_value_name;
|
||||
String bme280A_value_name;
|
||||
|
||||
int sensors_reading_map[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
// Logging
|
||||
String logging_value_names_list;
|
||||
int enter_to_logging_counter;
|
||||
|
||||
// Scenario
|
||||
int scenario_line_status[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
||||
|
||||
String lastVersion = "";
|
||||
|
||||
// Async actions
|
||||
boolean checkUpdatesFlag = false;
|
||||
boolean updateFlag = false;
|
||||
|
||||
boolean mqttParamsChanged = false;
|
||||
boolean udp_data_parse = false;
|
||||
boolean mqtt_send_settings_to_udp = false;
|
||||
|
||||
BusScanner_t busToScan;
|
||||
|
||||
boolean busScanFlag = false;
|
||||
boolean fsCheckFlag = false;
|
||||
boolean delElementFlag = false;
|
||||
boolean getJsonListFromCsvFlag = false;
|
||||
|
||||
String csvFile = "";
|
||||
int colum;
|
||||
36
src/Init.cpp
36
src/Init.cpp
@@ -37,25 +37,25 @@ void Device_init() {
|
||||
|
||||
|
||||
enter_to_logging_counter = LOG1 - 1;
|
||||
analog_value_names_list = "";
|
||||
enter_to_analog_counter = 0;
|
||||
dallas_value_name = "";
|
||||
enter_to_dallas_counter = 0;
|
||||
levelPr_value_name = "";
|
||||
ultrasonicCm_value_name = "";
|
||||
dhtT_value_name = "";
|
||||
dhtH_value_name = "";
|
||||
bmp280T_value_name = "";
|
||||
bmp280P_value_name = "";
|
||||
bme280T_value_name = "";
|
||||
bme280P_value_name = "";
|
||||
bme280H_value_name = "";
|
||||
bme280A_value_name = "";
|
||||
//analog_value_names_list = "";
|
||||
//enter_to_analog_counter = 0;
|
||||
//dallas_value_name = "";
|
||||
//enter_to_dallas_counter = 0;
|
||||
//levelPr_value_name = "";
|
||||
//ultrasonicCm_value_name = "";
|
||||
//dhtT_value_name = "";
|
||||
//dhtH_value_name = "";
|
||||
//bmp280T_value_name = "";
|
||||
//bmp280P_value_name = "";
|
||||
//bme280T_value_name = "";
|
||||
//bme280P_value_name = "";
|
||||
//bme280H_value_name = "";
|
||||
//bme280A_value_name = "";
|
||||
|
||||
int array_sz = sizeof(sensors_reading_map) / sizeof(sensors_reading_map[0]);
|
||||
for (int i = 0; i < array_sz; i++) {
|
||||
sensors_reading_map[i] = 0;
|
||||
}
|
||||
//int array_sz = sizeof(sensors_reading_map) / sizeof(sensors_reading_map[0]);
|
||||
//for (int i = 0; i < array_sz; i++) {
|
||||
// sensors_reading_map[i] = 0;
|
||||
//}
|
||||
|
||||
for (int i = LOG1; i <= LOG5; i++) {
|
||||
ts.remove(i);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#ifdef SSDP
|
||||
#ifdef ESP8266
|
||||
#include <ESP8266SSDP.h>
|
||||
#endif
|
||||
@@ -52,4 +53,5 @@ String decToHex(uint32_t decValue, byte desiredStringLength) {
|
||||
String hexString = String(decValue, HEX);
|
||||
while (hexString.length() < desiredStringLength) hexString = "0" + hexString;
|
||||
return hexString;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
160
src/Sensors.cpp
160
src/Sensors.cpp
@@ -33,46 +33,6 @@ void sensorsInit() {
|
||||
|
||||
|
||||
|
||||
|
||||
//=========================================================================================================================================
|
||||
//=========================================Модуль температурного сенсора ds18b20===========================================================
|
||||
#ifdef DALLAS_ENABLED
|
||||
//dallas temp1 2 1 Температура Датчики anydata 1
|
||||
//dallas temp2 2 2 Температура Датчики anydata 2
|
||||
void dallas() {
|
||||
String value_name = sCmd.next();
|
||||
String pin = sCmd.next();
|
||||
String address = sCmd.next();
|
||||
jsonWriteStr(configOptionJson, value_name + "_ds", address);
|
||||
String widget_name = sCmd.next();
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
oneWire = new OneWire((uint8_t)pin.toInt());
|
||||
sensors.setOneWire(oneWire);
|
||||
sensors.begin();
|
||||
sensors.setResolution(12);
|
||||
dallas_value_name += value_name + ";";
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
sensors_reading_map[3] = 1;
|
||||
}
|
||||
|
||||
void dallas_reading() {
|
||||
float temp = 0;
|
||||
byte num = sensors.getDS18Count();
|
||||
String dallas_value_name_tmp_buf = dallas_value_name;
|
||||
sensors.requestTemperatures();
|
||||
for (byte i = 0; i < num; i++) {
|
||||
temp = sensors.getTempCByIndex(i);
|
||||
String buf = selectToMarker(dallas_value_name_tmp_buf, ";");
|
||||
dallas_value_name_tmp_buf = deleteBeforeDelimiter(dallas_value_name_tmp_buf, ";");
|
||||
jsonWriteStr(configLiveJson, buf, String(temp));
|
||||
eventGen(buf, "");
|
||||
MqttClient::publishStatus(buf, String(temp));
|
||||
Serial.println("[I] sensor '" + buf + "' send date " + String(temp));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
//=========================================================================================================================================
|
||||
//=========================================Модуль сенсоров DHT=============================================================================
|
||||
#ifdef DHT_ENABLED
|
||||
@@ -85,7 +45,7 @@ void dhtT() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
dhtT_value_name = value_name;
|
||||
//dhtT_value_name = value_name;
|
||||
if (sensor_type == "dht11") {
|
||||
dht.setup(pin.toInt(), DHTesp::DHT11);
|
||||
}
|
||||
@@ -93,23 +53,23 @@ void dhtT() {
|
||||
dht.setup(pin.toInt(), DHTesp::DHT22);
|
||||
}
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
sensors_reading_map[4] = 1;
|
||||
//sensors_reading_map[4] = 1;
|
||||
}
|
||||
|
||||
void dhtT_reading() {
|
||||
float value = 0;
|
||||
static int counter;
|
||||
if (dht.getStatus() != 0 && counter < 5) {
|
||||
MqttClient::publishStatus(dhtT_value_name, String(dht.getStatusString()));
|
||||
//MqttClient::publishStatus(dhtT_value_name, String(dht.getStatusString()));
|
||||
counter++;
|
||||
} else {
|
||||
counter = 0;
|
||||
value = dht.getTemperature();
|
||||
if (String(value) != "nan") {
|
||||
eventGen(dhtT_value_name, "");
|
||||
jsonWriteStr(configLiveJson, dhtT_value_name, String(value));
|
||||
MqttClient::publishStatus(dhtT_value_name, String(value));
|
||||
Serial.println("[I] sensor '" + dhtT_value_name + "' data: " + String(value));
|
||||
//eventGen(dhtT_value_name, "");
|
||||
//jsonWriteStr(configLiveJson, dhtT_value_name, String(value));
|
||||
//MqttClient::publishStatus(dhtT_value_name, String(value));
|
||||
//Serial.println("[I] sensor '" + dhtT_value_name + "' data: " + String(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -123,7 +83,7 @@ void dhtH() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
dhtH_value_name = value_name;
|
||||
//dhtH_value_name = value_name;
|
||||
if (sensor_type == "dht11") {
|
||||
dht.setup(pin.toInt(), DHTesp::DHT11);
|
||||
}
|
||||
@@ -131,23 +91,23 @@ void dhtH() {
|
||||
dht.setup(pin.toInt(), DHTesp::DHT22);
|
||||
}
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
sensors_reading_map[5] = 1;
|
||||
//sensors_reading_map[5] = 1;
|
||||
}
|
||||
|
||||
void dhtH_reading() {
|
||||
float value = 0;
|
||||
static int counter;
|
||||
if (dht.getStatus() != 0 && counter < 5) {
|
||||
MqttClient::publishStatus(dhtH_value_name, String(dht.getStatusString()));
|
||||
//MqttClient::publishStatus(dhtH_value_name, String(dht.getStatusString()));
|
||||
counter++;
|
||||
} else {
|
||||
counter = 0;
|
||||
value = dht.getHumidity();
|
||||
if (String(value) != "nan") {
|
||||
eventGen(dhtH_value_name, "");
|
||||
jsonWriteStr(configLiveJson, dhtH_value_name, String(value));
|
||||
MqttClient::publishStatus(dhtH_value_name, String(value));
|
||||
Serial.println("[I] sensor '" + dhtH_value_name + "' data: " + String(value));
|
||||
//eventGen(dhtH_value_name, "");
|
||||
//jsonWriteStr(configLiveJson, dhtH_value_name, String(value));
|
||||
//MqttClient::publishStatus(dhtH_value_name, String(value));
|
||||
//Serial.println("[I] sensor '" + dhtH_value_name + "' data: " + String(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -158,7 +118,7 @@ void dhtP() {
|
||||
String page_name = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
createWidgetByType(widget_name, page_name, page_number, "any-data", "dhtPerception");
|
||||
sensors_reading_map[6] = 1;
|
||||
//sensors_reading_map[6] = 1;
|
||||
}
|
||||
|
||||
void dhtP_reading() {
|
||||
@@ -166,7 +126,7 @@ void dhtP_reading() {
|
||||
if (dht.getStatus() != 0) {
|
||||
MqttClient::publishStatus("dhtPerception", String(dht.getStatusString()));
|
||||
} else {
|
||||
value = dht.computePerception(jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
//value = dht.computePerception(jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
String final_line = perceptionStr(value);
|
||||
jsonWriteStr(configLiveJson, "dhtPerception", final_line);
|
||||
eventGen("dhtPerception", "");
|
||||
@@ -183,7 +143,7 @@ void dhtC() {
|
||||
String page_name = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
createWidgetByType(widget_name, page_name, page_number, "anydata", "dhtComfort");
|
||||
sensors_reading_map[7] = 1;
|
||||
//sensors_reading_map[7] = 1;
|
||||
}
|
||||
|
||||
void dhtC_reading() {
|
||||
@@ -191,7 +151,7 @@ void dhtC_reading() {
|
||||
if (dht.getStatus() != 0) {
|
||||
MqttClient::publishStatus("dhtComfort", String(dht.getStatusString()));
|
||||
} else {
|
||||
dht.getComfortRatio(cf, jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
//dht.getComfortRatio(cf, jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
String final_line = comfortStr(cf);
|
||||
jsonWriteStr(configLiveJson, "dhtComfort", final_line);
|
||||
eventGen("dhtComfort", "");
|
||||
@@ -276,7 +236,7 @@ void dhtD() {
|
||||
String page_name = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
createWidgetByType(widget_name, page_name, page_number, "anydata", "dhtDewpoint");
|
||||
sensors_reading_map[8] = 1;
|
||||
//sensors_reading_map[8] = 1;
|
||||
}
|
||||
|
||||
void dhtD_reading() {
|
||||
@@ -284,7 +244,7 @@ void dhtD_reading() {
|
||||
if (dht.getStatus() != 0) {
|
||||
MqttClient::publishStatus("dhtDewpoint", String(dht.getStatusString()));
|
||||
} else {
|
||||
value = dht.computeDewPoint(jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
//value = dht.computeDewPoint(jsonReadStr(configLiveJson, dhtT_value_name).toFloat(), jsonReadStr(configLiveJson, dhtH_value_name).toFloat(), false);
|
||||
jsonWriteInt(configLiveJson, "dhtDewpoint", value);
|
||||
eventGen("dhtDewpoint", "");
|
||||
MqttClient::publishStatus("dhtDewpoint", String(value));
|
||||
@@ -304,7 +264,7 @@ void bmp280T() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
bmp280T_value_name = value_name;
|
||||
//bmp280T_value_name = value_name;
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
bmp.begin(hexStringToUint8(address));
|
||||
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
|
||||
@@ -313,7 +273,7 @@ void bmp280T() {
|
||||
Adafruit_BMP280::FILTER_X16, /* Filtering. */
|
||||
Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
|
||||
//bmp_temp->printSensorDetails();
|
||||
sensors_reading_map[9] = 1;
|
||||
//sensors_reading_map[9] = 1;
|
||||
}
|
||||
|
||||
void bmp280T_reading() {
|
||||
@@ -321,10 +281,10 @@ void bmp280T_reading() {
|
||||
sensors_event_t temp_event;
|
||||
bmp_temp->getEvent(&temp_event);
|
||||
value = temp_event.temperature;
|
||||
jsonWriteStr(configLiveJson, bmp280T_value_name, String(value));
|
||||
eventGen(bmp280T_value_name, "");
|
||||
MqttClient::publishStatus(bmp280T_value_name, String(value));
|
||||
Serial.println("[I] sensor '" + bmp280T_value_name + "' data: " + String(value));
|
||||
//jsonWriteStr(configLiveJson, bmp280T_value_name, String(value));
|
||||
//eventGen(bmp280T_value_name, "");
|
||||
//MqttClient::publishStatus(bmp280T_value_name, String(value));
|
||||
//Serial.println("[I] sensor '" + bmp280T_value_name + "' data: " + String(value));
|
||||
}
|
||||
|
||||
//bmp280P press1 0x76 Давление#bmp280 Датчики any-data 2
|
||||
@@ -335,7 +295,7 @@ void bmp280P() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
bmp280P_value_name = value_name;
|
||||
//bmp280P_value_name = value_name;
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
bmp.begin(hexStringToUint8(address));
|
||||
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
|
||||
@@ -344,7 +304,7 @@ void bmp280P() {
|
||||
Adafruit_BMP280::FILTER_X16, /* Filtering. */
|
||||
Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
|
||||
//bmp_temp->printSensorDetails();
|
||||
sensors_reading_map[10] = 1;
|
||||
//sensors_reading_map[10] = 1;
|
||||
}
|
||||
|
||||
void bmp280P_reading() {
|
||||
@@ -353,10 +313,10 @@ void bmp280P_reading() {
|
||||
bmp_pressure->getEvent(&pressure_event);
|
||||
value = pressure_event.pressure;
|
||||
value = value / 1.333224;
|
||||
jsonWriteStr(configLiveJson, bmp280P_value_name, String(value));
|
||||
eventGen(bmp280P_value_name, "");
|
||||
MqttClient::publishStatus(bmp280P_value_name, String(value));
|
||||
Serial.println("[I] sensor '" + bmp280P_value_name + "' data: " + String(value));
|
||||
//jsonWriteStr(configLiveJson, bmp280P_value_name, String(value));
|
||||
//eventGen(bmp280P_value_name, "");
|
||||
//MqttClient::publishStatus(bmp280P_value_name, String(value));
|
||||
//Serial.println("[I] sensor '" + bmp280P_value_name + "' data: " + String(value));
|
||||
}
|
||||
|
||||
//=========================================================================================================================================
|
||||
@@ -369,19 +329,19 @@ void bme280T() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
bme280T_value_name = value_name;
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
bme.begin(hexStringToUint8(address));
|
||||
sensors_reading_map[11] = 1;
|
||||
//bme280T_value_name = value_name;
|
||||
//createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
//bme.begin(hexStringToUint8(address));
|
||||
//sensors_reading_map[11] = 1;
|
||||
}
|
||||
|
||||
void bme280T_reading() {
|
||||
float value = 0;
|
||||
value = bme.readTemperature();
|
||||
jsonWriteStr(configLiveJson, bme280T_value_name, String(value));
|
||||
eventGen(bme280T_value_name, "");
|
||||
MqttClient::publishStatus(bme280T_value_name, String(value));
|
||||
Serial.println("[I] sensor '" + bme280T_value_name + "' data: " + String(value));
|
||||
//jsonWriteStr(configLiveJson, bme280T_value_name, String(value));
|
||||
//eventGen(bme280T_value_name, "");
|
||||
//MqttClient::publishStatus(bme280T_value_name, String(value));
|
||||
//Serial.println("[I] sensor '" + bme280T_value_name + "' data: " + String(value));
|
||||
}
|
||||
|
||||
//bme280P pres1 0x76 Давление#bmp280 Датчики any-data 1
|
||||
@@ -392,20 +352,20 @@ void bme280P() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
bme280P_value_name = value_name;
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
bme.begin(hexStringToUint8(address));
|
||||
sensors_reading_map[12] = 1;
|
||||
//bme280P_value_name = value_name;
|
||||
//createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
//bme.begin(hexStringToUint8(address));
|
||||
//sensors_reading_map[12] = 1;
|
||||
}
|
||||
|
||||
void bme280P_reading() {
|
||||
float value = 0;
|
||||
value = bme.readPressure();
|
||||
value = value / 1.333224 / 100;
|
||||
jsonWriteStr(configLiveJson, bme280P_value_name, String(value));
|
||||
eventGen(bme280P_value_name, "");
|
||||
MqttClient::publishStatus(bme280P_value_name, String(value));
|
||||
Serial.println("[I] sensor '" + bme280P_value_name + "' data: " + String(value));
|
||||
//jsonWriteStr(configLiveJson, bme280P_value_name, String(value));
|
||||
//eventGen(bme280P_value_name, "");
|
||||
//MqttClient::publishStatus(bme280P_value_name, String(value));
|
||||
//Serial.println("[I] sensor '" + bme280P_value_name + "' data: " + String(value));
|
||||
}
|
||||
|
||||
//bme280H hum1 0x76 Влажность#bmp280 Датчики any-data 1
|
||||
@@ -416,19 +376,19 @@ void bme280H() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
bme280H_value_name = value_name;
|
||||
//bme280H_value_name = value_name;
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
bme.begin(hexStringToUint8(address));
|
||||
sensors_reading_map[13] = 1;
|
||||
//sensors_reading_map[13] = 1;
|
||||
}
|
||||
|
||||
void bme280H_reading() {
|
||||
float value = 0;
|
||||
value = bme.readHumidity();
|
||||
jsonWriteStr(configLiveJson, bme280H_value_name, String(value));
|
||||
eventGen(bme280H_value_name, "");
|
||||
MqttClient::publishStatus(bme280H_value_name, String(value));
|
||||
Serial.println("[I] sensor '" + bme280H_value_name + "' data: " + String(value));
|
||||
//jsonWriteStr(configLiveJson, bme280H_value_name, String(value));
|
||||
//eventGen(bme280H_value_name, "");
|
||||
//MqttClient::publishStatus(bme280H_value_name, String(value));
|
||||
//Serial.println("[I] sensor '" + bme280H_value_name + "' data: " + String(value));
|
||||
}
|
||||
|
||||
//bme280A altit1 0x76 Высота#bmp280 Датчики any-data 1
|
||||
@@ -439,19 +399,19 @@ void bme280A() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
bme280A_value_name = value_name;
|
||||
//bme280A_value_name = value_name;
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
bme.begin(hexStringToUint8(address));
|
||||
sensors_reading_map[14] = 1;
|
||||
//sensors_reading_map[14] = 1;
|
||||
}
|
||||
|
||||
void bme280A_reading() {
|
||||
float value = bme.readAltitude(1013.25);
|
||||
jsonWriteStr(configLiveJson, bme280A_value_name, String(value, 2));
|
||||
//jsonWriteStr(configLiveJson, bme280A_value_name, String(value, 2));
|
||||
|
||||
eventGen(bme280A_value_name, "");
|
||||
//eventGen(bme280A_value_name, "");
|
||||
|
||||
MqttClient::publishStatus(bme280A_value_name, String(value));
|
||||
//MqttClient::publishStatus(bme280A_value_name, String(value));
|
||||
|
||||
Serial.println("[I] sensor '" + bme280A_value_name + "' data: " + String(value));
|
||||
//Serial.println("[I] sensor '" + bme280A_value_name + "' data: " + String(value));
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/ButtonInClass.h"
|
||||
//==========================================Модуль физических кнопок========================================
|
||||
//button-in switch1 toggle Кнопки Свет 1 pin[2] db[20]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ButtonOutClass.h"
|
||||
|
||||
#include "items/ItemsGlobal.h"
|
||||
//==========================================Модуль кнопок===================================================
|
||||
//button-out light toggle Кнопки Свет 1 pin[12] inv[1] st[1]
|
||||
//==========================================================================================================
|
||||
@@ -10,22 +11,13 @@ void buttonOut() {
|
||||
String pin = myButtonOut.gpin();
|
||||
String inv = myButtonOut.ginv();
|
||||
sCmd.addCommand(key.c_str(), buttonOutSet);
|
||||
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
||||
jsonWriteStr(configOptionJson, key + "_inv", inv);
|
||||
myButtonOut.pinModeSet();
|
||||
myButtonOut.init();
|
||||
myButtonOut.pinStateSetDefault();
|
||||
myButtonOut.pinStateSetInvDefault();
|
||||
myButtonOut.clear();
|
||||
}
|
||||
|
||||
void buttonOutSet() {
|
||||
String key = sCmd.order();
|
||||
String state = sCmd.next();
|
||||
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
||||
String inv = jsonReadStr(configOptionJson, key + "_inv");
|
||||
if (inv == "") {
|
||||
myButtonOut.pinChange(key, pin, state, true);
|
||||
} else {
|
||||
myButtonOut.pinChange(key, pin, state, false);
|
||||
}
|
||||
myButtonOut.pinChange(key, state);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/InputClass.h"
|
||||
//==========================================Модуль ввода цифровых значений==================================
|
||||
//input-digit digit1 inputDigit Ввод Введите.цифру 4 st[60]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/InputClass.h"
|
||||
//==========================================Модуль ввода времени============================================
|
||||
//input-time time1 inputTime Ввод Введите.время 4 st[10-00-00]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/OutputTextClass.h"
|
||||
//===============================================Модуль вывода текста============================================
|
||||
//output-text;id;anydata;Вывод;Сигнализация;order;st[Обнаружено.движение]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/PwmOutClass.h"
|
||||
//==========================================Модуль управления ШИМ===================================================
|
||||
//pwm-out volume range Кнопки Свет 1 pin[12] st[500]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/SensorAnalogClass.h"
|
||||
#ifdef ANALOG_ENABLED
|
||||
//==============================================Модуль аналогового сенсора===========================================================================================
|
||||
|
||||
20
src/items/SensorDallasClass.cpp
Normal file
20
src/items/SensorDallasClass.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/SensorDallasClass.h"
|
||||
//#ifdef SensorDallasEnabled
|
||||
//=========================================Модуль ультрозвукового дальномера==================================================================
|
||||
//dallas-temp;id;anydata;Сенсоры;Температура;order;pin;c[1]
|
||||
//=========================================================================================================================================
|
||||
SensorDallasClass mySensorDallas;
|
||||
void dallasTemp() {
|
||||
mySensorDallas.update();
|
||||
String key = mySensorDallas.gkey();
|
||||
sCmd.addCommand(key.c_str(), dallasReading);
|
||||
mySensorDallas.SensorDallasInit();
|
||||
mySensorDallas.clear();
|
||||
}
|
||||
|
||||
void dallasReading() {
|
||||
String key = sCmd.order();
|
||||
mySensorDallas.SensorDallasRead(key);
|
||||
}
|
||||
//#endif
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "items/itemsGlobal.h"
|
||||
#include "items/ItemsGlobal.h"
|
||||
#include "items/SensorUltrasonicClass.h"
|
||||
//#ifdef LEVEL_ENABLED
|
||||
//#ifdef SensorUltrasonicEnabled
|
||||
//=========================================Модуль ультрозвукового дальномера==================================================================
|
||||
//ultrasonic-cm;id;anydata;Сенсоры;Расстояние;order;pin[12,13];map[1,100,1,100];c[1]
|
||||
//=========================================================================================================================================
|
||||
@@ -9,94 +9,13 @@ void ultrasonicCm() {
|
||||
mySensorUltrasonic.update();
|
||||
String key = mySensorUltrasonic.gkey();
|
||||
String pin = mySensorUltrasonic.gpin();
|
||||
String trig = selectFromMarkerToMarker(pin, ",", 0);
|
||||
String echo = selectFromMarkerToMarker(pin, ",", 1);
|
||||
sCmd.addCommand(key.c_str(), ultrasonicReading);
|
||||
sensorReadingMap += key + ",";
|
||||
jsonWriteStr(configOptionJson, key + "_trig", trig);
|
||||
jsonWriteStr(configOptionJson, key + "_echo", echo);
|
||||
jsonWriteStr(configOptionJson, key + "_map", mySensorUltrasonic.gmap());
|
||||
jsonWriteStr(configOptionJson, key + "_с", mySensorUltrasonic.gc());
|
||||
mySensorUltrasonic.init();
|
||||
mySensorUltrasonic.clear();
|
||||
}
|
||||
|
||||
void ultrasonicReading() {
|
||||
String key = sCmd.order();
|
||||
String trig = jsonReadStr(configOptionJson, key + "_trig");
|
||||
String echo = jsonReadStr(configOptionJson, key + "_echo");
|
||||
String pin = trig + "," + echo;
|
||||
mySensorUltrasonic.SensorUltrasonicRead(key, pin);
|
||||
mySensorUltrasonic.SensorUltrasonicRead(key);
|
||||
}
|
||||
//#endif
|
||||
|
||||
//void levelPr() {
|
||||
// String value_name = sCmd.next();
|
||||
// String trig = sCmd.next();
|
||||
// String echo = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String empty_level = sCmd.next();
|
||||
// String full_level = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// levelPr_value_name = value_name;
|
||||
// jsonWriteStr(configOptionJson, "e_lev", empty_level);
|
||||
// jsonWriteStr(configOptionJson, "f_lev", full_level);
|
||||
// jsonWriteStr(configOptionJson, "trig", trig);
|
||||
// jsonWriteStr(configOptionJson, "echo", echo);
|
||||
// pinMode(trig.toInt(), OUTPUT);
|
||||
// pinMode(echo.toInt(), INPUT);
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// sensors_reading_map[0] = 1;
|
||||
//}
|
||||
////ultrasonicCm cm 14 12 Дистанция,#см Датчики fillgauge 1
|
||||
//void ultrasonicCm() {
|
||||
// String value_name = sCmd.next();
|
||||
// String trig = sCmd.next();
|
||||
// String echo = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String empty_level = sCmd.next();
|
||||
// String full_level = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// ultrasonicCm_value_name = value_name;
|
||||
// jsonWriteStr(configOptionJson, "trig", trig);
|
||||
// jsonWriteStr(configOptionJson, "echo", echo);
|
||||
// pinMode(trig.toInt(), OUTPUT);
|
||||
// pinMode(echo.toInt(), INPUT);
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// sensors_reading_map[0] = 1;
|
||||
//}
|
||||
//
|
||||
//void ultrasonic_reading() {
|
||||
// long duration_;
|
||||
// int distance_cm;
|
||||
// int level;
|
||||
// static int counter;
|
||||
// int trig = jsonReadInt(configOptionJson, "trig");
|
||||
// int echo = jsonReadInt(configOptionJson, "echo");
|
||||
// distance_cm = medianFilter.filtered(distance_cm); //отсечение промахов медианным фильтром
|
||||
// counter++;
|
||||
// if (counter > TANK_LEVEL_SAMPLES) {
|
||||
// counter = 0;
|
||||
// level = map(distance_cm,
|
||||
// jsonReadInt(configOptionJson, "e_lev"),
|
||||
// jsonReadInt(configOptionJson, "f_lev"), 0, 100);
|
||||
//
|
||||
// jsonWriteInt(configLiveJson, levelPr_value_name, level);
|
||||
// eventGen(levelPr_value_name, "");
|
||||
//
|
||||
// MqttClient::publishStatus(levelPr_value_name, String(level));
|
||||
//
|
||||
// Serial.println("[I] sensor '" + levelPr_value_name + "' data: " + String(level));
|
||||
//
|
||||
// jsonWriteInt(configLiveJson, ultrasonicCm_value_name, distance_cm);
|
||||
// eventGen(ultrasonicCm_value_name, "");
|
||||
//
|
||||
// MqttClient::publishStatus(ultrasonicCm_value_name, String(distance_cm));
|
||||
//
|
||||
// Serial.println("[I] sensor '" + ultrasonicCm_value_name + "' data: " + String(distance_cm));
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//#endif
|
||||
@@ -1,15 +1,16 @@
|
||||
|
||||
#include <SSDP.h>
|
||||
|
||||
#include "Class/CallBackTest.h"
|
||||
#include "Class/NotAsinc.h"
|
||||
#include "Class/ScenarioClass.h"
|
||||
#include "items/ButtonInClass.h"
|
||||
#include "Cmd.h"
|
||||
#include "Global.h"
|
||||
#include "Init.h"
|
||||
#include "ItemsList.h"
|
||||
#include "Utils/Timings.h"
|
||||
#include "Utils\WebUtils.h"
|
||||
#include "items/ButtonInClass.h"
|
||||
|
||||
void not_async_actions();
|
||||
|
||||
@@ -72,9 +73,10 @@ void setup() {
|
||||
pm.info("Broadcast UDP");
|
||||
udpInit();
|
||||
#endif
|
||||
|
||||
#ifdef SSDP
|
||||
pm.info("Ssdp Init");
|
||||
SsdpInit();
|
||||
#endif
|
||||
|
||||
ts.add(
|
||||
TEST, 1000 * 60, [&](void*) {
|
||||
|
||||
Reference in New Issue
Block a user