/* 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);