add analog sensor

This commit is contained in:
Dmitry Borisenko
2020-08-28 02:49:26 +03:00
parent 74a7c8f528
commit c473f616b6
14 changed files with 286 additions and 212 deletions

View File

@@ -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;

View 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;