Taula de continguts:

Com es construeix una estació meteorològica mitjançant XinaBox i Ubidots mitjançant HTTP: 7 passos
Com es construeix una estació meteorològica mitjançant XinaBox i Ubidots mitjançant HTTP: 7 passos

Vídeo: Com es construeix una estació meteorològica mitjançant XinaBox i Ubidots mitjançant HTTP: 7 passos

Vídeo: Com es construeix una estació meteorològica mitjançant XinaBox i Ubidots mitjançant HTTP: 7 passos
Vídeo: Объяснение истории судьи Дредда Лора и ранних лет — ру... 2024, Desembre
Anonim
Com es construeix una estació meteorològica mitjançant XinaBox i Ubidots mitjançant HTTP
Com es construeix una estació meteorològica mitjançant XinaBox i Ubidots mitjançant HTTP

Apreneu a fer la vostra pròpia estació meteorològica a Ubidots amb XinaBox xChips (IP01, CW01 i SW01)

Imatge
Imatge

El mòdul ESP8266 Core i Wi-Fi (xChip CW01) permet als usuaris enviar dades des dels xChips modulars de XinaBox al núvol. Aquestes dades es poden controlar remotament a Ubidots, on els usuaris poden aprofitar la seva gamma d'eines IoT.

El sensor meteorològic avançat xChip SW01 (Bosch BME280) mesura la temperatura, la humitat i la pressió atmosfèrica, a partir de les quals també es pot calcular l’altitud, la base del núvol i el punt de rosada.

En aquest tutorial fem servir el protocol HTTP per enviar dades del sensor a Ubidots. Això també es podria fer mitjançant el protocol MQTT.

Al final d'aquesta guia, podreu controlar i mesurar les condicions meteorològiques del dispositiu XinaBox des de qualsevol lloc de manera remota mitjançant Ubidots.

Pas 1: requisits

  • 1x CW01: nucli WiFi (ESP8266 / ESP-12F)
  • 1x IP01: interfície de programació USB (FT232R)
  • 1x SW01: sensor meteorològic avançat (BME280)
  • 1x XC10: paquets de 10 connectors xBUS
  • IDE Arduino
  • Compte Ubidots

Pas 2: Configuració del maquinari

Connecteu CW01, SW01 i IP01 junts mitjançant els connectors XC10 xBUS. Podeu connectar-lo tal com es mostra al diagrama següent. Consulteu aquesta guia sobre com muntar xChips en general.

Imatge
Imatge

A continuació, connecteu el dispositiu i l'ordinador mitjançant l'USB de l'IP01. Per a això, haureu d’utilitzar el programari xFlasher per fer flaixar el codi un cop llest. Consulteu aquesta guia sobre l’ús de xFlasher.

Pas 3: Configuració de l'IDE Arduino

1. Instal·leu Arduino IDE 1.8.8

2. Instal·leu aquestes llibreries a Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

NOTA: Si no esteu familiaritzat amb com instal·lar biblioteques, consulteu l'enllaç: Instal·lació de biblioteques Arduino

3. Amb la plataforma ESP8266 instal·lada, seleccioneu el dispositiu ESP8266 amb què esteu treballant. En aquest cas, estem treballant amb un "CW01 (mòdul ESP12F)". Per seleccionar la vostra placa de l'IDE Arduino, seleccioneu Eines> Taula "NodeMCU 1.0 (mòdul ESP12E)".

NOTA: ESP12F i ESP12E són intercanviables per a aquest propòsit.

Pas 4: entendre el codi

Inclou biblioteques:

#include "UbidotsMicroESP8266.h"

#include #include

Introduïu les vostres credencials de Wi-Fi i Ubidots:

#define TOKEN "Your-Token" // Posa aquí el teu Ubidots TOKEN

#define WIFISSID "Your-SSID" // Posa aquí el teu SSID Wi-Fi #define PASSWORD "password-of-ssid" // Posa aquí la teva contrasenya Wi-Fi

El vostre Ubidots TOKEN únic s’obté del vostre compte d’Ubidots. Consulteu el següent enllaç per saber on podeu trobar el vostre Ubidots TOKEN.

Configuració única, consulteu els comentaris per a autoexplicació:

