/* DHT11+ esp8266 (Deep Sleep) */ #include <ESP8266WiFi.h> #include <DHT.h> extern "C" { #include <user_interface.h> } #define DHTPIN 4 // what digital pin we're connected to #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); // int mLedPin=5; const char* ssid = ""; const char* password = ""; const char* host = "api.thingspeak.com"; String mAPI_KEY=""; static uint32_t mTimerTmp; static uint32_t mTimerPost; String mTemp=""; String mHum=""; // void proc_http(String sTemp, String sHum){ //Serial.print("connecting to "); //Serial.println(host); WiFiClient client; const int httpPort = 80; if (!client.connect(host, httpPort)) { Serial.println("connection failed"); return; } String url = "/update?key="+ mAPI_KEY + "&field1="+ sTemp +"&field2=" + sHum; client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); delay(10); int iSt=0; while(client.available()){ String line = client.readStringUntil('\r'); Serial.print(line); } } // void setup() { //pinMode(mLedPin, OUTPUT); Serial.begin( 9600 ); Serial.println("#Start-setup"); Serial.print("millis.Start: "); Serial.println(millis() ); dht.begin(); delay(10); Serial.println(); Serial.println(); Serial.print("Connecting to "); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.print("millis.Connected: "); Serial.println(millis() ); // Serial.println("IP address: "); // Serial.println(WiFi.localIP()); } // void loop() { delay( 100 ); Serial.print("millis.Loop: "); Serial.println(millis() ); if (millis() > 3000 ){ //read-DHT float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t) ) { Serial.println("Failed to read from DHT sensor!"); return; } String sTmp=String(t); String sHum=String(h); Serial.print("sTmp="); Serial.print(sTmp); Serial.print(", Hum="); Serial.println(sHum); proc_http(sTmp , sHum); Serial.print("millis.SleepStart: "); Serial.println(millis() ); ESP.deepSleep( 600 * 1000 * 1000); } }