Mostrando entradas con la etiqueta wemos mini d1. Mostrar todas las entradas
Mostrando entradas con la etiqueta wemos mini d1. Mostrar todas las entradas

jueves, 14 de julio de 2016

Monitorización de temperatura, humedad y sensación térmica



Con un WeMos D1 mini V2 (3,66 euros) y una shield DHT11 (2,29 euros) vamos a monitorizar la  temperatura, humedad y sensación térmica de donde se encuentre instalado y funcionando el WeMos.




Los datos se subirán cada diez segundos al sitio emoncms.org y allí crearemos las gráficas para visualizarlas en el smartphone u ordenador.




 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*****************************************************************************
 * ***************************************************************************
 *  Fecha: 14/07/2016       Autor: AntonioBG
 *  Material: Wemos mini D1 V2 + shield DHT11
 * 
 * 
 * Conexión:  
 *    Por defecto la shield ya tiene la conexion al pin D4   
*          
 * LICENCIA DE USO GNU GPL, si mejoras el programa o añades funcionalidades,
 * por favor, compártelo!
 ***************************************************************************
 ****************************************************************************/
#include <ESP8266WiFi.h>
#include "DHT.h"
#include "EmonLib.h"  

const char* ssid = "xxxxxxxxxxxxxx";
const char* password = "xxxxxxxxxxxxxxx";
const char* host = "emoncms.org";
const char* apikey = "xxxxxxxxxxxxxxxxxxxxx";

int node = 1; //numero del nodo

  #define DHTPIN D4     // pin de conexion
  #define DHTTYPE DHT11   // DHT 11
  //#define DHTTYPE DHT22   // DHT 22  (AM2302)
  //#define DHTTYPE DHT21   // DHT 21 (AM2301)
  float h; //declara humedad
  float t; //temperatura
  float hic; //sensacion termica
  DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  delay(10);
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}


void loop() {
  delay(5000);
  
   h = dht.readHumidity();
   t = dht.readTemperature(); //temperatura en celsius
   hic = dht.computeHeatIndex(t, h); //computa el índice de calor
   
  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }

  delay(1000);    

  if (client.connect(host, httpPort)) {
    Serial.println("Conectando...");
    client.print("GET /api/post?apikey=");
    client.print(apikey);
    client.print("&node=");
    client.print(node);
    client.print("&json={Humedad");
    client.print(":");
    client.print(h);    
    client.print(",Temp_dht:");
    client.print(t);
    client.print(",Sensacion_terminca:");
    client.print(hic);
    client.println("} HTTP/1.1");
    client.println("Host:emoncms.org");
    client.println("User-Agent: Arduino-ethernet");
    client.println("Connection: close");
    client.println();

  } 
  
  delay(4000);
  
  Serial.println();
  Serial.println("closing connection");
}