configuració nul·la () {

// Depuració a 115200 mitjançant el monitor sèrie Serial.begin (115200); // Connecteu-vos al punt d’accés client.wifiConnection (WIFISSID, PASSWORD); // Comença la comunicació I2C Wire.begin (); // Inicieu el sensor SW01 SW01.begin (); // Presentació d'un cert retard, 2-3 segons de retard (DELAY_TIME); }

Feu un bucle de l'operació per mantenir-la en funcionament i actualitzant-se contínuament:

bucle buit () {

// Creeu una variable per emmagatzemar les dades llegides de SW01 floC tempC, humitat, pressió, alt; // Creació de variables de dispositiu tempC = 0; humitat = 0; pressió = 0; alt=0; // Sensor d'enquesta per recollir dades SW01.poll (); // Desar dades a les variables del dispositiu tempC = SW01.getTempC (); // Temperatura en Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); humitat = SW01.getHumidity (); Serial.println ("Humitat:"); Serial.print (humitat); Serial.println ("%"); Serial.println (); pressió = SW01.getPressure (); Serial.println ("Pressió:"); Serial.print (pressió); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitud:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Creeu variables ubidots client.add ("Temperatura (* C)", tempC); retard (500); client.add ("Humitat (%)", humitat); retard (500); client.add ("Pressió (Pa)", pressió); retard (500); client.add ("Altitud (m)", alt); // Envia tots els punts client.sendAll (true); // retard entre les lectures del sensor per estabilitzar el retard (DELAY_TIME); }

El codi complet:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Posa aquí els teus ubidots TOKEN #define WIFISSID "Your-SSID" // Posa aquí el teu SSID Wi-Fi #define PASSWORD "password-of-ssid" // Posa aquí la vostra contrasenya Wi-Fi client Ubidots (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Creació de l'objecte de configuració del buit del sensor SW01 () {Serial.begin (115200); client.wifiConnection (WIFISSID, CONTRASENYA); Wire.begin (); // Inicieu el sensor SW01 SW01.begin (); retard (DELAY_TIME); } void loop () {// Creeu una variable per emmagatzemar les dades llegides des de SW01 floC tempC, humitat, pressió, alt; tempC = 0; humitat = 0; pressió = 0; alt=0; // Sensor d'enquesta per recollir dades SW01.poll (); // Desar dades a la memòria de variables tempC = SW01.getTempC (); // Temperatura en Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); humitat = SW01.getHumidity (); Serial.println ("Humitat:"); Serial.print (humitat); Serial.println ("%"); Serial.println (); pressió = SW01.getPressure (); Serial.println ("Pressió:"); Serial.print (pressió); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitud:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Creeu variables ubidots client.add ("Temperatura (* C)", tempC); retard (500); client.add ("Humitat (%)", humitat); retard (500); client.add ("Pressió (Pa)", pressió); retard (500); client.add ("Altitud (m)", alt); // Envia tots els punts client.sendAll (true); // retard entre les lectures del sensor per estabilitzar el retard (DELAY_TIME); }

Pas 5: inicieu la sessió a Ubidots

1. Obriu el compte Ubidots. Veureu un dispositiu anomenat "ESP8266" amb 4 variables (vegeu la imatge següent).

Visualització de dispositius

Imatge
Imatge

Visualització de variables

Imatge
Imatge

Si voleu canviar el nom del dispositiu, utilitzeu el codi:

client.setDataSourceName ("Nom_nou");

Pas 6: Creació de taulers de control a Ubidots

Els taulers de control (estàtics i dinàmics) són interfícies d’usuari per organitzar i presentar les dades d’un dispositiu i les estadístiques derivades de les dades. Els taulers de control contenen widgets que mostren les dades com a gràfics, indicadors, controls, taules, gràfics i altres mides, formes i formularis.

Per crear un nou tauler al vostre compte d’Ubidots, consulteu el següent tutorial d’Ubidots per obtenir informació sobre com fer-ho.

Com a referència, un cop creat el tauler Ubidots, hauríeu de tenir alguna cosa similar a la imatge següent:

Imatge
Imatge

SUGGERIMENT PRO: també hi ha diverses eines de gràfics i informes. Si voleu obtenir més informació sobre això, us recomanem que consulteu aquesta guia.

Imatge
Imatge

Pas 7: resum

En aquest tutorial, hem mostrat com codificar i connectar una estació meteorològica XinaBox a Ubidots. Això permet la supervisió remota i es pot completar en un termini de 10 a 15 minuts.

Altres lectors també han trobat útils …

  • UbiFunctions: integra dades de la plataforma AmbientWeather a Ubidots
  • Analítica: conceptes bàsics sobre les variables sintètiques
  • Control de temperatura amb Ubidots MQTT i NodeMcu

Recomanat: