Advertisement
Guest User

DHT11 + ESP8266 Thingspeak

a guest
Sep 10th, 2016
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include <DHT.h>
  2.  
  3. #include <ESP8266WiFi.h>
  4.  
  5. // replace with your channel’s thingspeak API key,
  6. String apiKey = "xxxxxxxxxxxxx";
  7. const char* ssid = "xxxxxxxxx";
  8. const char* password = "xxxxxxx";
  9.  
  10. const char* server = "api.thingspeak.com";
  11. #define DHTPIN 2 // what pin we’re connected to
  12.  
  13. DHT dht(DHTPIN, DHT11,15);
  14. WiFiClient client;
  15.  
  16. void setup() {
  17. Serial.begin(115200);
  18. delay(10);
  19. dht.begin();
  20.  
  21. WiFi.begin(ssid, password);
  22.  
  23. Serial.println();
  24. Serial.println();
  25. Serial.print("Connecting to ");
  26. Serial.println(ssid);
  27.  
  28. WiFi.begin(ssid, password);
  29.  
  30. while (WiFi.status() != WL_CONNECTED) {
  31. delay(500);
  32. Serial.print(".");
  33. }
  34. Serial.println("");
  35. Serial.println("WiFi connected");
  36.  
  37. }
  38.  
  39. void loop() {
  40.  
  41. float h = dht.readHumidity();
  42. float t = dht.readTemperature();
  43. if (isnan(h) || isnan(t)) {
  44. Serial.println("Failed to read from DHT sensor!");
  45. return;
  46. }
  47.  
  48. if (client.connect(server,80)) { // "184.106.153.149" or api.thingspeak.com
  49. String postStr = apiKey;
  50. postStr +="&field1=";
  51. postStr += String(t);
  52. postStr +="&field2=";
  53. postStr += String(h);
  54. postStr += "\r\n\r\n";
  55.  
  56. client.print("POST /update HTTP/1.1\n");
  57. client.print("Host: api.thingspeak.com\n");
  58. client.print("Connection: close\n");
  59. client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
  60. client.print("Content-Type: application/x-www-form-urlencoded\n");
  61. client.print("Content-Length: ");
  62. client.print(postStr.length());
  63. client.print("\n\n");
  64. client.print(postStr);
  65.  
  66. Serial.print("Temperature: ");
  67. Serial.print(t);
  68. Serial.print(" degrees Celcius Humidity: ");
  69. Serial.print(h);
  70. Serial.println("% send to Thingspeak");
  71. }
  72. client.stop();
  73.  
  74. Serial.println("Waiting…");
  75. // thingspeak needs minimum 15 sec delay between updates
  76. delay(15000);
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement