Cuprins:
- Pasul 1: Cerințe
- Pasul 2: Configurare hardware
- Pasul 3: Configurarea IDE Arduino
- Pasul 4: Înțelegerea codului
- Pasul 5: conectați-vă la Ubidots
- Pasul 6: Crearea tablourilor de bord în Ubidots
- Pasul 7: Rezumat
Video: Cum se construiește o stație meteo folosind XinaBox și Ubidots prin HTTP: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Aflați cum să vă creați propria stație meteo la Ubidots, folosind XinaBox xChips (IP01, CW01 și SW01)
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.
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
Vizualizarea variabilelor
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:
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.
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:
Stație meteo asistată prin satelit: 5 pași
Stație meteo asistată prin satelit: Acest proiect este destinat persoanelor care doresc să colecteze propriile date meteorologice. Poate măsura viteza și direcția vântului, temperatura și umiditatea aerului. De asemenea, este capabil să asculte sateliți meteo care orbitează Pământul o dată la 100 de minute. Voi
Stație meteo: ESP8266 Cu somn profund, SQL, graficare prin balon și complot: 3 pași
Stație meteo: ESP8266 Cu Deep Sleep, SQL, Graphing by Flask & Plotly: Ar fi distractiv să știi temperatura, umiditatea sau intensitatea luminii de pe balconul tău? Știu că aș face-o. Așa că am făcut o stație meteo simplă pentru a colecta astfel de date. Următoarele secțiuni sunt pașii pe care i-am făcut pentru a construi unul. Să începem
Stație meteo DIY și stație senzor WiFi: 7 pași (cu imagini)
Stație meteo DIY și stație senzor WiFi: În acest proiect vă voi arăta cum să creați o stație meteo împreună cu o stație senzor WiFi. Stația senzorului măsoară datele locale de temperatură și umiditate și le trimite, prin WiFi, către stația meteo. Stația meteo afișează apoi t
Cum să faci o stație meteo simplă folosind Arduino: 6 pași (cu imagini)
Cum să faceți o stație meteo simplă folosind Arduino: Bună ziua, băieți, în acest manual vă voi explica cum să faceți o stație meteo simplă pentru a detecta temperatura și umiditatea folosind senzorul DHT11 și Arduino, datele detectate vor fi afișate pe ecranul LCD. Înainte de a începe acest instructable trebuie să știți așa
Cum se construiește un braț de prindere controlat de robot prin Nrf24l01 Arduino: 3 pași (cu imagini)
Cum se construiește un braț de prindere robot controlat prin Nrf24l01 Arduino: Instrucțiunea „Cum se construiește un braț de prindere controlat prin intermediul Nrf24l01 Arduino” vă va explica cum să construiți un braț de prindere cu trei grade de libertate instalat pe roata cu șenile acționată de modulul L298N cu acționare cu motor dual folosind MEG