#include #include #include #include #define ONE_WIRE_BUS 4 // GPIO pin const char* ssid = ""; const char* password = ""; int wiFiConnectTimeout = 10; //seconds int sensorReadDelay = 60*15; //seconds OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); void setup(){ Serial.begin(115200); sensors.begin(); sensors.requestTemperatures(); Serial.print("Connecting to WiFi"); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); int wiFiConnectAttempts = 0; while(WiFi.status() != WL_CONNECTED && wiFiConnectAttempts++ < wiFiConnectTimeout) { Serial.print("."); delay(1000); } if (WiFi.status() != WL_CONNECTED) { Serial.println(" FAILED!"); } else { Serial.println(" OK!"); Serial.print("Sending API request..."); const String metricsServerUrl = "http://metrics-server/"; HTTPClient http; http.setTimeout(3000); http.setConnectTimeout(3000); http.begin(metricsServerUrl); http.addHeader("Content-Type", "application/x-www-form-urlencoded"); String httpRequestData = "instance=a&sensor[0]=" + String(sensors.getTempCByIndex(0)); int httpResponseCode = http.POST(httpRequestData); http.end(); if (httpResponseCode >= 200) { Serial.println(" OK!"); } else { Serial.println(" FAIL!"); } WiFi.disconnect(true, true); } Serial.println("Zzzzz"); esp_deep_sleep(sensorReadDelay * 1000000); } void loop(){ }