mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
add analog sensor
This commit is contained in:
1
data/items/analog-adc.txt
Normal file
1
data/items/analog-adc.txt
Normal file
@@ -0,0 +1 @@
|
||||
analog-adc;id;anydata;Сенсоры;Аналоговый;order;pin[0];map[1,100,1,100];c[0]
|
||||
@@ -61,7 +61,8 @@
|
||||
"/set?addItem=button-in": "4.Физическая кнопка",
|
||||
"/set?addItem=input-digit": "5.Окно ввода цифровых значений",
|
||||
"/set?addItem=input-time": "6.Окно ввода времени",
|
||||
"/set?addItem=output-text": "7.Окно вывода любого текста, предупреждения, цифры"
|
||||
"/set?addItem=output-text": "7.Окно вывода любого текста, предупреждения, цифры",
|
||||
"/set?addItem=analog-adc": "8.Аналоговый сенсор"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
BIN
doc/orders.xlsm
BIN
doc/orders.xlsm
Binary file not shown.
@@ -1,26 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <Arduino.h>
|
||||
#include "Class/LineParsing.h"
|
||||
#include "Global.h"
|
||||
|
||||
class Sensor : public LineParsing {
|
||||
public:
|
||||
Sensor() : LineParsing(){};
|
||||
|
||||
void SensorInit() {
|
||||
if (_pin != "") {
|
||||
pinMode(_pin.toInt(), INPUT);
|
||||
}
|
||||
}
|
||||
|
||||
void SensorRead(String key, String pin, String state) {
|
||||
int pinInt = pin.toInt();
|
||||
analogWrite(pinInt, state.toInt());
|
||||
eventGen(key, "");
|
||||
jsonWriteInt(configLiveJson, key, state.toInt());
|
||||
MqttClient::publishStatus(key, state);
|
||||
}
|
||||
};
|
||||
|
||||
//extern Sensor* mySensor;
|
||||
35
include/Class/SensorAnalog.h
Normal file
35
include/Class/SensorAnalog.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
#include "Class/LineParsing.h"
|
||||
#include "Global.h"
|
||||
|
||||
class SensorAnalog : public LineParsing {
|
||||
public:
|
||||
SensorAnalog() : LineParsing(){};
|
||||
|
||||
void SensorAnalogInit() {
|
||||
//if (_pin != "") {
|
||||
// pinMode(_pin.toInt(), INPUT);
|
||||
//}
|
||||
}
|
||||
|
||||
int SensorAnalogRead(String key, String pin) {
|
||||
int pinInt = pin.toInt();
|
||||
int value;
|
||||
#ifdef ESP32
|
||||
value = analogRead(pinInt);
|
||||
#endif
|
||||
#ifdef ESP8266
|
||||
pinInt = pinInt;
|
||||
value = analogRead(A0);
|
||||
#endif
|
||||
|
||||
eventGen(key, "");
|
||||
jsonWriteInt(configLiveJson, key, value);
|
||||
MqttClient::publishStatus(key, String(value));
|
||||
return value;
|
||||
}
|
||||
};
|
||||
extern SensorAnalog* mySensorAnalog;
|
||||
@@ -1,5 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
extern void cmd_init();
|
||||
@@ -22,6 +21,56 @@ extern void inputTimeSet();
|
||||
extern void textOut();
|
||||
extern void textOutSet();
|
||||
|
||||
extern void analogAdc();
|
||||
extern void analogReading();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern void sensorsInit();
|
||||
|
||||
extern void levelPr();
|
||||
extern void ultrasonicCm();
|
||||
extern void ultrasonic_reading();
|
||||
|
||||
|
||||
extern void analog_reading1();
|
||||
extern void analog_reading2();
|
||||
extern void dallas_reading();
|
||||
extern void dhtT_reading();
|
||||
|
||||
extern void dallas();
|
||||
|
||||
extern void bmp280T();
|
||||
extern void bmp280P();
|
||||
extern void bmp280T_reading();
|
||||
extern void bmp280P_reading();
|
||||
|
||||
extern void bme280T();
|
||||
extern void bme280P();
|
||||
extern void bme280H();
|
||||
extern void bme280A();
|
||||
|
||||
extern void bme280T_reading();
|
||||
extern void bme280P_reading();
|
||||
extern void bme280H_reading();
|
||||
extern void bme280A_reading();
|
||||
|
||||
extern void dhtT();
|
||||
extern void dhtH();
|
||||
extern void dhtP();
|
||||
extern void dhtC();
|
||||
extern void dhtD();
|
||||
extern void dhtH_reading();
|
||||
extern void dhtP_reading();
|
||||
extern void dhtC_reading();
|
||||
extern void dhtD_reading();
|
||||
|
||||
extern void handle_time_init();
|
||||
extern void stepper();
|
||||
extern void stepperSet();
|
||||
|
||||
@@ -71,10 +71,12 @@ extern Bounce* buttons;
|
||||
|
||||
extern boolean just_load;
|
||||
|
||||
// Json
|
||||
extern String configSetupJson; //все настройки
|
||||
extern String configLiveJson; //все данные с датчиков (связан с mqtt)
|
||||
extern String configOptionJson; //для трансфера
|
||||
|
||||
// Mqtt
|
||||
extern String chipId;
|
||||
extern String prex;
|
||||
extern String all_widgets;
|
||||
@@ -84,6 +86,12 @@ extern String order_loop;
|
||||
extern String itemsFile;
|
||||
extern String itemsLine;
|
||||
|
||||
// Sensors
|
||||
extern String sensorReadingMap;
|
||||
|
||||
|
||||
|
||||
|
||||
extern String analog_value_names_list;
|
||||
extern int enter_to_analog_counter;
|
||||
|
||||
@@ -165,45 +173,7 @@ extern void setLedStatus(LedStatus_t);
|
||||
extern void eventGen(String event_name, String number);
|
||||
extern String add_set(String param_name);
|
||||
|
||||
//Sensors
|
||||
extern void sensors_init();
|
||||
|
||||
extern void levelPr();
|
||||
extern void ultrasonicCm();
|
||||
extern void ultrasonic_reading();
|
||||
|
||||
extern void analog();
|
||||
extern void analog_reading1();
|
||||
extern void analog_reading2();
|
||||
extern void dallas_reading();
|
||||
extern void dhtT_reading();
|
||||
|
||||
extern void dallas();
|
||||
|
||||
extern void bmp280T();
|
||||
extern void bmp280P();
|
||||
extern void bmp280T_reading();
|
||||
extern void bmp280P_reading();
|
||||
|
||||
extern void bme280T();
|
||||
extern void bme280P();
|
||||
extern void bme280H();
|
||||
extern void bme280A();
|
||||
|
||||
extern void bme280T_reading();
|
||||
extern void bme280P_reading();
|
||||
extern void bme280H_reading();
|
||||
extern void bme280A_reading();
|
||||
|
||||
extern void dhtT();
|
||||
extern void dhtH();
|
||||
extern void dhtP();
|
||||
extern void dhtC();
|
||||
extern void dhtD();
|
||||
extern void dhtH_reading();
|
||||
extern void dhtP_reading();
|
||||
extern void dhtC_reading();
|
||||
extern void dhtD_reading();
|
||||
|
||||
//Timers
|
||||
extern void Timer_countdown_init();
|
||||
|
||||
3
include/Sensors.h
Normal file
3
include/Sensors.h
Normal file
@@ -0,0 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
2
src/Class/SensorAnalog.cpp
Normal file
2
src/Class/SensorAnalog.cpp
Normal file
@@ -0,0 +1,2 @@
|
||||
#include "Class/SensorAnalog.h"
|
||||
SensorAnalog* mySensorAnalog;
|
||||
23
src/Cmd.cpp
23
src/Cmd.cpp
@@ -3,9 +3,9 @@
|
||||
#include "Class/Button.h"
|
||||
#include "Class/Input.h"
|
||||
#include "Class/LineParsing.h"
|
||||
#include "Class/OutputModule.h"
|
||||
#include "Class/Pwm.h"
|
||||
#include "Class/Switch.h"
|
||||
#include "Class/OutputModule.h"
|
||||
//-----------------------------
|
||||
#include "Class/NotAsinc.h"
|
||||
#include "Global.h"
|
||||
@@ -36,7 +36,12 @@ void cmd_init() {
|
||||
sCmd.addCommand("input-time", inputTime);
|
||||
sCmd.addCommand("output-text", textOut);
|
||||
|
||||
|
||||
#ifdef ANALOG_ENABLED
|
||||
sCmd.addCommand("analog-adc", analogAdc);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -45,11 +50,6 @@ void cmd_init() {
|
||||
sCmd.addCommand("timerStart", timerStart_);
|
||||
sCmd.addCommand("timerStop", timerStop_);
|
||||
|
||||
|
||||
|
||||
#ifdef ANALOG_ENABLED
|
||||
sCmd.addCommand("analog", analog);
|
||||
#endif
|
||||
#ifdef LEVEL_ENABLED
|
||||
sCmd.addCommand("levelPr", levelPr);
|
||||
sCmd.addCommand("ultrasonicCm", ultrasonicCm);
|
||||
@@ -253,7 +253,6 @@ void textOutSet() {
|
||||
myText->OutputModuleChange(key, state);
|
||||
}
|
||||
|
||||
|
||||
//void text() {
|
||||
// String number = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
@@ -490,8 +489,8 @@ void fileExecute(const String &filename) {
|
||||
csvExecute(cmdStr);
|
||||
}
|
||||
|
||||
void csvExecute(String &cmdStr) {
|
||||
cmdStr.replace(";"," ");
|
||||
void csvExecute(String &cmdStr) {
|
||||
cmdStr.replace(";", " ");
|
||||
cmdStr += "\r\n";
|
||||
cmdStr.replace("\r\n", "\n");
|
||||
cmdStr.replace("\r", "\n");
|
||||
@@ -499,12 +498,12 @@ void csvExecute(String &cmdStr) {
|
||||
while (cmdStr.length()) {
|
||||
String buf = selectToMarker(cmdStr, "\n");
|
||||
count++;
|
||||
if (count > 1)sCmd.readStr(buf);
|
||||
if (count > 1) sCmd.readStr(buf);
|
||||
cmdStr = deleteBeforeDelimiter(cmdStr, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
void spaceExecute(String &cmdStr) {
|
||||
void spaceExecute(String &cmdStr) {
|
||||
cmdStr += "\r\n";
|
||||
cmdStr.replace("\r\n", "\n");
|
||||
cmdStr.replace("\r", "\n");
|
||||
|
||||
@@ -43,6 +43,13 @@ String itemsFile = "";
|
||||
String itemsLine = "";
|
||||
|
||||
// Sensors
|
||||
String sensorReadingMap;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
String analog_value_names_list;
|
||||
int enter_to_analog_counter;
|
||||
|
||||
|
||||
21
src/Init.cpp
21
src/Init.cpp
@@ -23,31 +23,36 @@ void all_init() {
|
||||
}
|
||||
|
||||
void Device_init() {
|
||||
logging_value_names_list = "";
|
||||
enter_to_logging_counter = LOG1 - 1;
|
||||
|
||||
sensorReadingMap = "";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
logging_value_names_list = "";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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 = "";
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
278
src/Sensors.cpp
278
src/Sensors.cpp
@@ -1,3 +1,5 @@
|
||||
#include "Class/SensorAnalog.h"
|
||||
#include "Cmd.h"
|
||||
#include "Global.h"
|
||||
|
||||
GMedian<10, int> medianFilter;
|
||||
@@ -17,67 +19,161 @@ const String comfortStr(ComfortState value);
|
||||
|
||||
void bmp280T_reading();
|
||||
|
||||
void sensors_init() {
|
||||
void sensorsInit() {
|
||||
ts.add(
|
||||
SENSORS, 1000, [&](void *) {
|
||||
static int counter;
|
||||
counter++;
|
||||
|
||||
#ifdef LEVEL_ENABLED
|
||||
if (sensors_reading_map[0] == 1)
|
||||
ultrasonic_reading();
|
||||
#endif
|
||||
|
||||
if (counter > 10) {
|
||||
counter = 0;
|
||||
|
||||
#ifdef ANALOG_ENABLED
|
||||
if (sensors_reading_map[1] == 1)
|
||||
analog_reading1();
|
||||
if (sensors_reading_map[2] == 1)
|
||||
analog_reading2();
|
||||
#endif
|
||||
|
||||
#ifdef DALLAS_ENABLED
|
||||
if (sensors_reading_map[3] == 1)
|
||||
dallas_reading();
|
||||
#endif
|
||||
|
||||
#ifdef DHT_ENABLED
|
||||
if (sensors_reading_map[4] == 1)
|
||||
dhtT_reading();
|
||||
if (sensors_reading_map[5] == 1)
|
||||
dhtH_reading();
|
||||
if (sensors_reading_map[6] == 1)
|
||||
dhtP_reading();
|
||||
if (sensors_reading_map[7] == 1)
|
||||
dhtC_reading();
|
||||
if (sensors_reading_map[8] == 1)
|
||||
dhtD_reading();
|
||||
#endif
|
||||
|
||||
#ifdef BMP_ENABLED
|
||||
if (sensors_reading_map[9] == 1)
|
||||
bmp280T_reading();
|
||||
if (sensors_reading_map[10] == 1)
|
||||
bmp280P_reading();
|
||||
#endif
|
||||
|
||||
#ifdef BME_ENABLED
|
||||
if (sensors_reading_map[11] == 1)
|
||||
bme280T_reading();
|
||||
if (sensors_reading_map[12] == 1)
|
||||
bme280P_reading();
|
||||
if (sensors_reading_map[13] == 1)
|
||||
bme280H_reading();
|
||||
if (sensors_reading_map[14] == 1)
|
||||
bme280A_reading();
|
||||
#endif
|
||||
SENSORS, 10000, [&](void *) {
|
||||
String buf = sensorReadingMap;
|
||||
while (buf.length()) {
|
||||
String tmp = selectToMarker(buf, ",");
|
||||
sCmd.readStr(tmp);
|
||||
buf = deleteBeforeDelimiter(buf, ",");
|
||||
}
|
||||
},
|
||||
nullptr, true);
|
||||
}
|
||||
|
||||
// static int counter;
|
||||
// counter++;
|
||||
//
|
||||
//#ifdef LEVEL_ENABLED
|
||||
// if (sensors_reading_map[0] == 1)
|
||||
// ultrasonic_reading();
|
||||
//#endif
|
||||
//
|
||||
// if (counter > 10) {
|
||||
// counter = 0;
|
||||
//
|
||||
//#ifdef ANALOG_ENABLED
|
||||
// if (sensors_reading_map[1] == 1)
|
||||
// //analog_reading1();
|
||||
// if (sensors_reading_map[2] == 1)
|
||||
// //analog_reading2();
|
||||
//#endif
|
||||
//
|
||||
//#ifdef DALLAS_ENABLED
|
||||
// if (sensors_reading_map[3] == 1)
|
||||
// dallas_reading();
|
||||
//#endif
|
||||
//
|
||||
//#ifdef DHT_ENABLED
|
||||
// if (sensors_reading_map[4] == 1)
|
||||
// dhtT_reading();
|
||||
// if (sensors_reading_map[5] == 1)
|
||||
// dhtH_reading();
|
||||
// if (sensors_reading_map[6] == 1)
|
||||
// dhtP_reading();
|
||||
// if (sensors_reading_map[7] == 1)
|
||||
// dhtC_reading();
|
||||
// if (sensors_reading_map[8] == 1)
|
||||
// dhtD_reading();
|
||||
//#endif
|
||||
//
|
||||
//#ifdef BMP_ENABLED
|
||||
// if (sensors_reading_map[9] == 1)
|
||||
// bmp280T_reading();
|
||||
// if (sensors_reading_map[10] == 1)
|
||||
// bmp280P_reading();
|
||||
//#endif
|
||||
//
|
||||
//#ifdef BME_ENABLED
|
||||
// if (sensors_reading_map[11] == 1)
|
||||
// bme280T_reading();
|
||||
// if (sensors_reading_map[12] == 1)
|
||||
// bme280P_reading();
|
||||
// if (sensors_reading_map[13] == 1)
|
||||
// bme280H_reading();
|
||||
// if (sensors_reading_map[14] == 1)
|
||||
// bme280A_reading();
|
||||
//#endif
|
||||
// }
|
||||
|
||||
//==============================================Модуль аналогового сенсора===========================================================================================
|
||||
//analog-adc;id;anydata;Сенсоры;Аналоговый;order;pin[0];map[1,100,1,100];c[0]
|
||||
//===================================================================================================================================================================
|
||||
#ifdef ANALOG_ENABLED
|
||||
void analogAdc() {
|
||||
mySensorAnalog = new SensorAnalog();
|
||||
mySensorAnalog->update();
|
||||
String key = mySensorAnalog->gkey();
|
||||
String pin = mySensorAnalog->gpin();
|
||||
sCmd.addCommand(key.c_str(), analogReading);
|
||||
sensorReadingMap += key + ",";
|
||||
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
||||
mySensorAnalog->clear();
|
||||
}
|
||||
|
||||
void analogReading() {
|
||||
String key = sCmd.order();
|
||||
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
||||
mySensorAnalog->SensorAnalogRead(key, pin);
|
||||
}
|
||||
|
||||
//analog adc 0 Аналоговый#вход,#% Датчики any-data 1 1023 1 100 1
|
||||
//void analog() {
|
||||
// String value_name = sCmd.next();
|
||||
// String pin = sCmd.next();
|
||||
// String widget_name = sCmd.next();
|
||||
// String page_name = sCmd.next();
|
||||
// String type = sCmd.next();
|
||||
// String analog_start = sCmd.next();
|
||||
// String analog_end = sCmd.next();
|
||||
// String analog_start_out = sCmd.next();
|
||||
// String analog_end_out = sCmd.next();
|
||||
// String page_number = sCmd.next();
|
||||
// analog_value_names_list += value_name + ",";
|
||||
// enter_to_analog_counter++;
|
||||
// jsonWriteStr(configOptionJson, value_name + "_st", analog_start);
|
||||
// jsonWriteStr(configOptionJson, value_name + "_end", analog_end);
|
||||
// jsonWriteStr(configOptionJson, value_name + "_st_out", analog_start_out);
|
||||
// jsonWriteStr(configOptionJson, value_name + "_end_out", analog_end_out);
|
||||
// createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
// if (enter_to_analog_counter == 1) {
|
||||
// sensors_reading_map[1] = 1;
|
||||
// }
|
||||
// if (enter_to_analog_counter == 2) {
|
||||
// sensors_reading_map[2] = 1;
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//void analog_reading1() {
|
||||
// String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 0);
|
||||
//#ifdef ESP32
|
||||
// int analog_in = analogRead(34);
|
||||
//#endif
|
||||
//#ifdef ESP8266
|
||||
// int analog_in = analogRead(A0);
|
||||
//#endif
|
||||
// int analog = map(analog_in,
|
||||
// jsonReadInt(configOptionJson, value_name + "_st"),
|
||||
// jsonReadInt(configOptionJson, value_name + "_end"),
|
||||
// jsonReadInt(configOptionJson, value_name + "_st_out"),
|
||||
// jsonReadInt(configOptionJson, value_name + "_end_out"));
|
||||
// jsonWriteInt(configLiveJson, value_name, analog);
|
||||
// eventGen(value_name, "");
|
||||
// MqttClient::publishStatus(value_name, String(analog));
|
||||
// Serial.println("[I] sensor '" + value_name + "' data: " + String(analog));
|
||||
//}
|
||||
//
|
||||
//void analog_reading2() {
|
||||
// String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 1);
|
||||
//#ifdef ESP32
|
||||
// int analog_in = analogRead(35);
|
||||
//#endif
|
||||
//#ifdef ESP8266
|
||||
// int analog_in = analogRead(A0);
|
||||
//#endif
|
||||
// int analog = map(analog_in,
|
||||
// jsonReadInt(configOptionJson, value_name + "_st"),
|
||||
// jsonReadInt(configOptionJson, value_name + "_end"),
|
||||
// jsonReadInt(configOptionJson, value_name + "_st_out"),
|
||||
// jsonReadInt(configOptionJson, value_name + "_end_out"));
|
||||
// jsonWriteInt(configLiveJson, value_name, analog);
|
||||
// eventGen(value_name, "");
|
||||
// MqttClient::publishStatus(value_name, String(analog));
|
||||
// Serial.println("[I] sensor '" + value_name + "' data: " + String(analog));
|
||||
//}
|
||||
#endif
|
||||
|
||||
//=========================================================================================================================================
|
||||
//=========================================Модуль измерения уровня в баке==================================================================
|
||||
#ifdef LEVEL_ENABLED
|
||||
@@ -161,74 +257,6 @@ void ultrasonic_reading() {
|
||||
}
|
||||
#endif
|
||||
//=========================================================================================================================================
|
||||
//=========================================Модуль аналогового сенсора======================================================================
|
||||
#ifdef ANALOG_ENABLED
|
||||
//analog adc 0 Аналоговый#вход,#% Датчики any-data 1 1023 1 100 1
|
||||
void analog() {
|
||||
String value_name = sCmd.next();
|
||||
String pin = sCmd.next();
|
||||
String widget_name = sCmd.next();
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String analog_start = sCmd.next();
|
||||
String analog_end = sCmd.next();
|
||||
String analog_start_out = sCmd.next();
|
||||
String analog_end_out = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
analog_value_names_list += value_name + ",";
|
||||
enter_to_analog_counter++;
|
||||
jsonWriteStr(configOptionJson, value_name + "_st", analog_start);
|
||||
jsonWriteStr(configOptionJson, value_name + "_end", analog_end);
|
||||
jsonWriteStr(configOptionJson, value_name + "_st_out", analog_start_out);
|
||||
jsonWriteStr(configOptionJson, value_name + "_end_out", analog_end_out);
|
||||
createWidgetByType(widget_name, page_name, page_number, type, value_name);
|
||||
if (enter_to_analog_counter == 1) {
|
||||
sensors_reading_map[1] = 1;
|
||||
}
|
||||
if (enter_to_analog_counter == 2) {
|
||||
sensors_reading_map[2] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void analog_reading1() {
|
||||
String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 0);
|
||||
#ifdef ESP32
|
||||
int analog_in = analogRead(34);
|
||||
#endif
|
||||
#ifdef ESP8266
|
||||
int analog_in = analogRead(A0);
|
||||
#endif
|
||||
int analog = map(analog_in,
|
||||
jsonReadInt(configOptionJson, value_name + "_st"),
|
||||
jsonReadInt(configOptionJson, value_name + "_end"),
|
||||
jsonReadInt(configOptionJson, value_name + "_st_out"),
|
||||
jsonReadInt(configOptionJson, value_name + "_end_out"));
|
||||
jsonWriteInt(configLiveJson, value_name, analog);
|
||||
eventGen(value_name, "");
|
||||
MqttClient::publishStatus(value_name, String(analog));
|
||||
Serial.println("[I] sensor '" + value_name + "' data: " + String(analog));
|
||||
}
|
||||
|
||||
void analog_reading2() {
|
||||
String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 1);
|
||||
#ifdef ESP32
|
||||
int analog_in = analogRead(35);
|
||||
#endif
|
||||
#ifdef ESP8266
|
||||
int analog_in = analogRead(A0);
|
||||
#endif
|
||||
int analog = map(analog_in,
|
||||
jsonReadInt(configOptionJson, value_name + "_st"),
|
||||
jsonReadInt(configOptionJson, value_name + "_end"),
|
||||
jsonReadInt(configOptionJson, value_name + "_st_out"),
|
||||
jsonReadInt(configOptionJson, value_name + "_end_out"));
|
||||
jsonWriteInt(configLiveJson, value_name, analog);
|
||||
eventGen(value_name, "");
|
||||
MqttClient::publishStatus(value_name, String(analog));
|
||||
Serial.println("[I] sensor '" + value_name + "' data: " + String(analog));
|
||||
}
|
||||
#endif
|
||||
//=========================================================================================================================================
|
||||
//=========================================Модуль температурного сенсора ds18b20===========================================================
|
||||
#ifdef DALLAS_ENABLED
|
||||
//dallas temp1 2 1 Температура Датчики anydata 1
|
||||
@@ -242,7 +270,7 @@ void dallas() {
|
||||
String page_name = sCmd.next();
|
||||
String type = sCmd.next();
|
||||
String page_number = sCmd.next();
|
||||
oneWire = new OneWire((uint8_t) pin.toInt());
|
||||
oneWire = new OneWire((uint8_t)pin.toInt());
|
||||
sensors.setOneWire(oneWire);
|
||||
sensors.begin();
|
||||
sensors.setResolution(12);
|
||||
@@ -256,7 +284,7 @@ void dallas_reading() {
|
||||
byte num = sensors.getDS18Count();
|
||||
String dallas_value_name_tmp_buf = dallas_value_name;
|
||||
sensors.requestTemperatures();
|
||||
for (byte i = 0; i < num; i++) {
|
||||
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, ";");
|
||||
|
||||
@@ -42,7 +42,7 @@ void setup() {
|
||||
cmd_init();
|
||||
|
||||
pm.info("Sensors");
|
||||
sensors_init();
|
||||
sensorsInit();
|
||||
|
||||
pm.info("Init");
|
||||
all_init();
|
||||
|
||||
Reference in New Issue
Block a user