Innehållsförteckning:

Hur man bygger en väderstation med hjälp av XinaBox och Ubidots över HTTP: 7 steg
Hur man bygger en väderstation med hjälp av XinaBox och Ubidots över HTTP: 7 steg

Video: Hur man bygger en väderstation med hjälp av XinaBox och Ubidots över HTTP: 7 steg

Video: Hur man bygger en väderstation med hjälp av XinaBox och Ubidots över HTTP: 7 steg
Video: HUR HÖGT KAN MAN BYGGA? 2024, Juli
Anonim
Hur man bygger en väderstation med hjälp av XinaBox och Ubidots via HTTP
Hur man bygger en väderstation med hjälp av XinaBox och Ubidots via HTTP
Lär dig hur du gör din egen väderstation på Ubidots med XinaBox xChips (IP01, CW01 och SW01)

Bild
Bild

Med ESP8266 Core- och Wi-Fi-modulen (xChip CW01) kan användare skicka data från XinaBox modulära xChips till molnet. Dessa data kan övervakas på distans i Ubidots, där användare kan dra nytta av sitt utbud av IoT -verktyg.

XChip SW01 Advanced Weather Sensor (Bosch BME280) mäter temperatur, luftfuktighet och atmosfärstryck, från vilket höjd, molnbas och daggpunkt också kan beräknas.

I denna handledning använder vi HTTP -protokoll för att skicka sensordata till Ubidots. Detta kan också göras med MQTT -protokoll.

I slutet av den här guiden kan du övervaka och mäta väderförhållandena på din XinaBox -enhet var som helst på distans med Ubidots.

Steg 1: Krav

  • 1x CW01 - WiFi -kärna (ESP8266/ESP -12F)
  • 1x IP01 - USB -programmeringsgränssnitt (FT232R)
  • 1x SW01 - Avancerad vädersensor (BME280)
  • 1x XC10 - 10 -pack xBUS -kontakter
  • Arduino IDE
  • Ubidots -konto

Steg 2: Maskinvaruinstallation

Anslut CW01, SW01 och IP01 tillsammans med XC10 xBUS -kontakterna. Du kan ansluta den som visas i diagrammet nedan. Se den här guiden om hur du monterar xChips generellt.

Bild
Bild

Anslut sedan din enhet och dator via IP01: s USB. För detta måste du använda xFlasher -programvaran för att blinka koden när den är klar. Se denna guide om hur du använder xFlasher.

Steg 3: Konfigurera Arduino IDE

1. Installera Arduino IDE 1.8.8

2. Installera dessa bibliotek till Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

OBS! Om du inte är bekant med hur du installerar bibliotek, se länken: Installera Arduino -bibliotek

3. Med ESP8266 -plattformen installerad väljer du den ESP8266 -enhet du arbetar med. I fallet arbetar vi med en "CW01 (ESP12F -modul)". Välj ditt kort från Arduino IDE genom att välja Verktyg> Kort "NodeMCU 1.0 (ESP12E -modul)".

OBS: ESP12F och ESP12E är utbytbara för detta ändamål.

Steg 4: Förstå koden

Inklusive bibliotek:

#inkludera "UbidotsMicroESP8266.h"

#inkludera #inkludera

Ange dina Wi-Fi- och Ubidots-referenser:

#define TOKEN "Your-Token" // Lägg här dina Ubidots TOKEN

#define WIFISSID "Your-SSID" // Lägg här ditt Wi-Fi SSID #define PASSWORD "password-of-ssid" // Lägg här ditt Wi-Fi-lösenord

Dina unika Ubidots TOKEN hämtas från ditt Ubidots -konto. Se följande länk för att lära dig var du hittar dina Ubidots TOKEN.

En gång installation, se kommentarerna för självförklaring:

