Kazalo:

Kako zgraditi vremensko postajo z uporabo XinaBox in Ubidots prek HTTP: 7 korakov
Kako zgraditi vremensko postajo z uporabo XinaBox in Ubidots prek HTTP: 7 korakov

Video: Kako zgraditi vremensko postajo z uporabo XinaBox in Ubidots prek HTTP: 7 korakov

Video: Kako zgraditi vremensko postajo z uporabo XinaBox in Ubidots prek HTTP: 7 korakov
Video: Factorio Gaming (сессия 9) 2024, November
Anonim
Kako zgraditi vremensko postajo z uporabo XinaBox in Ubidots prek HTTP
Kako zgraditi vremensko postajo z uporabo XinaBox in Ubidots prek HTTP
Naučite se narediti lastno vremensko postajo na Ubidotsu z uporabo čipov XinaBox xChips (IP01, CW01 in SW01)

Slika
Slika

ESP8266 Core in modul Wi-Fi (xChip CW01) uporabnikom omogoča pošiljanje podatkov iz modularnih xChips XinaBox v oblak. Te podatke je mogoče na daljavo spremljati v Ubidotih, kjer lahko uporabniki izkoristijo svojo paleto orodij IoT.

Napredni vremenski senzor xChip SW01 (Bosch BME280) meri temperaturo, vlažnost in atmosferski tlak, iz katerega je mogoče izračunati tudi nadmorsko višino, podlago oblaka in rosišče.

V tej vadnici uporabljamo protokol HTTP za pošiljanje podatkov senzorjev na Ubidots. To bi lahko storili tudi s protokolom MQTT.

Do konca tega priročnika boste lahko spremljali in merili vremenske razmere v napravi XinaBox od koder koli na daljavo z uporabo Ubidots.

1. korak: Zahteve

  • 1x CW01 - WiFi jedro (ESP8266/ESP -12F)
  • 1x IP01 - Vmesnik za programiranje USB (FT232R)
  • 1x SW01 - Napredni vremenski senzor (BME280)
  • 1x XC10 - 10 -paketni konektorji xBUS
  • Arduino IDE
  • Ubidots račun

2. korak: Namestitev strojne opreme

Povežite CW01, SW01 in IP01 skupaj s priključki XC10 xBUS. Lahko ga priključite, kot je prikazano na spodnjem diagramu. Oglejte si ta priročnik o tem, kako na splošno sestaviti xChips.

Slika
Slika

Nato napravo in računalnik povežite prek USB -ja IP01. Za to boste morali uporabiti programsko opremo xFlasher za utripanje kode, ko bo pripravljena. Oglejte si ta priročnik o uporabi xFlasherja.

Korak: Nastavitev Arduino IDE

1. Namestite Arduino IDE 1.8.8

2. Namestite te knjižnice v Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

OPOMBA: Če niste seznanjeni z namestitvijo knjižnic, si oglejte povezavo: Namestitev knjižnic Arduino

3. Z nameščeno platformo ESP8266 izberite napravo ESP8266, s katero delate. V tem primeru delamo s “CW01 (modul ESP12F)”. Če želite izbrati svojo ploščo iz Arduino IDE, izberite Orodja> Plošča »NodeMCU 1.0 (modul ESP12E)«.

OPOMBA: ESP12F in ESP12E sta v ta namen zamenljiva.

4. korak: Razumevanje kodeksa

Vključno s knjižnicami:

#include "UbidotsMicroESP8266.h"

#include #include

Vnesite poverilnice za Wi-Fi in Ubidots:

#define TOKEN "Your-Token" // Vstavite svoj žeton Ubidots

#define WIFISSID "Your-SSID" // Vnesite svoj SSID za Wi-Fi #define PASSWORD "password-of-ssid" // Vnesite svoje geslo za Wi-Fi

Vaš edinstven žeton Ubidots je pridobljen z vašega računa Ubidots. Če želite izvedeti, kje najdete svoj žeton Ubidots, si oglejte naslednjo povezavo.

Enkratna nastavitev, glejte komentarje za samoumevno razlago:

void setup () {

// Odpravljanje napak pri 115200 z uporabo serijskega monitorja Serial.begin (115200); // Povežite se s stranko Access Point client.wifiConnection (WIFISSID, GESLO); // I2C komunikacija se začne Wire.begin (); // Zaženite senzor SW01 SW01.begin (); // Predstavljamo nekaj zamude, 2-3 sekundne zamude (DELAY_TIME); }

Če želite neprekinjeno izvajati in posodabljati operacijo, jo ponavljajte:

void loop () {

// Ustvarite spremenljivko za shranjevanje podatkov, prebranih iz SW01 float tempC, vlažnost, tlak, alt; // Ustvarjanje spremenljivk naprave tempC = 0; vlažnost = 0; tlak = 0; alt=0; // Senzor ankete za zbiranje podatkov SW01.poll (); // Shranjevanje podatkov v spremenljivke naprave tempC = SW01.getTempC (); // Temperature in Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); vlažnost = SW01.getHumidity (); Serial.println ("Vlažnost:"); Serijski.tisk (vlažnost); Serial.println (" %"); Serial.println (); tlak = SW01.getPressure (); Serial.println ("Tlak:"); Serijski.tisk (tlak); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Nadmorska višina:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Ustvari spremenljivke ubidots client.add ("Temperatura (*C)", tempC); zamuda (500); client.add ("Vlažnost (%)", vlažnost); zamuda (500); client.add ("Tlak (Pa)", tlak); zamuda (500); client.add ("Nadmorska višina (m)", višina); // Pošlji vse pike client.sendAll (true); // zakasnitev med odčitki senzorja za stabilizacijo zamude (DELAY_TIME); }

Celotna koda:

#include "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Vstavite svoj Ubidots TOKEN #define WIFISSID "Your-SSID" // Vnesite svoj SSID za Wi-Fi #define PASSWORD "password-of-ssid" // Postavite sem vaše geslo za Wi-Fi Ubidots odjemalec (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Ustvarjanje predmeta SW01 senzorja void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, GESO); Wire.begin (); // Zaženite senzor SW01 SW01.begin (); zamuda (DELAY_TIME); } void loop () {// Ustvarite spremenljivko za shranjevanje prebranih podatkov iz SW01 float tempC, vlažnost, tlak, alt; tempC = 0; vlažnost = 0; tlak = 0; alt=0; // Senzor ankete za zbiranje podatkov SW01.poll (); // Shranjevanje podatkov v pomnilnik spremenljivk tempC = SW01.getTempC (); // Temperature in Celsius Serial.println ("Temperatura:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); vlažnost = SW01.getHumidity (); Serial.println ("Vlažnost:"); Serijski.tisk (vlažnost); Serial.println (" %"); Serial.println (); tlak = SW01.getPressure (); Serial.println ("Tlak:"); Serijski.tisk (tlak); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Nadmorska višina:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Ustvari spremenljivke ubidots client.add ("Temperatura (*C)", tempC); zamuda (500); client.add ("Vlažnost (%)", vlažnost); zamuda (500); client.add ("Tlak (Pa)", tlak); zamuda (500); client.add ("Nadmorska višina (m)", višina); // Pošlji vse pike client.sendAll (true); // zakasnitev med odčitki senzorja za stabilizacijo zamude (DELAY_TIME); }

5. korak: Prijavite se v Ubidots

1. Odprite svoj račun Ubidots. Videli boste napravo z imenom »ESP8266« s 4 spremenljivkami (glejte sliko spodaj).

Vizualizacija naprave

Slika
Slika

Vizualizacija spremenljivk

Slika
Slika

Če želite spremeniti ime naprave, uporabite kodo:

client.setDataSourceName ("Novo_ime");

Korak 6: Ustvarjanje nadzornih plošč v ubidotih

Nadzorne plošče (statične in dinamične) so uporabniški vmesniki za organiziranje in predstavitev podatkov naprave in vpogledov, ki izhajajo iz podatkov. Nadzorne plošče vsebujejo pripomočke, ki prikazujejo podatke v obliki grafikonov, kazalnikov, kontrolnikov, tabel, grafov in drugih velikosti, oblik in obrazcev.

Če želite ustvariti novo nadzorno ploščo v svojem računu Ubidots, si oglejte to vadnico Ubidots, če želite izvedeti, kako to storiti.

Kot referenco bi morali imeti po izdelavi nadzorne plošče Ubidots nekaj podobnega sliki spodaj:

Slika
Slika

NASVET PRO: Obstaja tudi vrsta grafičnih orodij in orodij za poročanje. Če želite izvedeti več o tem, priporočamo, da preberete ta priročnik.

Slika
Slika

7. korak: Povzetek

V tej vadnici smo pokazali, kako kodirati in povezati vremensko postajo XinaBox z Ubidots. To omogoča daljinsko spremljanje in ga je mogoče dokončati v 10-15 minutah.

Tudi drugi bralci so bili koristni …

  • UbiFunctions: Vključite podatke iz platforme AmbientWeather v Ubidots
  • Analytics: Osnove sintetičnih spremenljivk
  • Nadzor temperature z Ubidots MQTT in NodeMcu

Priporočena: