Indholdsfortegnelse:

Sådan opbygges en vejrstation ved hjælp af XinaBox og Ubidots over HTTP: 7 trin
Sådan opbygges en vejrstation ved hjælp af XinaBox og Ubidots over HTTP: 7 trin

Video: Sådan opbygges en vejrstation ved hjælp af XinaBox og Ubidots over HTTP: 7 trin

Video: Sådan opbygges en vejrstation ved hjælp af XinaBox og Ubidots over HTTP: 7 trin
Video: Sådan danner du en udrykningskorridor 2024, Juli
Anonim
Sådan opbygges en vejrstation ved hjælp af XinaBox og Ubidots over HTTP
Sådan opbygges en vejrstation ved hjælp af XinaBox og Ubidots over HTTP

Lær hvordan du laver din egen vejrstation på Ubidots ved hjælp af XinaBox xChips (IP01, CW01 og SW01)

Billede
Billede

ESP8266 Core- og Wi-Fi-modulet (xChip CW01) giver brugerne mulighed for at sende data fra XinaBox modulære xChips til skyen. Disse data kan fjernovervåges i Ubidots, hvor brugerne kan drage fordel af deres udvalg af IoT -værktøjer.

XChip SW01 Advanced Weather Sensor (Bosch BME280) måler temperatur, fugtighed og atmosfærisk tryk, hvorfra højde, skybase og dugpunkt også kan beregnes.

I denne vejledning bruger vi HTTP -protokol til at sende sensordata til Ubidots. Dette kan også gøres ved hjælp af MQTT -protokol.

Ved afslutningen af denne vejledning kan du overvåge og måle vejrforholdene på din XinaBox -enhed hvor som helst eksternt ved hjælp af Ubidots.

Trin 1: Krav

  • 1x CW01 - WiFi -kerne (ESP8266/ESP -12F)
  • 1x IP01 - USB -programmeringsinterface (FT232R)
  • 1x SW01 - Avanceret vejrføler (BME280)
  • 1x XC10 - 10 -pak xBUS -stik
  • Arduino IDE
  • Ubidots -konto

Trin 2: Hardwareopsætning

Tilslut CW01, SW01 og IP01 sammen ved hjælp af XC10 xBUS -stik. Du kan tilslutte det som vist i diagrammet herunder. Se denne vejledning om, hvordan du generelt samler xChips.

Billede
Billede

Tilslut derefter din enhed og pc via IP01's USB. Til dette skal du bruge xFlasher -softwaren til at blinke koden, når den er klar. Se denne vejledning om brug af xFlasher.

Trin 3: Opsætning af Arduino IDE

1. Installer Arduino IDE 1.8.8

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

BEMÆRK: Hvis du ikke er bekendt med, hvordan du installerer biblioteker, kan du se linket: Installation af Arduino -biblioteker

3. Med ESP8266 -platformen installeret, skal du vælge den ESP8266 -enhed, du arbejder med. I sagen arbejder vi med et "CW01 (ESP12F -modul)". Hvis du vil vælge dit kort fra Arduino IDE, skal du vælge Værktøjer> Kort “NodeMCU 1.0 (ESP12E -modul)”.

BEMÆRK: ESP12F og ESP12E kan udskiftes til dette formål.

Trin 4: Forståelse af koden

Herunder biblioteker:

#include "UbidotsMicroESP8266.h"

#include #include

Indtast dine Wi-Fi- og Ubidots-legitimationsoplysninger:

#define TOKEN "Your-Token" // Sæt her dine Ubidots TOKEN

#define WIFISSID "Your-SSID" // Sæt her dit Wi-Fi SSID #define PASSWORD "password-of-ssid" // Sæt her din Wi-Fi-adgangskode

Dit unikke Ubidots TOKEN hentes fra din Ubidots -konto. Se følgende link for at lære, hvor du finder dine Ubidots TOKEN.

En gangs opsætning, se kommentarerne for selvforklaring:

ugyldig opsætning () {

// Debugging ved 115200 ved hjælp af seriel skærm Serial.begin (115200); // Opret forbindelse til Access Point client.wifiConnection (WIFISSID, PASSWORD); // I2C -kommunikation begynder Wire.begin (); // Start SW01 -sensoren SW01.begin (); // Indførelse af en vis forsinkelse, 2-3 sekunders forsinkelse (DELAY_TIME); }

Sløjfe operationen for at holde den kørende og opdateres løbende:

void loop () {

// Opret en variabel for at gemme de data, der er læst fra SW01 flyde tempC, fugtighed, tryk, alt; // Oprettelse af enhedsvariabler tempC = 0; fugtighed = 0; tryk = 0; alt=0; // Afstemningssensor til indsamling af data SW01.poll (); // Gem data til enhedsvariabler tempC = SW01.getTempC (); // Temperatur i Celsius Serial.println ("Temperatur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); fugtighed = SW01.getHumidity (); Serial.println ("Fugtighed:"); Serielt tryk (fugtighed); Serial.println (" %"); Serial.println (); tryk = SW01.getPressure (); Serial.println ("Tryk:"); Serielt tryk (tryk); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Højde:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Opret ubidots -variabler client.add ("Temperatur (*C)", tempC); forsinkelse (500); client.add ("Fugtighed (%)", fugtighed); forsinkelse (500); client.add ("Tryk (Pa)", tryk); forsinkelse (500); client.add ("Højde (m)", alt); // Send alle punkterne client.sendAll (true); // forsinkelse mellem sensorlæsninger for at stabilisere forsinkelse (DELAY_TIME); }

Den komplette kode:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Put here your Ubidots TOKEN #define WIFISSID "Your-SSID" // Put here your Wi-Fi SSID #define PASSWORD "password-of-ssid" // Put here din Wi-Fi-adgangskode Ubidots-klient (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Oprettelse af objekt for opsætning af ugyldigt SW01 -sensor () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // Start SW01 -sensoren SW01.begin (); forsinkelse (DELAY_TIME); } void loop () {// Opret en variabel til lagring af de data, der læses fra SW01 float tempC, fugtighed, tryk, alt; tempC = 0; fugtighed = 0; tryk = 0; alt=0; // Afstemningssensor til indsamling af data SW01.poll (); // Lagring af data til variabler hukommelse tempC = SW01.getTempC (); // Temperatur i Celsius Serial.println ("Temperatur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); fugtighed = SW01.getHumidity (); Serial.println ("Fugtighed:"); Serielt tryk (fugtighed); Serial.println (" %"); Serial.println (); tryk = SW01.getPressure (); Serial.println ("Tryk:"); Serielt tryk (tryk); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Højde:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Opret ubidots -variabler client.add ("Temperatur (*C)", tempC); forsinkelse (500); client.add ("Fugtighed (%)", fugtighed); forsinkelse (500); client.add ("Tryk (Pa)", tryk); forsinkelse (500); client.add ("Højde (m)", alt); // Send alle punkterne client.sendAll (true); // forsinkelse mellem sensorlæsninger for at stabilisere forsinkelse (DELAY_TIME); }

Trin 5: Log ind på Ubidots

1. Åbn din Ubidots -konto. Du vil se en enhed med navnet "ESP8266" med 4 variabler (se billedet nedenfor).

Enhedsvisualisering

Billede
Billede

Variabler visualisering

Billede
Billede

Hvis du vil ændre enhedens navn, skal du bruge koden:

client.setDataSourceName ("nyt_navn");

Trin 6: Oprettelse af dashboards i Ubidots

Dashboards (statiske og dynamiske) er brugergrænseflader til at organisere og præsentere en enheds data og den indsigt, der stammer fra dataene. Dashboards indeholder widgets, der viser dataene som diagrammer, indikatorer, kontroller, tabeller, grafer og andre størrelser, former og former.

For at oprette et nyt instrumentbræt i din Ubidots -konto henvises til følgende Ubidots -vejledning for at lære, hvordan du gør det.

Bare som en reference, når dit Ubidots Dashboard er oprettet, skal du have noget, der ligner billedet herunder:

Billede
Billede

PRO -TIP: Der findes også en række graf- og rapporteringsværktøjer. Hvis du vil lære mere om dette, anbefaler vi, at du tjekker denne vejledning.

Billede
Billede

Trin 7: Resumé

I denne vejledning har vi vist, hvordan man koder og forbinder en XinaBox -vejrstation til Ubidots. Dette muliggør fjernovervågning og kan afsluttes inden for 10-15 minutter.

Andre læsere har også fundet nyttige …

  • UbiFunctions: Integrer data fra AmbientWeather -platformen til Ubidots
  • Analytics: Grundlæggende om syntetiske variabler
  • Temperaturkontrol med Ubidots MQTT og NodeMcu

Anbefalede: