#include #include #include #include "cave-config.h" const char* wifi_ssid = WIFI_SSID; const char* wifi_pass = WIFI_PASS; // Grafana IPAddress influxdb_ip(INFLUXDB_IP); long influxdb_port = INFLUXDB_PORT; unsigned int localPort = 2390; // MilliSeconds long unsigned poll_int = POLL_INT; String city = CITY; String location = LOCATION; WiFiUDP Udp; // TRIGGER, ECHO UltraSonicDistanceSensor distanceSensor(14, 12); void setup() { #if defined(DEBUG) Serial.begin(115200); Serial.print("Connecting to "); Serial.println(wifi_ssid); #endif WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); #if defined(DEBUG) Serial.print("."); #endif } #if defined(DEBUG) Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); #endif } void loop() { // FIXME: get temperature from sensor and use it here float temp = 20.0; double water_dist = distanceSensor.measureDistanceCm(temp); #if defined(DEBUG) Serial.println("Distance: "+String(water_dist)); #endif sendToInfluxDB("water_well,city="+city+",location="+location, "distance", String(water_dist)); delay(POLL_INT); } void sendToInfluxDB(String measure, String key, String value) { String line = measure+" "+key+"="+value; Udp.begin(localPort); Udp.beginPacket(influxdb_ip, influxdb_port); Udp.print(line); Udp.endPacket(); }