Obsah:

Ako vybudovať meteorologickú stanicu pomocou XinaBoxu a Ubidots cez HTTP: 7 krokov
Ako vybudovať meteorologickú stanicu pomocou XinaBoxu a Ubidots cez HTTP: 7 krokov

Video: Ako vybudovať meteorologickú stanicu pomocou XinaBoxu a Ubidots cez HTTP: 7 krokov

Video: Ako vybudovať meteorologickú stanicu pomocou XinaBoxu a Ubidots cez HTTP: 7 krokov
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, Júl
Anonim
Ako vybudovať meteorologickú stanicu pomocou XinaBoxu a Ubidots cez HTTP
Ako vybudovať meteorologickú stanicu pomocou XinaBoxu a Ubidots cez HTTP
Naučte sa, ako si vytvoriť vlastnú meteorologickú stanicu v Ubidots pomocou XinaBox xChips (IP01, CW01 a SW01)

Obrázok
Obrázok

Modul ESP8266 Core a Wi-Fi (xChip CW01) umožňuje používateľom odosielať údaje z modulárnych xChipov XinaBoxu do cloudu. Tieto údaje je možné vzdialene monitorovať v Ubidots, kde môžu používatelia využívať výhody svojho sortimentu nástrojov internetu vecí.

Pokročilý senzor počasia xChip SW01 (Bosch BME280) meria teplotu, vlhkosť a atmosférický tlak, z ktorých je možné vypočítať aj nadmorskú výšku, základňu mrakov a rosný bod.

V tomto tutoriáli používame protokol HTTP na odosielanie údajov zo senzorov do Ubidots. To sa dá urobiť aj pomocou protokolu MQTT.

Na konci tejto príručky budete môcť monitorovať a merať poveternostné podmienky na vašom zariadení XinaBox odkiaľkoľvek na diaľku pomocou Ubidots.

Krok 1: Požiadavky

  • 1x CW01 - WiFi jadro (ESP8266/ESP -12F)
  • 1x IP01 - USB programovacie rozhranie (FT232R)
  • 1x SW01 - pokročilý snímač počasia (BME280)
  • 1x XC10 - 10 -kusové konektory xBUS
  • Arduino IDE
  • Účet Ubidots

Krok 2: Nastavenie hardvéru

Pripojte CW01, SW01 a IP01 dohromady pomocou konektorov XC10 xBUS. Môžete ho pripojiť podľa nižšie uvedeného diagramu. Pozrite si túto príručku o všeobecnom zostavení xChips.

Obrázok
Obrázok

Potom pripojte svoje zariadenie k počítaču pomocou USB zariadenia IP01. Na tento účel budete musieť použiť softvér xFlasher na zacielenie kódu, keď budete pripravení. Pozrite si túto príručku o používaní xFlasher.

Krok 3: Nastavenie IDE Arduino

1. Nainštalujte Arduino IDE 1.8.8

2. Nainštalujte do Arduina tieto knižnice: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

POZNÁMKA: Ak neviete, ako nainštalovať knižnice, pozrite sa na odkaz: Inštalácia knižníc Arduino

3. S nainštalovanou platformou ESP8266 vyberte zariadenie ESP8266, s ktorým pracujete. V prípade pracujeme s „CW01 (modul ESP12F)“. Ak chcete vybrať dosku z Arduino IDE, vyberte položku Nástroje> Doska „NodeMCU 1.0 (modul ESP12E)“.

POZNÁMKA: ESP12F a ESP12E sú na tento účel zameniteľné.

Krok 4: Porozumenie kódu

Vrátane knižníc:

#include "UbidotsMicroESP8266.h"

#include #include

Zadajte svoje poverenia Wi-Fi a Ubidots:

#define TOKEN „Your-Token“// Sem vložte svoje Ubidots TOKEN

#define WIFISSID „Your-SSID“// Sem zadajte svoje Wi-Fi SSID #define PASSWORD „heslo-ssid“// Sem zadajte svoje heslo k Wi-Fi

Váš jedinečný Ubidots TOKEN sa získava z vášho účtu Ubidots. Na nasledujúcom odkaze sa dozviete, kde nájdete Ubidots TOKEN.

Jednorazové nastavenie nájdete v komentároch pre vlastné vysvetlenie:

neplatné nastavenie () {

// Ladenie na 115200 pomocou sériového monitora Serial.begin (115200); // Pripojenie k klientovi prístupového bodu.wifiConnection (WIFISSID, HESLO); // I2C komunikácia začína Wire.begin (); // Spustite snímač SW01 SW01.begin (); // Predstavujeme určité oneskorenie, 2-3 sekundové oneskorenie (DELAY_TIME); }

Zopakujte operáciu, aby bola spustená a neustále aktualizovaná:

prázdna slučka () {

// Vytvorte premennú na ukladanie údajov načítaných z SW01 float tempC, vlhkosť, tlak, alt; // Vytváranie premenných zariadenia tempC = 0; vlhkosť = 0; tlak = 0; alt=0; // Senzor hlasovania na zber údajov SW01.poll (); // Ukladanie údajov do premenných zariadenia tempC = SW01.getTempC (); // Teplota v stupňoch Celzia Serial.println ("Teplota:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); vlhkosť = SW01.getHumidity (); Serial.println ("Vlhkosť:"); Sériový tlač (vlhkosť); Serial.println (" %"); Serial.println (); tlak = SW01.getPressure (); Serial.println ("Tlak:"); Sériový tlač (tlak); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Nadmorská výška:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Vytvorenie premenných ubidots client.add ("Teplota (*C)", tempC); oneskorenie (500); client.add ("Vlhkosť (%)", vlhkosť); oneskorenie (500); client.add („Tlak (Pa)“, tlak); oneskorenie (500); client.add ("Nadmorská výška (m)", alt); // Pošlite všetky body client.sendAll (true); // oneskorenie medzi načítaniami senzora na stabilizáciu oneskorenia (DELAY_TIME); }

Kompletný kód:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Sem vložte svoje Ubidots TOKEN #define WIFISSID "Your-SSID" // Sem zadajte svoje Wi-Fi SSID #define PASSWORD "heslo-ssid" // Vložte sem vaše heslo Wi-Fi klienta Ubidots (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Vytváranie objektu senzora SW01 void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, HESLO); Wire.begin (); // Spustite snímač SW01 SW01.begin (); meškanie (DELAY_TIME); } void loop () {// Vytvorte premennú na ukladanie údajov načítaných z SW01 float tempC, vlhkosť, tlak, alt; tempC = 0; vlhkosť = 0; tlak = 0; alt=0; // Senzor hlasovania na zber údajov SW01.poll (); // Ukladanie údajov do premenných memory tempC = SW01.getTempC (); // Teplota v stupňoch Celzia Serial.println ("Teplota:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); vlhkosť = SW01.getHumidity (); Serial.println ("Vlhkosť:"); Sériový tlač (vlhkosť); Serial.println (" %"); Serial.println (); tlak = SW01.getPressure (); Serial.println ("Tlak:"); Sériový tlač (tlak); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Nadmorská výška:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Vytvorenie premenných ubidots client.add ("Teplota (*C)", tempC); oneskorenie (500); client.add ("Vlhkosť (%)", vlhkosť); oneskorenie (500); client.add ("Tlak (Pa)", tlak); oneskorenie (500); client.add ("Nadmorská výška (m)", alt); // Pošlite všetky body client.sendAll (true); // oneskorenie medzi načítaniami senzora na stabilizáciu oneskorenia (DELAY_TIME); }

Krok 5: Prihláste sa do Ubidots

1. Otvorte si svoj účet Ubidots. Uvidíte zariadenie s názvom „ESP8266“so 4 premennými (pozri obrázok nižšie).

Vizualizácia zariadenia

Obrázok
Obrázok

Vizualizácia premenných

Obrázok
Obrázok

Ak chcete zmeniť názov zariadenia, použite kód:

client.setDataSourceName ("New_name");

Krok 6: Vytvorenie informačných panelov v Ubidots

Panely (statické a dynamické) sú používateľské rozhrania na organizovanie a prezentáciu údajov zariadenia a prehľadov z nich odvodených. Panely obsahujú miniaplikácie, ktoré zobrazujú údaje ako grafy, ukazovatele, ovládacie prvky, tabuľky, grafy a iné veľkosti, tvary a formuláre.

Ak chcete vo svojom účte Ubidots vytvoriť nový informačný panel, v nasledujúcom návode k Ubidots sa dozviete, ako na to.

Len ako referencia, po vytvorení hlavného panela Ubidots by ste mali mať niečo podobné obrázku nižšie:

Obrázok
Obrázok

PRO TIP: Existuje aj množstvo nástrojov na vytváranie grafov a nahlasovania. Ak sa o tom chcete dozvedieť viac, odporúčame vám prečítať si tohto sprievodcu.

Obrázok
Obrázok

Krok 7: Zhrnutie

V tomto návode sme si ukázali, ako kódovať a pripojiť meteorologickú stanicu XinaBox k Ubidots. To umožňuje diaľkové monitorovanie a môže byť dokončené do 10-15 minút.

Ostatní čitatelia tiež považovali za užitočných …

  • UbiFunctions: Integrujte údaje z platformy AmbientWeather do Ubidots
  • Analytika: Základy syntetických premenných
  • Regulácia teploty pomocou Ubidots MQTT a NodeMcu

Odporúča: