mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +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=button-in": "4.Физическая кнопка",
|
||||||
"/set?addItem=input-digit": "5.Окно ввода цифровых значений",
|
"/set?addItem=input-digit": "5.Окно ввода цифровых значений",
|
||||||
"/set?addItem=input-time": "6.Окно ввода времени",
|
"/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
|
#pragma once
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
extern void cmd_init();
|
extern void cmd_init();
|
||||||
@@ -22,6 +21,56 @@ extern void inputTimeSet();
|
|||||||
extern void textOut();
|
extern void textOut();
|
||||||
extern void textOutSet();
|
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 handle_time_init();
|
||||||
extern void stepper();
|
extern void stepper();
|
||||||
extern void stepperSet();
|
extern void stepperSet();
|
||||||
|
|||||||
@@ -71,10 +71,12 @@ extern Bounce* buttons;
|
|||||||
|
|
||||||
extern boolean just_load;
|
extern boolean just_load;
|
||||||
|
|
||||||
|
// Json
|
||||||
extern String configSetupJson; //все настройки
|
extern String configSetupJson; //все настройки
|
||||||
extern String configLiveJson; //все данные с датчиков (связан с mqtt)
|
extern String configLiveJson; //все данные с датчиков (связан с mqtt)
|
||||||
extern String configOptionJson; //для трансфера
|
extern String configOptionJson; //для трансфера
|
||||||
|
|
||||||
|
// Mqtt
|
||||||
extern String chipId;
|
extern String chipId;
|
||||||
extern String prex;
|
extern String prex;
|
||||||
extern String all_widgets;
|
extern String all_widgets;
|
||||||
@@ -84,6 +86,12 @@ extern String order_loop;
|
|||||||
extern String itemsFile;
|
extern String itemsFile;
|
||||||
extern String itemsLine;
|
extern String itemsLine;
|
||||||
|
|
||||||
|
// Sensors
|
||||||
|
extern String sensorReadingMap;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern String analog_value_names_list;
|
extern String analog_value_names_list;
|
||||||
extern int enter_to_analog_counter;
|
extern int enter_to_analog_counter;
|
||||||
|
|
||||||
@@ -165,45 +173,7 @@ extern void setLedStatus(LedStatus_t);
|
|||||||
extern void eventGen(String event_name, String number);
|
extern void eventGen(String event_name, String number);
|
||||||
extern String add_set(String param_name);
|
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
|
//Timers
|
||||||
extern void Timer_countdown_init();
|
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/Button.h"
|
||||||
#include "Class/Input.h"
|
#include "Class/Input.h"
|
||||||
#include "Class/LineParsing.h"
|
#include "Class/LineParsing.h"
|
||||||
|
#include "Class/OutputModule.h"
|
||||||
#include "Class/Pwm.h"
|
#include "Class/Pwm.h"
|
||||||
#include "Class/Switch.h"
|
#include "Class/Switch.h"
|
||||||
#include "Class/OutputModule.h"
|
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
#include "Class/NotAsinc.h"
|
#include "Class/NotAsinc.h"
|
||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
@@ -36,7 +36,12 @@ void cmd_init() {
|
|||||||
sCmd.addCommand("input-time", inputTime);
|
sCmd.addCommand("input-time", inputTime);
|
||||||
sCmd.addCommand("output-text", textOut);
|
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("timerStart", timerStart_);
|
||||||
sCmd.addCommand("timerStop", timerStop_);
|
sCmd.addCommand("timerStop", timerStop_);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef ANALOG_ENABLED
|
|
||||||
sCmd.addCommand("analog", analog);
|
|
||||||
#endif
|
|
||||||
#ifdef LEVEL_ENABLED
|
#ifdef LEVEL_ENABLED
|
||||||
sCmd.addCommand("levelPr", levelPr);
|
sCmd.addCommand("levelPr", levelPr);
|
||||||
sCmd.addCommand("ultrasonicCm", ultrasonicCm);
|
sCmd.addCommand("ultrasonicCm", ultrasonicCm);
|
||||||
@@ -253,7 +253,6 @@ void textOutSet() {
|
|||||||
myText->OutputModuleChange(key, state);
|
myText->OutputModuleChange(key, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//void text() {
|
//void text() {
|
||||||
// String number = sCmd.next();
|
// String number = sCmd.next();
|
||||||
// String widget_name = sCmd.next();
|
// String widget_name = sCmd.next();
|
||||||
@@ -490,8 +489,8 @@ void fileExecute(const String &filename) {
|
|||||||
csvExecute(cmdStr);
|
csvExecute(cmdStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void csvExecute(String &cmdStr) {
|
void csvExecute(String &cmdStr) {
|
||||||
cmdStr.replace(";"," ");
|
cmdStr.replace(";", " ");
|
||||||
cmdStr += "\r\n";
|
cmdStr += "\r\n";
|
||||||
cmdStr.replace("\r\n", "\n");
|
cmdStr.replace("\r\n", "\n");
|
||||||
cmdStr.replace("\r", "\n");
|
cmdStr.replace("\r", "\n");
|
||||||
@@ -499,12 +498,12 @@ void csvExecute(String &cmdStr) {
|
|||||||
while (cmdStr.length()) {
|
while (cmdStr.length()) {
|
||||||
String buf = selectToMarker(cmdStr, "\n");
|
String buf = selectToMarker(cmdStr, "\n");
|
||||||
count++;
|
count++;
|
||||||
if (count > 1)sCmd.readStr(buf);
|
if (count > 1) sCmd.readStr(buf);
|
||||||
cmdStr = deleteBeforeDelimiter(cmdStr, "\n");
|
cmdStr = deleteBeforeDelimiter(cmdStr, "\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void spaceExecute(String &cmdStr) {
|
void spaceExecute(String &cmdStr) {
|
||||||
cmdStr += "\r\n";
|
cmdStr += "\r\n";
|
||||||
cmdStr.replace("\r\n", "\n");
|
cmdStr.replace("\r\n", "\n");
|
||||||
cmdStr.replace("\r", "\n");
|
cmdStr.replace("\r", "\n");
|
||||||
|
|||||||
@@ -43,6 +43,13 @@ String itemsFile = "";
|
|||||||
String itemsLine = "";
|
String itemsLine = "";
|
||||||
|
|
||||||
// Sensors
|
// Sensors
|
||||||
|
String sensorReadingMap;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String analog_value_names_list;
|
String analog_value_names_list;
|
||||||
int enter_to_analog_counter;
|
int enter_to_analog_counter;
|
||||||
|
|
||||||
|
|||||||
21
src/Init.cpp
21
src/Init.cpp
@@ -23,31 +23,36 @@ void all_init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Device_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 = "";
|
analog_value_names_list = "";
|
||||||
enter_to_analog_counter = 0;
|
enter_to_analog_counter = 0;
|
||||||
|
|
||||||
dallas_value_name = "";
|
dallas_value_name = "";
|
||||||
enter_to_dallas_counter = 0;
|
enter_to_dallas_counter = 0;
|
||||||
|
|
||||||
levelPr_value_name = "";
|
levelPr_value_name = "";
|
||||||
ultrasonicCm_value_name = "";
|
ultrasonicCm_value_name = "";
|
||||||
|
|
||||||
dhtT_value_name = "";
|
dhtT_value_name = "";
|
||||||
dhtH_value_name = "";
|
dhtH_value_name = "";
|
||||||
|
|
||||||
bmp280T_value_name = "";
|
bmp280T_value_name = "";
|
||||||
bmp280P_value_name = "";
|
bmp280P_value_name = "";
|
||||||
|
|
||||||
bme280T_value_name = "";
|
bme280T_value_name = "";
|
||||||
bme280P_value_name = "";
|
bme280P_value_name = "";
|
||||||
bme280H_value_name = "";
|
bme280H_value_name = "";
|
||||||
bme280A_value_name = "";
|
bme280A_value_name = "";
|
||||||
|
|
||||||
int array_sz = sizeof(sensors_reading_map) / sizeof(sensors_reading_map[0]);
|
int array_sz = sizeof(sensors_reading_map) / sizeof(sensors_reading_map[0]);
|
||||||
|
|
||||||
for (int i = 0; i < array_sz; i++) {
|
for (int i = 0; i < array_sz; i++) {
|
||||||
sensors_reading_map[i] = 0;
|
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"
|
#include "Global.h"
|
||||||
|
|
||||||
GMedian<10, int> medianFilter;
|
GMedian<10, int> medianFilter;
|
||||||
@@ -17,67 +19,161 @@ const String comfortStr(ComfortState value);
|
|||||||
|
|
||||||
void bmp280T_reading();
|
void bmp280T_reading();
|
||||||
|
|
||||||
void sensors_init() {
|
void sensorsInit() {
|
||||||
ts.add(
|
ts.add(
|
||||||
SENSORS, 1000, [&](void *) {
|
SENSORS, 10000, [&](void *) {
|
||||||
static int counter;
|
String buf = sensorReadingMap;
|
||||||
counter++;
|
while (buf.length()) {
|
||||||
|
String tmp = selectToMarker(buf, ",");
|
||||||
#ifdef LEVEL_ENABLED
|
sCmd.readStr(tmp);
|
||||||
if (sensors_reading_map[0] == 1)
|
buf = deleteBeforeDelimiter(buf, ",");
|
||||||
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
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
nullptr, true);
|
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
|
#ifdef LEVEL_ENABLED
|
||||||
@@ -161,74 +257,6 @@ void ultrasonic_reading() {
|
|||||||
}
|
}
|
||||||
#endif
|
#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===========================================================
|
//=========================================Модуль температурного сенсора ds18b20===========================================================
|
||||||
#ifdef DALLAS_ENABLED
|
#ifdef DALLAS_ENABLED
|
||||||
//dallas temp1 2 1 Температура Датчики anydata 1
|
//dallas temp1 2 1 Температура Датчики anydata 1
|
||||||
@@ -242,7 +270,7 @@ void dallas() {
|
|||||||
String page_name = sCmd.next();
|
String page_name = sCmd.next();
|
||||||
String type = sCmd.next();
|
String type = sCmd.next();
|
||||||
String page_number = 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.setOneWire(oneWire);
|
||||||
sensors.begin();
|
sensors.begin();
|
||||||
sensors.setResolution(12);
|
sensors.setResolution(12);
|
||||||
@@ -256,7 +284,7 @@ void dallas_reading() {
|
|||||||
byte num = sensors.getDS18Count();
|
byte num = sensors.getDS18Count();
|
||||||
String dallas_value_name_tmp_buf = dallas_value_name;
|
String dallas_value_name_tmp_buf = dallas_value_name;
|
||||||
sensors.requestTemperatures();
|
sensors.requestTemperatures();
|
||||||
for (byte i = 0; i < num; i++) {
|
for (byte i = 0; i < num; i++) {
|
||||||
temp = sensors.getTempCByIndex(i);
|
temp = sensors.getTempCByIndex(i);
|
||||||
String buf = selectToMarker(dallas_value_name_tmp_buf, ";");
|
String buf = selectToMarker(dallas_value_name_tmp_buf, ";");
|
||||||
dallas_value_name_tmp_buf = deleteBeforeDelimiter(dallas_value_name_tmp_buf, ";");
|
dallas_value_name_tmp_buf = deleteBeforeDelimiter(dallas_value_name_tmp_buf, ";");
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ void setup() {
|
|||||||
cmd_init();
|
cmd_init();
|
||||||
|
|
||||||
pm.info("Sensors");
|
pm.info("Sensors");
|
||||||
sensors_init();
|
sensorsInit();
|
||||||
|
|
||||||
pm.info("Init");
|
pm.info("Init");
|
||||||
all_init();
|
all_init();
|
||||||
|
|||||||
Reference in New Issue
Block a user