void setup () {

// Debugging at 115200 using serial monitor Serial.begin (115200); // Anslut till Access Point client.wifiConnection (WIFISSID, PASSWORD); // I2C -kommunikation börjar Wire.begin (); // Starta SW01 -sensorn SW01.begin (); // Inför en viss fördröjning, 2-3 sekunder fördröjning (DELAY_TIME); }

Slinga operationen för att hålla den igång och uppdateras kontinuerligt:

void loop () {

// Skapa en variabel för att lagra data som läses från SW01 float tempC, fuktighet, tryck, alt; // Skapa enhetsvariabler tempC = 0; luftfuktighet = 0; tryck = 0; alt=0; // Poll Sensor för att samla in data SW01.poll (); // Spara data till enhetsvariabler tempC = SW01.getTempC (); // Temperatur i Celsius Serial.println ("Temperatur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); fukt = SW01.getHumidity (); Serial.println ("Luftfuktighet:"); Seriellt tryck (luftfuktighet); Serial.println (" %"); Serial.println (); tryck = SW01.getPressure (); Serial.println ("Tryck:"); Seriellt tryck (tryck); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitude:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Skapa ubidots -variabler client.add ("Temperatur (*C)", tempC); fördröjning (500); client.add ("Luftfuktighet (%)", luftfuktighet); fördröjning (500); client.add ("Tryck (Pa)", tryck); fördröjning (500); client.add ("Höjd (m)", alt); // Skicka alla punkter client.sendAll (true); // fördröjning mellan sensoravläsningar för att stabilisera fördröjning (DELAY_TIME); }

Den fullständiga koden:

#inkludera "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Lägg här dina Ubidots TOKEN #define WIFISSID "Your-SSID" // Lägg här ditt Wi-Fi SSID #define PASSWORD "password-of-ssid" // Lägg här ditt Wi-Fi-lösenord Ubidots-klient (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Skapa objekt för SW01 sensor void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, LÖSENORD); Wire.begin (); // Starta SW01 -sensorn SW01.begin (); fördröjning (DELAY_TIME); } void loop () {// Skapa en variabel för att lagra data som läses från SW01 float tempC, fuktighet, tryck, alt; tempC = 0; luftfuktighet = 0; tryck = 0; alt=0; // Poll Sensor för att samla in data SW01.poll (); // Spara data till variabler minne tempC = SW01.getTempC (); // Temperatur i Celsius Serial.println ("Temperatur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); fukt = SW01.getHumidity (); Serial.println ("Luftfuktighet:"); Seriellt tryck (luftfuktighet); Serial.println (" %"); Serial.println (); tryck = SW01.getPressure (); Serial.println ("Tryck:"); Seriellt tryck (tryck); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Altitude:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Skapa ubidots -variabler client.add ("Temperatur (*C)", tempC); fördröjning (500); client.add ("Luftfuktighet (%)", luftfuktighet); fördröjning (500); client.add ("Tryck (Pa)", tryck); fördröjning (500); client.add ("Höjd (m)", alt); // Skicka alla punkter client.sendAll (true); // fördröjning mellan sensoravläsningar för att stabilisera fördröjning (DELAY_TIME); }

Steg 5: Logga in på Ubidots

1. Öppna ditt Ubidots -konto. Du kommer att se en enhet som heter "ESP8266" med 4 variabler (se bilden nedan).

Enhetsvisualisering

Bild
Bild

Variabler visualisering

Bild
Bild

Om du vill ändra namnet på enheten använder du koden:

client.setDataSourceName ("Nytt namn");

Steg 6: Skapa instrumentpaneler i Ubidots

Instrumentpaneler (statiska och dynamiska) är användargränssnitt för att organisera och presentera en enhets data och insikter som härrör från data. Instrumentpaneler innehåller widgets som visar data som diagram, indikatorer, kontroller, tabeller, grafer och andra storlekar, former och former.

För att skapa en ny instrumentpanel i ditt Ubidots -konto, läs följande Ubidots handledning för att lära dig hur du gör det.

Bara som en referens, när din Ubidots Dashboard har skapats bör du ha något som liknar bilden nedan:

Bild
Bild

PRO -TIPS: Det finns också en rad graf- och rapporteringsverktyg. Om du vill lära dig mer om detta rekommenderar vi att du läser den här guiden.

Bild
Bild

Steg 7: Sammanfattning

I denna handledning har vi visat hur man kodar och ansluter en XinaBox väderstation till Ubidots. Detta möjliggör fjärrövervakning och kan slutföras inom 10-15 minuter.

Andra läsare har också funnit användbara …

  • UbiFunctions: Integrera data från AmbientWeather -plattformen till Ubidots
  • Analytics: Grunderna i syntetiska variabler
  • Temperaturkontroll med Ubidots MQTT och NodeMcu

Rekommenderad: