Electgpl

ESP - Estación Meteorológica WiFi ThingSpeak

Feb 15th, 2017
10,619
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.63 KB | None | 0 0
  1. #include <ESP8266WiFi.h>
  2. #include <SimpleDHT.h>
  3. String apiKey = "EHW19OYPTK9J7F40";
  4. const char* ssid = "ssid";
  5. const char* password = "pass";
  6. const char* server = "api.thingspeak.com";
  7. int pinDHT11 = D0;
  8. SimpleDHT11 dht11;
  9. WiFiClient client;
  10. void setup() {
  11.   Serial.begin(115200);
  12.   delay(10);
  13.   pinMode(A0, INPUT);
  14.   WiFi.begin(ssid, password);
  15.   Serial.println();
  16.   Serial.println();
  17.   Serial.print("Connecting to ");
  18.   Serial.println(ssid);
  19.   WiFi.begin(ssid, password);
  20.   while (WiFi.status() != WL_CONNECTED) {
  21.     delay(500);
  22.     Serial.print(".");
  23.   }
  24.   Serial.println("");
  25.   Serial.println("WiFi connected");
  26. }
  27. void loop() {
  28.   byte temperatura = 0;
  29.   byte humedad = 0;
  30.   float luminosidad = analogRead(A0);
  31.   if (dht11.read(pinDHT11, &temperatura, &humedad, NULL)) {
  32.     Serial.print("Read DHT11 failed.");
  33.     return;
  34.   }
  35.   if (client.connect(server,80)) {
  36.     String postStr = apiKey;
  37.     postStr +="&field1=";
  38.     postStr += String(luminosidad);
  39.     postStr +="&field2=";
  40.     postStr += String((int)temperatura);
  41.     postStr +="&field3=";
  42.     postStr += String((int)humedad);
  43.     postStr += "\r\n\r\n";
  44.     client.print("POST /update HTTP/1.1\n");
  45.     client.print("Host: api.thingspeak.com\n");
  46.     client.print("Connection: close\n");
  47.     client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
  48.     client.print("Content-Type: application/x-www-form-urlencoded\n");
  49.     client.print("Content-Length: ");
  50.     client.print(postStr.length());
  51.     client.print("\n\n");
  52.     client.print(postStr);
  53.     Serial.println("% send to Thingspeak");
  54.   }
  55.   client.stop();
  56.   Serial.println("Waiting…");
  57.   delay(20000);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment