Cuprins:

Cum se construiește o stație meteo folosind XinaBox și Ubidots prin HTTP: 7 pași
Cum se construiește o stație meteo folosind XinaBox și Ubidots prin HTTP: 7 pași

Video: Cum se construiește o stație meteo folosind XinaBox și Ubidots prin HTTP: 7 pași

Video: Cum se construiește o stație meteo folosind XinaBox și Ubidots prin HTTP: 7 pași
Video: Statie meteo Qilive. cum se fac setarile la statia meteo electronica. 2024, Iulie
Anonim
Cum se construiește o stație meteo folosind XinaBox și Ubidots prin HTTP
Cum se construiește o stație meteo folosind XinaBox și Ubidots prin HTTP

Aflați cum să vă creați propria stație meteo la Ubidots, folosind XinaBox xChips (IP01, CW01 și SW01)

Imagine
Imagine

Modulul ESP8266 Core și Wi-Fi (xChip CW01) permite utilizatorilor să trimită date din cloud-urile xChip modulare ale XinaBox. Aceste date pot fi monitorizate de la distanță în Ubidots, unde utilizatorii pot profita de gama lor de instrumente IoT.

Senzorul avansat meteo xChip SW01 (Bosch BME280) măsoară temperatura, umiditatea și presiunea atmosferică, de la care se pot calcula și altitudinea, baza norului și punctul de rouă.

În acest tutorial folosim protocolul HTTP pentru a trimite datele senzorului către Ubidots. Acest lucru se poate face și folosind protocolul MQTT.

Până la sfârșitul acestui ghid, veți putea monitoriza și măsura condițiile meteorologice de pe dispozitivul dvs. XinaBox de oriunde de la distanță folosind Ubidots.

Pasul 1: Cerințe

  • 1x CW01 - nucleu WiFi (ESP8266 / ESP-12F)
  • 1x IP01 - Interfață de programare USB (FT232R)
  • 1x SW01 - Senzor avansat de vreme (BME280)
  • 1x XC10 - Conectori xBUS de 10 pachete
  • IDE Arduino
  • Cont Ubidots

Pasul 2: Configurare hardware

Conectați CW01, SW01 și IP01 împreună utilizând conectorii XC10 xBUS. Îl puteți conecta așa cum se arată în diagrama de mai jos. Vă rugăm să consultați acest ghid despre cum să asamblați xChips în general.

Imagine
Imagine

Apoi, conectați dispozitivul și computerul prin USB-ul IP01. Pentru aceasta, va trebui să utilizați software-ul xFlasher pentru a bloca codul odată gata. Consultați acest ghid despre utilizarea xFlasher.

Pasul 3: Configurarea IDE Arduino

1. Instalați Arduino IDE 1.8.8

2. Instalați aceste biblioteci pe Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

NOTĂ: Dacă nu sunteți familiarizat cu modul de instalare a bibliotecilor, vă rugăm să consultați linkul: Instalarea bibliotecilor Arduino

3. Cu platforma ESP8266 instalată, selectați dispozitivul ESP8266 cu care lucrați. În acest caz, lucrăm cu un „CW01 (modul ESP12F)”. Pentru a vă selecta placa din Arduino IDE, selectați Instrumente> Placă „NodeMCU 1.0 (modul ESP12E)”.

NOTĂ: ESP12F și ESP12E sunt interschimbabile în acest scop.

Pasul 4: Înțelegerea codului

Inclusiv biblioteci:

#include "UbidotsMicroESP8266.h"

#include #include

Introduceți acreditările Wi-Fi și Ubidots:

#define TOKEN "Your-Token" // Puneți aici Ubidots TOKEN

#define WIFISSID "Your-SSID" // Pune aici SSID-ul tău Wi-Fi #define PASSWORD "password-of-ssid" // Pune aici parola Wi-Fi

Ubidots-ul dvs. unic TOKEN este obținut din contul dvs. Ubidots. Consultați următorul link pentru a afla unde să vă găsiți Ubidots TOKEN.

Configurare o dată, consultați comentariile pentru auto-explicație:

configurare nulă () {

// Depanare la 115200 folosind monitorul serial Serial.begin (115200); // Conectați-vă la punctul de acces client.wifiConnection (WIFISSID, PASSWORD); // Comunicarea I2C începe Wire.begin (); // Porniți senzorul SW01 SW01.begin (); // Introducerea unor întârzieri, întârziere de 2-3 secunde (DELAY_TIME); }

Buclați operațiunea, pentru ao menține în funcțiune și actualizarea continuă:

bucla nulă () {

// Creați o variabilă pentru a stoca datele citite din SW01 float tempC, umiditate, presiune, alt; // Crearea variabilelor dispozitivului tempC = 0; umiditate = 0; presiune = 0; alt=0; // Senzor sondaj pentru colectarea datelor SW01.poll (); // Salvarea datelor în variabilele dispozitivului tempC = SW01.getTempC (); // Temperatura în Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); umiditate = SW01.getHumidity (); Serial.println ("Umiditate:"); Serial.print (umiditate); Serial.println ("%"); Serial.println (); pressure = SW01.getPressure (); Serial.println ("Presiune:"); Serial.print (presiune); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitudine:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Creați variabile ubidots client.add ("Temperatura (* C)", tempC); întârziere (500); client.add ("Umiditate (%)", umiditate); întârziere (500); client.add ("Presiune (Pa)", presiune); întârziere (500); client.add ("Altitudine (m)", alt); // Trimiteți toate punctele client.sendAll (adevărat); // întârziere între citirea senzorului pentru stabilizarea întârzierii (DELAY_TIME); }

Codul complet:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Pune aici Ubidots TOKEN #define WIFISSID "Your-SSID" // Pune aici SSID-ul tău Wi-Fi #define PASSWORD "password-of-ssid" // Pune aici parola dvs. Wi-Fi clientul Ubidots (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Crearea obiectului setării golului senzorului SW01 () {Serial.begin (115200); client.wifiConnection (WIFISSID, PAROLĂ); Wire.begin (); // Porniți senzorul SW01 SW01.begin (); întârziere (DELAY_TIME); } void loop () {// Creați o variabilă pentru a stoca datele citite din SW01 float tempC, umiditate, presiune, alt; tempC = 0; umiditate = 0; presiune = 0; alt=0; // Senzor sondaj pentru colectarea datelor SW01.poll (); // Salvarea datelor în variabilele de memorie tempC = SW01.getTempC (); // Temperatura în Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); umiditate = SW01.getHumidity (); Serial.println ("Umiditate:"); Serial.print (umiditate); Serial.println ("%"); Serial.println (); pressure = SW01.getPressure (); Serial.println ("Presiune:"); Serial.print (presiune); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitudine:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Creați variabile ubidots client.add ("Temperatura (* C)", tempC); întârziere (500); client.add ("Umiditate (%)", umiditate); întârziere (500); client.add ("Presiune (Pa)", presiune); întârziere (500); client.add ("Altitudine (m)", alt); // Trimiteți toate punctele client.sendAll (adevărat); // întârziere între citirea senzorului pentru stabilizarea întârzierii (DELAY_TIME); }

Pasul 5: conectați-vă la Ubidots

1. Deschideți contul Ubidots. Veți vedea un dispozitiv numit „ESP8266” cu 4 variabile (a se vedea imaginea de mai jos).

Vizualizarea dispozitivului

Imagine
Imagine

Vizualizarea variabilelor

Imagine
Imagine

Dacă doriți să schimbați numele dispozitivului, utilizați codul:

client.setDataSourceName ("Nume_nou");

Pasul 6: Crearea tablourilor de bord în Ubidots

Tablourile de bord (statice și dinamice) sunt interfețe de utilizator pentru organizarea și prezentarea datelor unui dispozitiv și a informațiilor derivate din date. Tablourile de bord conțin widget-uri care afișează datele sub formă de diagrame, indicatori, controale, tabele, grafice și alte dimensiuni, forme și forme.

Pentru a crea un nou tablou de bord în contul dvs. Ubidots, consultați următorul tutorial Ubidots pentru a afla cum să o faceți.

Doar ca referință, odată creat tabloul de bord Ubidots, ar trebui să aveți ceva similar cu imaginea de mai jos:

Imagine
Imagine

SFAT PRO: Există, de asemenea, o serie de instrumente de graficare și raportare. Dacă doriți să aflați mai multe despre acest lucru, vă recomandăm să consultați acest ghid.

Imagine
Imagine

Pasul 7: Rezumat

În acest tutorial, am arătat cum să codăm și să conectăm o stație meteo XinaBox la Ubidots. Aceasta permite monitorizarea de la distanță și poate fi finalizată în decurs de 10-15 minute.

Alți cititori au găsit, de asemenea, utile …

  • UbiFunctions: Integrarea datelor de pe platforma AmbientWeather la Ubidots
  • Analize: elemente de bază pentru variabilele sintetice
  • Controlul temperaturii cu Ubidots MQTT și NodeMcu

Recomandat: