meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente | ||
electronica:esp8266:nube [2016/08/31 21:16] – creado lc | electronica:esp8266:nube [2016/09/01 00:59] – [Visualizar gráficamente nuestros datos] lc | ||
---|---|---|---|
Línea 2: | Línea 2: | ||
===== 2 Temperatura y Humedad en la nube ===== | ===== 2 Temperatura y Humedad en la nube ===== | ||
Una vez que hemos visto como montar nuestro propio servidor web, vamos a ver ahora como hacerlo directamente desde un servidor en la nube. | Una vez que hemos visto como montar nuestro propio servidor web, vamos a ver ahora como hacerlo directamente desde un servidor en la nube. | ||
+ | |||
+ | En primer lugar vamos a usar la plataforma [[http:// | ||
+ | |||
+ | <sxh javascript> | ||
+ | // wiki.intrusos.info | ||
+ | |||
+ | // Librerias | ||
+ | #include " | ||
+ | #include " | ||
+ | |||
+ | // Parámetros de Conexión a la WiFi | ||
+ | const char* ssid = " | ||
+ | const char* password = " | ||
+ | |||
+ | // Pin del ESP8266 al que está conectado. | ||
+ | // El GPIO 4 corresponde al D2 del ESP8266-12E NodeMCU v3 | ||
+ | #define DHTPIN 4 | ||
+ | |||
+ | // tipo de sensor DHT | ||
+ | #define DHTTYPE DHT11 // DHT 11 | ||
+ | |||
+ | // Inicializa el sensor | ||
+ | DHT dht(DHTPIN, DHTTYPE); | ||
+ | |||
+ | // Host al que nos vamos a conectar | ||
+ | const char* host = " | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | delay(100); | ||
+ | |||
+ | // Inicializamos el sensor | ||
+ | dht.begin(); | ||
+ | |||
+ | // Conectamod a la red WIFI | ||
+ | Serial.println(); | ||
+ | Serial.println(); | ||
+ | Serial.print(" | ||
+ | Serial.println(ssid); | ||
+ | WiFi.begin(ssid, | ||
+ | while (WiFi.status() != WL_CONNECTED) { | ||
+ | delay(500); | ||
+ | Serial.print(" | ||
+ | } | ||
+ | Serial.println("" | ||
+ | Serial.println(" | ||
+ | Serial.println(" | ||
+ | Serial.println(WiFi.localIP()); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | // Usa la clase WiFiClient para crear una conexión TCP | ||
+ | WiFiClient client; | ||
+ | const int httpPort = 80; | ||
+ | if (!client.connect(host, | ||
+ | Serial.println(" | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | // Obtiene la Humedad | ||
+ | float h = dht.readHumidity(); | ||
+ | |||
+ | // Obtiene la Temperatura en Celsius | ||
+ | float t = dht.readTemperature(); | ||
+ | |||
+ | delay(3000); | ||
+ | // Control de errores, valida que se obtuvieron valores para los datos medidos | ||
+ | if (isnan(h) || isnan(t)) { | ||
+ | Serial.println(" | ||
+ | client.print(" | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | // Enviamos los datos al servidor. | ||
+ | |||
+ | client.print(String(" | ||
+ | " | ||
+ | " | ||
+ | |||
+ | |||
+ | // Leemos la respuesta del servidor y la sacamos por el puerto serie | ||
+ | while (client.available()) { | ||
+ | String line = client.readStringUntil(' | ||
+ | Serial.print(line); | ||
+ | } | ||
+ | |||
+ | Serial.println(); | ||
+ | Serial.println(" | ||
+ | |||
+ | // Repetir cada 10s | ||
+ | delay(10000); | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | Si toda ha ido correctamente deberías de ver por el puerto serial algo similar a | ||
+ | < | ||
+ | {" | ||
+ | Cerramos la conexión | ||
+ | HTTP/1.1 200 OK | ||
+ | Access-Control-Allow-Origin: | ||
+ | Content-Type: | ||
+ | Content-Length: | ||
+ | Date: Wed, 31 Aug 2016 22:04:49 GMT | ||
+ | Connection: close | ||
+ | </ | ||
+ | |||
+ | ==== Visualizar gráficamente nuestros datos ==== | ||
+ | Como última parte de esta práctica vamos a visualizar gráficamente las medidas de humedad y temperatura usando la plataforma [[https:// | ||
+ | |||
+ | Lo primero es crear una cuenta y una vez creada debemos seguir estos pasos: | ||
+ | - Añadir un **DATASOURCE** | ||
+ | - Pulsamos el botón **Add Panel** y dentro del panel pulsamos el botón **+** para añadir un WIDGET {{ : | ||
+ | |||
+ | |||
+ | Con esto ya podemos ver gráficamente nuestro dispositivo | ||
+ | {{ : | ||
+ | ==== Referencias ==== | ||
+ | * https:// |