Innholdsfortegnelse:

Hvordan bygge en værstasjon ved hjelp av XinaBox og Ubidots over HTTP: 7 trinn
Hvordan bygge en værstasjon ved hjelp av XinaBox og Ubidots over HTTP: 7 trinn

Video: Hvordan bygge en værstasjon ved hjelp av XinaBox og Ubidots over HTTP: 7 trinn

Video: Hvordan bygge en værstasjon ved hjelp av XinaBox og Ubidots over HTTP: 7 trinn
Video: Guardians in the Wilderness: Joey & Shannon Hodgson's Journey as Remote Forest Fire Tower Lookouts 2024, November
Anonim
Hvordan bygge en værstasjon ved hjelp av XinaBox og Ubidots via HTTP
Hvordan bygge en værstasjon ved hjelp av XinaBox og Ubidots via HTTP

Lær hvordan du lager din egen værstasjon på Ubidots, ved hjelp av XinaBox xChips (IP01, CW01 og SW01)

Bilde
Bilde

ESP8266 Core og Wi-Fi-modulen (xChip CW01) lar brukerne sende data fra XinaBox modulære xChips til skyen. Disse dataene kan overvåkes eksternt i Ubidots, hvor brukere kan dra fordel av sitt utvalg av IoT -verktøy.

XChip SW01 Advanced Weather Sensor (Bosch BME280) måler temperatur, fuktighet og atmosfærisk trykk, hvorfra høyde, skybase og duggpunkt også kan beregnes.

I denne opplæringen bruker vi HTTP -protokoll for å sende sensordata til Ubidots. Dette kan også gjøres ved å bruke MQTT -protokollen.

På slutten av denne veiledningen kan du overvåke og måle værforholdene på XinaBox -enheten din fra hvor som helst eksternt ved hjelp av Ubidots.

Trinn 1: Krav

  • 1x CW01 - WiFi -kjerne (ESP8266/ESP -12F)
  • 1x IP01 - USB -programmeringsgrensesnitt (FT232R)
  • 1x SW01 - Avansert værsensor (BME280)
  • 1x XC10 - 10 -pakning xBUS -kontakter
  • Arduino IDE
  • Ubidots -konto

Trinn 2: Maskinvareoppsett

Koble CW01, SW01 og IP01 sammen ved hjelp av XC10 xBUS -kontaktene. Du kan koble den til som vist i diagrammet nedenfor. Vennligst se denne veiledningen om hvordan du monterer xChips generelt.

Bilde
Bilde

Koble deretter enheten og PC -en via IP01s USB. For dette må du bruke xFlasher -programvaren til å blinke koden når den er klar. Se denne veiledningen om bruk av xFlasher.

Trinn 3: Konfigurere Arduino IDE

1. Installer Arduino IDE 1.8.8

2. Installer disse bibliotekene til Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

MERK: Hvis du ikke er kjent med hvordan du installerer biblioteker, kan du se lenken: Installere Arduino -biblioteker

3. Når ESP8266 -plattformen er installert, velger du ESP8266 -enheten du jobber med. I saken jobber vi med en "CW01 (ESP12F -modul)". For å velge brettet ditt fra Arduino IDE, velg Verktøy> Kort “NodeMCU 1.0 (ESP12E -modul)”.

MERK: ESP12F og ESP12E er utskiftbare for dette formålet.

Trinn 4: Forstå koden

Inkludert biblioteker:

#include "UbidotsMicroESP8266.h"

#include #include

Skriv inn Wi-Fi og Ubidots legitimasjon:

#define TOKEN "Your-Token" // Legg her Ubidots TOKEN din

#define WIFISSID "Your-SSID" // Legg her Wi-Fi SSID #definer PASSORD "password-of-ssid" // Legg her Wi-Fi-passordet ditt

Dine unike Ubidots TOKEN hentes fra Ubidots -kontoen din. Se følgende lenke for å finne ut hvor du finner Ubidots TOKEN.

En gangs oppsett, se kommentarene for selvforklaring:

ugyldig oppsett () {

// Debugging på 115200 ved hjelp av seriell skjerm Serial.begin (115200); // Koble til Access Point client.wifiConnection (WIFISSID, PASSWORD); // I2C -kommunikasjon begynner Wire.begin (); // Start SW01 -sensoren SW01.begin (); // Vi introduserer en viss forsinkelse, 2-3 sekunder forsinkelse (DELAY_TIME); }

Sløyfe operasjonen, for å holde den i gang og oppdateres kontinuerlig:

void loop () {

// Lag en variabel for å lagre dataene som er lest fra SW01 flyte tempC, fuktighet, trykk, alt; // Opprette enhetsvariabler tempC = 0; fuktighet = 0; trykk = 0; alt=0; // Avstemningssensor for innsamling av data SW01.poll (); // Lagre data i enhetsvariabler tempC = SW01.getTempC (); // Temperatur i Celsius Serial.println ("Temperatur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); fuktighet = SW01.getHumidity (); Serial.println ("Fuktighet:"); Serial.print (fuktighet); Serial.println (" %"); Serial.println (); trykk = SW01.getPressure (); Serial.println ("Trykk:"); Serial.print (trykk); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Høyde:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Lag ubidots -variabler client.add ("Temperatur (*C)", tempC); forsinkelse (500); client.add ("Fuktighet (%)", fuktighet); forsinkelse (500); client.add ("Trykk (Pa)", trykk); forsinkelse (500); client.add ("Høyde (m)", alt); // Send alle prikkene client.sendAll (true); // forsinkelse mellom sensoravlesninger for å stabilisere forsinkelse (DELAY_TIME); }

Den komplette koden:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Sett her Ubidots TOKEN #define WIFISSID "Your-SSID" // Sett her Wi-Fi SSID #definer PASSORD "password-of-ssid" // Sett her ditt Wi-Fi-passord Ubidots-klient (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Opprette objekt for SW01 sensor void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // Start SW01 -sensoren SW01.begin (); forsinkelse (DELAY_TIME); } void loop () {// Lag en variabel for å lagre dataene som er lest fra SW01 float tempC, fuktighet, trykk, alt; tempC = 0; fuktighet = 0; trykk = 0; alt=0; // Avstemningssensor for innsamling av data SW01.poll (); // Lagre data til variabler minne tempC = SW01.getTempC (); // Temperatur i Celsius Serial.println ("Temperatur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); fuktighet = SW01.getHumidity (); Serial.println ("Fuktighet:"); Serial.print (fuktighet); Serial.println (" %"); Serial.println (); trykk = SW01.getPressure (); Serial.println ("Trykk:"); Serial.print (trykk); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Høyde:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Lag ubidots -variabler client.add ("Temperatur (*C)", tempC); forsinkelse (500); client.add ("Fuktighet (%)", fuktighet); forsinkelse (500); client.add ("Trykk (Pa)", trykk); forsinkelse (500); client.add ("Høyde (m)", alt); // Send alle prikkene client.sendAll (true); // forsinkelse mellom sensoravlesninger for å stabilisere forsinkelse (DELAY_TIME); }

Trinn 5: Logg på Ubidots

1. Åpne Ubidots -kontoen din. Du vil se en enhet som heter “ESP8266” med 4 variabler (se bildet nedenfor).

Enhetsvisualisering

Bilde
Bilde

Variabler visualisering

Bilde
Bilde

Hvis du vil endre navnet på enheten, bruker du koden:

client.setDataSourceName ("nytt navn");

Trinn 6: Opprette dashbord i Ubidots

Dashbord (statisk og dynamisk) er brukergrensesnitt for å organisere og presentere data fra en enhet og innsikt fra dataene. Dashboards inneholder widgets som viser dataene som diagrammer, indikatorer, kontroller, tabeller, grafer og andre størrelser, former og former.

Hvis du vil opprette et nytt dashbord i Ubidots -kontoen din, kan du se følgende opplæring i Ubidots for å lære hvordan du gjør det.

Bare som en referanse, når Ubidots Dashboard er opprettet, bør du ha noe som ligner på bildet nedenfor:

Bilde
Bilde

PRO -TIPS: Det finnes også en rekke graf- og rapporteringsverktøy. Hvis du vil lære mer om dette, anbefaler vi at du sjekker denne guiden.

Bilde
Bilde

Trinn 7: Oppsummering

I denne opplæringen har vi vist hvordan du koder og kobler en XinaBox værstasjon til Ubidots. Dette muliggjør fjernovervåking og kan fullføres innen 10-15 minutter.

Andre lesere har også funnet nyttig …

  • UbiFunctions: Integrer data fra AmbientWeather -plattformen til Ubidots
  • Analytics: Grunnleggende om syntetiske variabler
  • Temperaturkontroll med Ubidots MQTT og NodeMcu

Anbefalt: