lukbe

esp dht thingspaek

May 2nd, 2016
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. #include <ESP8266WiFi.h>
  2. #include "DHT.h"
  3.  
  4. #define AP_SSID "ssid"
  5. #define AP_PASSWORD "xxxxxx"
  6.  
  7. const int sleepTimeS = 10*60; // v minutách
  8.  
  9. #define API_KEY "xxxx"
  10.  
  11.  
  12. #define THINGSPEAK_CLOUD_ADDRESS "api.thingspeak.com"
  13. #define THINGSPEAK_CLOUD_PORT 80
  14.  
  15. #define DHTPIN 2 // DHT22 pin
  16. #define DHTTYPE DHT22
  17. DHT dht(DHTPIN, DHTTYPE);
  18.  
  19. float oldTemp;
  20. float oldHum;
  21.  
  22. void setup() {
  23. Serial.begin(115200);
  24. wifiConnect();
  25.  
  26. dht.begin();
  27.  
  28. oldTemp = -1;
  29. oldHum = -1;
  30. }
  31.  
  32. void loop() {
  33. Serial.println("Start");
  34. delay(2000);
  35.  
  36. float hum = dht.readHumidity();
  37. float temp = dht.readTemperature();
  38.  
  39. if (isnan(hum) || isnan(temp) ) {
  40. Serial.println("Failed to read from DHT sensor!");
  41. // return;
  42. }
  43. Serial.println();
  44. Serial.println("**********************************************");
  45. Serial.println("Humidity (%)\tTemperature (C)");
  46.  
  47. Serial.print("\t");
  48. Serial.print(hum, 1);
  49. Serial.print("\t\t");
  50. Serial.print(temp, 1);
  51. Serial.println("\t\t");
  52.  
  53. Serial.println("**********************************************");
  54. Serial.println();
  55.  
  56. sendhodnoty(hum, temp);
  57.  
  58.  
  59. Serial.println("Jdu spat");
  60. delay(100);
  61. ESP.deepSleep(sleepTimeS * 1000000);
  62. delay(100);
  63. }
  64.  
  65. void wifiConnect()
  66. {
  67. Serial.print("Connecting to AP");
  68. WiFi.begin(AP_SSID, AP_PASSWORD);
  69. while (WiFi.status() != WL_CONNECTED) {
  70. delay(1000);
  71. Serial.print(".");
  72. }
  73.  
  74. Serial.println("");
  75. Serial.println("WiFi connected");
  76. }
  77.  
  78. void sendhodnoty(float hum, float temp)
  79. {
  80. WiFiClient client;
  81.  
  82. while (!client.connect(THINGSPEAK_CLOUD_ADDRESS, THINGSPEAK_CLOUD_PORT)) {
  83. Serial.println("connection failed");
  84. wifiConnect();
  85. }
  86.  
  87. String url = "";
  88.  
  89. url += "/update?api_key=" + String(API_KEY) + "&field1=" + String(hum) + "&field2=" + String(temp);
  90.  
  91. Serial.print("POST data to URL: ");
  92. Serial.println(url);
  93.  
  94. client.print(String("POST ") + url + " HTTP/1.1\r\n" +
  95. "Host: " + String(THINGSPEAK_CLOUD_ADDRESS) + "\r\n" +
  96. "Connection: close\r\n" +
  97. "Content-Length: 0\r\n" +
  98. "\r\n");
  99.  
  100. delay(100);
  101. while (client.available()) {
  102. String line = client.readStringUntil('\r');
  103. Serial.print(line);
  104. }
  105.  
  106. Serial.println();
  107. Serial.println("Connection closed");
  108. }
Advertisement
Add Comment
Please, Sign In to add comment