Advertisement
Guest User

Untitled

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