Created
September 15, 2017 10:19
-
-
Save woodif/c4de080c8129fd8d6dc209b01c7e41d0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <DHT.h> | |
| #include <ESP8266WiFi.h> | |
| // replace with your channel's thingspeak API key, | |
| String apiKey = "88Z86W9GHVXIDXDW"; | |
| const char* ssid = "xxxxx"; | |
| const char* password = "xxxxx"; | |
| const char* server = "api.thingspeak.com"; | |
| #define DHTPIN 12 // what pin we're connected to | |
| DHT dht(DHTPIN, DHT22, 12); | |
| WiFiClient client; | |
| void setup() { | |
| Serial.begin(115200); | |
| delay(10); | |
| dht.begin(); | |
| WiFi.begin(ssid, password); | |
| Serial.println(); | |
| Serial.println(); | |
| Serial.print("Connecting to "); | |
| Serial.println(ssid); | |
| WiFi.begin(ssid, password); | |
| while (WiFi.status() != WL_CONNECTED) { | |
| delay(500); | |
| Serial.print("."); | |
| } | |
| Serial.println(""); | |
| Serial.println("WiFi connected"); | |
| } | |
| void loop() { | |
| float h = dht.readHumidity(); | |
| float t = dht.readTemperature(); | |
| if (isnan(h) || isnan(t)) { | |
| Serial.println("Failed to read from DHT sensor!"); | |
| return; | |
| } | |
| if (client.connect(server, 80)) { // "184.106.153.149" or api.thingspeak.com | |
| String postStr = apiKey; | |
| postStr += "&field1="; | |
| postStr += String(t); | |
| postStr += "&field2="; | |
| postStr += String(h); | |
| postStr += "\r\n\r\n"; | |
| client.print("POST /update HTTP/1.1\n"); | |
| client.print("Host: api.thingspeak.com\n"); | |
| client.print("Connection: close\n"); | |
| client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); | |
| client.print("Content-Type: application/x-www-form-urlencoded\n"); | |
| client.print("Content-Length: "); | |
| client.print(postStr.length()); | |
| client.print("\n\n"); | |
| client.print(postStr); | |
| Serial.print("Temperature: "); | |
| Serial.print(t); | |
| Serial.print(" degrees Celcius Humidity: "); | |
| Serial.print(h); | |
| Serial.println("% send to Thingspeak"); | |
| } | |
| client.stop(); | |
| Serial.println("Waiting..."); | |
| // thingspeak needs minimum 15 sec delay between updates | |
| delay(20000); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment