Advertisement
Electgpl

ESP - Estacion Meteorologica con UART WiFi ThingSpeak

Feb 15th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.02 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.   byte valor[3] = {0,0,0};
  32.   byte centena = 0;
  33.   byte decena = 0;
  34.   byte unidad = 0;      
  35.   byte i = 0;
  36.   byte resultado = 0;
  37.   for(i=0;i<4;i++) {
  38.     valor[i] = Serial.read();
  39.   }
  40.   centena = (valor[0] - 48) * 100;
  41.   decena = (valor[1] - 48) * 10;
  42.   unidad = valor[2] - 48;
  43.   resultado = centena + decena + unidad;
  44.   if (dht11.read(pinDHT11, &temperatura, &humedad, NULL)) {
  45.     Serial.print("Read DHT11 failed.");
  46.     return;
  47.   }
  48.   if (client.connect(server,80)) {
  49.     String postStr = apiKey;
  50.     postStr +="&field1=";
  51.     postStr += String((int)temperatura);
  52.     postStr +="&field2=";
  53.     postStr += String((int)humedad);
  54.     postStr +="&field3=";
  55.     postStr += String((int)luminosidad);
  56.     postStr +="&field4=";
  57.     postStr += String((int)resultado);
  58.     postStr += "\r\n\r\n";
  59.     client.print("POST /update HTTP/1.1\n");
  60.     client.print("Host: api.thingspeak.com\n");
  61.     client.print("Connection: close\n");
  62.     client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
  63.     client.print("Content-Type: application/x-www-form-urlencoded\n");
  64.     client.print("Content-Length: ");
  65.     client.print(postStr.length());
  66.     client.print("\n\n");
  67.     client.print(postStr);
  68.     Serial.println("% send to Thingspeak");
  69.   }
  70.   client.stop();
  71.   Serial.println("Waiting…");
  72.   delay(20000);
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement