Turinys:

Kaip sukurti orų stotį naudojant „XinaBox“ir „Ubidots“naudojant HTTP: 7 veiksmai
Kaip sukurti orų stotį naudojant „XinaBox“ir „Ubidots“naudojant HTTP: 7 veiksmai

Video: Kaip sukurti orų stotį naudojant „XinaBox“ir „Ubidots“naudojant HTTP: 7 veiksmai

Video: Kaip sukurti orų stotį naudojant „XinaBox“ir „Ubidots“naudojant HTTP: 7 veiksmai
Video: Kaip Jonui sekasi naudoti "Humilat' produktą? 2024, Liepa
Anonim
Kaip sukurti orų stotį naudojant „XinaBox“ir „Ubidots“per HTTP
Kaip sukurti orų stotį naudojant „XinaBox“ir „Ubidots“per HTTP

Sužinokite, kaip sukurti savo orų stotį „Ubidots“naudojant „XinaBox xChips“(IP01, CW01 ir SW01)

Vaizdas
Vaizdas

ESP8266 Core ir „Wi-Fi“modulis („xChip CW01“) leidžia vartotojams siųsti duomenis iš „XinaBox“modulinių „xChips“į debesį. Šiuos duomenis galima stebėti nuotoliniu būdu „Ubidots“, kur vartotojai gali pasinaudoti savo daiktų interneto įrankių asortimentu.

„XChip SW01 Advanced Weather Sensor“(„Bosch BME280“) matuoja temperatūrą, drėgmę ir atmosferos slėgį, pagal kuriuos taip pat galima apskaičiuoti aukštį, debesų pagrindą ir rasos tašką.

Šioje pamokoje mes naudojame HTTP protokolą, norėdami siųsti jutiklių duomenis į „Ubidots“. Tai taip pat galima padaryti naudojant MQTT protokolą.

Pasibaigus šiam vadovui, galėsite stebėti ir matuoti „XinaBox“įrenginio oro sąlygas bet kur nuotoliniu būdu, naudodami „Ubidots“.

1 žingsnis: Reikalavimai

  • 1x CW01 - „WiFi“šerdis (ESP8266/ESP -12F)
  • 1x IP01 - USB programavimo sąsaja (FT232R)
  • 1x SW01 - išplėstinis oro jutiklis (BME280)
  • 1x XC10 - 10 -Pack xBUS jungtys
  • „Arduino IDE“
  • „Ubidots“paskyra

2 žingsnis: Aparatūros sąranka

Prijunkite CW01, SW01 ir IP01 kartu naudodami XC10 xBUS jungtis. Galite prijungti, kaip parodyta žemiau esančioje diagramoje. Peržiūrėkite šį vadovą, kaip paprastai surinkti „xChips“.

Vaizdas
Vaizdas

Tada prijunkite savo įrenginį ir kompiuterį per IP01 USB. Norėdami tai padaryti, turėsite naudoti „xFlasher“programinę įrangą, kad kodas mirksėtų, kai jis bus paruoštas. Žr. Šį „xFlasher“naudojimo vadovą.

3 veiksmas: nustatykite „Arduino IDE“

1. Įdiekite „Arduino IDE 1.8.8“

2. Įdiekite šias bibliotekas į „Arduino“: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

PASTABA: Jei nesate susipažinę su bibliotekų diegimu, skaitykite nuorodą: „Arduino“bibliotekų diegimas

3. Įdiegę ESP8266 platformą, pasirinkite ESP8266 įrenginį, su kuriuo dirbate. Šiuo atveju mes dirbame su „CW01 (ESP12F modulis)“. Norėdami pasirinkti plokštę iš „Arduino IDE“, pasirinkite Įrankiai> Lenta „NodeMCU 1.0 (ESP12E modulis)“.

PASTABA: ESP12F ir ESP12E šiuo tikslu yra keičiami.

4 žingsnis: Kodo supratimas

Įskaitant bibliotekas:

#include "UbidotsMicroESP8266.h"

#įtraukti #įtraukti

Įveskite „Wi-Fi“ir „Ubidots“prisijungimo duomenis:

#define TOKEN "Your-Token" // Įdėkite čia savo Ubidots TOKEN

#define WIFISSID "Your-SSID" // Įdėkite čia savo "Wi-Fi" SSID #define PASSWORD "password-of-ssid" // Įdėkite čia savo "Wi-Fi" slaptažodį

Jūsų unikalus „Ubidots TOKEN“gaunamas iš jūsų „Ubidots“paskyros. Norėdami sužinoti, kur rasti „Ubidots TOKEN“, žiūrėkite šią nuorodą.

Vieną kartą nustatydami, paaiškinkite komentarus komentaruose:

void setup () {

// Derinimas 115200 naudojant nuoseklųjį monitorių Serial.begin (115200); // Prisijunkite prie prieigos taško kliento.wifiConnection (WIFISSID, PASSWORD); // prasideda I2C ryšys Wire.begin (); // Paleiskite SW01 jutiklį SW01.begin (); // Pristatome tam tikrą vėlavimą, 2-3 sekundžių vėlavimą (DELAY_TIME); }

Uždarykite operaciją, kad ji nuolat veiktų ir būtų nuolat atnaujinama:

void loop () {

// Sukurkite kintamąjį, kad išsaugotumėte duomenis, nuskaitytus iš SW01 plūdės tempC, drėgmė, slėgis, alt; // Įrenginio kintamųjų kūrimas tempC = 0; drėgmė = 0; slėgis = 0; alt=0; // Apklausos jutiklis duomenims rinkti SW01.poll (); // Duomenų išsaugojimas įrenginio kintamuosiuose tempC = SW01.getTempC (); // Temperatūra Celsijaus Serial.println ("Temperatūra:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); drėgmė = SW01.getHumidity (); Serial.println ("Drėgmė:"); Serijinis atspaudas (drėgmė); Serial.println (" %"); Serial.println (); slėgis = SW01.getPressure (); Serial.println ("Slėgis:"); Serijinis atspaudas (slėgis); Serial.println („Pa“); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Aukštis:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Sukurkite ubidots kintamuosius client.add ("Temperatūra (*C)", tempC); vėlavimas (500); client.add („Drėgmė (%)“, drėgmė); vėlavimas (500); client.add („Slėgis (Pa)“, slėgis); vėlavimas (500); client.add („Aukštis (m)“, alt); // Siųsti visus taškus client.sendAll (true); // vėlavimas tarp jutiklių nuskaitymų, siekiant stabilizuoti vėlavimą (DELAY_TIME); }

Visas kodas:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Įdėkite čia savo Ubidots TOKEN #define WIFISSID "Your-SSID" // Įdėkite čia savo "Wi-Fi" SSID #define PASSWORD "password-of-ssid" // Įdėkite čia jūsų „Wi-Fi“slaptažodis „Ubidots“klientas (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Kuriamas SW01 jutiklio void setup objektas () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // Paleiskite SW01 jutiklį SW01.begin (); vėlavimas (DELAY_TIME); } void loop () {// Sukurkite kintamąjį, kad būtų saugomi duomenys, nuskaityti iš SW01 plūdės tempC, drėgmė, slėgis, alt; tempC = 0; drėgmė = 0; slėgis = 0; alt=0; // Apklausos jutiklis duomenims rinkti SW01.poll (); // Duomenų išsaugojimas kintamųjų atmintyje tempC = SW01.getTempC (); // Temperatūra Celsijaus Serial.println ("Temperatūra:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); drėgmė = SW01.getHumidity (); Serial.println ("Drėgmė:"); Serijinis atspaudas (drėgmė); Serial.println (" %"); Serial.println (); slėgis = SW01.getPressure (); Serial.println ("Slėgis:"); Serijinis atspaudas (slėgis); Serial.println („Pa“); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Aukštis:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Sukurkite ubidots kintamuosius client.add ("Temperatūra (*C)", tempC); vėlavimas (500); client.add („Drėgmė (%)“, drėgmė); vėlavimas (500); client.add („Slėgis (Pa)“, slėgis); vėlavimas (500); client.add („Aukštis (m)“, alt); // Siųsti visus taškus client.sendAll (true); // vėlavimas tarp jutiklių nuskaitymų, siekiant stabilizuoti vėlavimą (DELAY_TIME); }

5 veiksmas: prisijunkite prie „Ubidots“

1. Atidarykite „Ubidots“paskyrą. Pamatysite įrenginį pavadinimu „ESP8266“su 4 kintamaisiais (žr. Paveikslėlį žemiau).

Įrenginio vizualizacija

Vaizdas
Vaizdas

Kintamųjų vizualizacija

Vaizdas
Vaizdas

Jei norite pakeisti įrenginio pavadinimą, naudokite kodą:

client.setDataSourceName ("Naujas_vardas");

6 veiksmas: informacijos suvestinių kūrimas „Ubidots“

Informacijos suvestinės (statinės ir dinaminės) yra vartotojo sąsajos, skirtos įrenginio duomenims ir iš jų gautoms įžvalgoms tvarkyti ir pateikti. Informacijos suvestinėse yra valdikliai, rodantys duomenis kaip diagramas, rodiklius, valdiklius, lenteles, diagramas ir kitus dydžius, formas ir formas.

Norėdami sukurti naują informacijos suvestinę savo „Ubidots“paskyroje, skaitykite toliau pateiktą „Ubidots“vadovėlį, kad sužinotumėte, kaip tai padaryti.

Kaip nuoroda, sukūrę „Ubidots“prietaisų skydelį, turėtumėte turėti kažką panašaus į žemiau esantį vaizdą:

Vaizdas
Vaizdas

PRO PATARIMAS: Taip pat yra daugybė grafikų ir ataskaitų teikimo įrankių. Jei norite apie tai sužinoti daugiau, rekomenduojame peržiūrėti šį vadovą.

Vaizdas
Vaizdas

7 žingsnis: santrauka

Šioje pamokoje parodėme, kaip koduoti ir prijungti „XinaBox Weather“stotį prie „Ubidots“. Tai įgalina nuotolinį stebėjimą ir gali būti baigta per 10-15 minučių.

Kiti skaitytojai taip pat buvo naudingi…

  • „UbiFunctions“: integruokite duomenis iš „AmbientWeather“platformos į „Ubidots“
  • Analitika: sintetinių kintamųjų pagrindai
  • Temperatūros valdymas naudojant „Ubidots MQTT“ir „NodeMcu“

Rekomenduojamas: