Tabla de contenido:

Cómo construir una estación meteorológica usando XinaBox y Ubidots a través de HTTP: 7 pasos
Cómo construir una estación meteorológica usando XinaBox y Ubidots a través de HTTP: 7 pasos

Video: Cómo construir una estación meteorológica usando XinaBox y Ubidots a través de HTTP: 7 pasos

Video: Cómo construir una estación meteorológica usando XinaBox y Ubidots a través de HTTP: 7 pasos
Video: Estación meteorológica con Arduino | Humedad, Temperatura y luz + Relay | IoT con Ubidots 2024, Noviembre
Anonim
Cómo construir una estación meteorológica usando XinaBox y Ubidots a través de HTTP
Cómo construir una estación meteorológica usando XinaBox y Ubidots a través de HTTP

Aprenda a hacer su propia estación meteorológica en Ubidots, usando XinaBox xChips (IP01, CW01 y SW01)

Imagen
Imagen

El módulo ESP8266 Core y Wi-Fi (xChip CW01) permite a los usuarios enviar datos desde los xChips modulares de XinaBox a la nube. Estos datos se pueden monitorear de forma remota en Ubidots, donde los usuarios pueden aprovechar su gama de herramientas de IoT.

El sensor meteorológico avanzado xChip SW01 (Bosch BME280) mide la temperatura, la humedad y la presión atmosférica, a partir de las cuales también se pueden calcular la altitud, la base de las nubes y el punto de rocío.

En este tutorial usamos el protocolo HTTP para enviar datos de sensores a Ubidots. Esto también se puede hacer mediante el protocolo MQTT.

Al final de esta guía, podrá monitorear y medir las condiciones climáticas en su dispositivo XinaBox desde cualquier lugar de forma remota utilizando Ubidots.

Paso 1: requisitos

  • 1x CW01 - Núcleo WiFi (ESP8266 / ESP-12F)
  • 1x IP01 - Interfaz de programación USB (FT232R)
  • 1x SW01 - Sensor meteorológico avanzado (BME280)
  • 1x XC10 - Paquete de 10 conectores xBUS
  • IDE de Arduino
  • Cuenta Ubidots

Paso 2: configuración del hardware

Conecte CW01, SW01 e IP01 juntos usando los conectores XC10 xBUS. Puede conectarlo como se muestra en el diagrama a continuación. Consulte esta guía sobre cómo ensamblar xChips en general.

Imagen
Imagen

Luego, conecte su dispositivo y PC a través del USB del IP01. Para ello, deberá utilizar el software xFlasher para actualizar el código una vez que esté listo. Consulte esta guía sobre el uso de xFlasher.

Paso 3: Configuración del IDE de Arduino

1. Instale Arduino IDE 1.8.8

2. Instale estas bibliotecas en Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

NOTA: Si no está familiarizado con cómo instalar bibliotecas, consulte el enlace: Instalación de bibliotecas Arduino

3. Con la plataforma ESP8266 instalada, seleccione el dispositivo ESP8266 con el que está trabajando. En el caso, estamos trabajando con un “CW01 (módulo ESP12F)”. Para seleccionar su placa del IDE de Arduino, seleccione Herramientas> Placa "NodeMCU 1.0 (módulo ESP12E)".

NOTA: ESP12F y ESP12E son intercambiables para este propósito.

Paso 4: comprensión del código

Incluyendo bibliotecas:

#include "UbidotsMicroESP8266.h"

#incluir #incluir

Ingrese sus credenciales de Wi-Fi y Ubidots:

#define TOKEN "Your-Token" // Pon aquí tu TOKEN de Ubidots

#define WIFISSID "Your-SSID" // Pon aquí tu SSID de Wi-Fi #define PASSWORD "password-of-ssid" // Pon aquí tu contraseña de Wi-Fi

Su TOKEN de Ubidots único se obtiene de su cuenta de Ubidots. Consulte el siguiente enlace para saber dónde encontrar su Ubidots TOKEN.

Configuración única, consulte los comentarios para obtener una explicación propia:

configuración vacía () {

// Depurando en 115200 usando el monitor serial Serial.begin (115200); // Conéctese al punto de acceso client.wifiConnection (WIFISSID, PASSWORD); // Comienza la comunicación I2C Wire.begin (); // Inicie el sensor SW01 SW01.begin (); // Introduciendo algún retraso, retraso de 2-3 segundos (DELAY_TIME); }

Repita la operación para mantenerla funcionando y actualizándose continuamente:

bucle vacío () {

// Cree una variable para almacenar los datos leídos de SW01 float tempC, humedad, presión, alt; // Creando variables de dispositivo tempC = 0; humedad = 0; presión = 0; alt=0; // Sondeo del sensor para recopilar datos SW01.poll (); // Guardar datos en variables de dispositivo tempC = SW01.getTempC (); // Temperatura en grados Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); humedad = SW01.getHumidity (); Serial.println ("Humedad:"); Serial.print (humedad); Serial.println ("%"); Serial.println (); presión = SW01.getPressure (); Serial.println ("Presión:"); Serial.print (presión); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitud:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Crea variables ubidots client.add ("Temperature (* C)", tempC); retraso (500); client.add ("Humedad (%)", humedad); retraso (500); client.add ("Presión (Pa)", presión); retraso (500); client.add ("Altitud (m)", alt); // Envía todos los puntos client.sendAll (true); // retraso entre lecturas del sensor para estabilizar el retraso (DELAY_TIME); }

El código completo:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Pon aquí tu Ubidots TOKEN #define WIFISSID "Your-SSID" // Pon aquí tu SSID Wi-Fi #define PASSWORD "password-of-ssid" // Pon aquí su cliente de Ubidots contraseña Wi-Fi (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Creando el objeto del sensor SW01 void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, CONTRASEÑA); Wire.begin (); // Inicie el sensor SW01 SW01.begin (); retraso (DELAY_TIME); } void loop () {// Crea una variable para almacenar los datos leídos de SW01 float tempC, humedad, presión, alt; tempC = 0; humedad = 0; presión = 0; alt=0; // Sondeo del sensor para recopilar datos SW01.poll (); // Guardando datos en la memoria de variables tempC = SW01.getTempC (); // Temperatura en grados Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); humedad = SW01.getHumidity (); Serial.println ("Humedad:"); Serial.print (humedad); Serial.println ("%"); Serial.println (); presión = SW01.getPressure (); Serial.println ("Presión:"); Serial.print (presión); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitud:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Crea variables ubidots client.add ("Temperature (* C)", tempC); retraso (500); client.add ("Humedad (%)", humedad); retraso (500); client.add ("Presión (Pa)", presión); retraso (500); client.add ("Altitud (m)", alt); // Envía todos los puntos client.sendAll (true); // retraso entre lecturas del sensor para estabilizar el retraso (DELAY_TIME); }

Paso 5: Inicie sesión en Ubidots

1. Abra su cuenta de Ubidots. Verá un dispositivo llamado “ESP8266” con 4 variables (vea la imagen a continuación).

Visualización de dispositivos

Imagen
Imagen

Visualización de variables

Imagen
Imagen

Si desea cambiar el nombre del dispositivo, use el código:

client.setDataSourceName ("New_name");

Paso 6: creación de paneles en Ubidots

Los paneles (estáticos y dinámicos) son interfaces de usuario para organizar y presentar los datos de un dispositivo y la información derivada de los datos. Los paneles contienen widgets que muestran los datos como tablas, indicadores, controles, tablas, gráficos y otros tamaños, formas y formularios.

Para crear un nuevo Panel de control en su cuenta de Ubidots, consulte el siguiente tutorial de Ubidots para aprender cómo hacerlo.

Solo como referencia, una vez que se crea su Panel de Ubidots, debería tener algo similar a la imagen a continuación:

Imagen
Imagen

SUGERENCIA PROFESIONAL: También hay una variedad de herramientas de generación de informes y gráficos. Si desea obtener más información sobre esto, le recomendamos que consulte esta guía.

Imagen
Imagen

Paso 7: Resumen

En este tutorial, hemos mostrado cómo codificar y conectar una estación meteorológica XinaBox a Ubidots. Esto permite el monitoreo remoto y se puede completar en 10-15 minutos.

Otros lectores también han encontrado útil …

  • UbiFunctions: integre datos de la plataforma AmbientWeather a Ubidots
  • Analytics: conceptos básicos de variables sintéticas
  • Control de temperatura con Ubidots MQTT y NodeMcu

Recomendado: