34 lines
1.2 KiB
C
34 lines
1.2 KiB
C
/* ESP8266 environmental sensor project
|
|
|
|
This file provides functions for all the sensor publication used in espsens and envisens.
|
|
|
|
(C) 2019 Macrocell - Environmental sensing solutions
|
|
proudly presented by Macrocell - FPGA Innovators
|
|
*/
|
|
#define TOPIC_BASE "sensor/" SENSOR_ID "/"
|
|
#define TOPIC_TEMP TOPIC_BASE "temperature"
|
|
#define TOPIC_HMID TOPIC_BASE "humidity"
|
|
#define TOPIC_ABHU TOPIC_BASE "abs_humidity"
|
|
#define TOPIC_HEAT TOPIC_BASE "heat_index"
|
|
|
|
#define DIFF_TEMP 0.3 // sensor has only 0.5°C accuracy, triggering on less is ludicrous
|
|
#define DIFF_HMID 1.5 // humidity doesn't change that much anyways
|
|
#define DIFF_ABHU 0.4 // small changes mean quite something
|
|
#define DIFF_HEAT 0.4 // this one's actually quite active
|
|
|
|
#define DHTPIN 4 // Digital pin connected to the DHT sensor
|
|
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
|
|
|
|
struct Sensor {
|
|
String desc; // sensor description
|
|
char* topic; // sensor topic
|
|
float diff; // value difference for an update
|
|
float value; // current values
|
|
float lastValue; // value at last update
|
|
int lastUpdate; // number of samples since last update
|
|
};
|
|
|
|
void setup_wifi();
|
|
void reconnect(PubSubClient client);
|
|
void publishSensor (PubSubClient &client, Sensor &sensor);
|