Kazalo:

Povežite svoj Magicbit s ploščo stvari: 3 koraki
Povežite svoj Magicbit s ploščo stvari: 3 koraki

Video: Povežite svoj Magicbit s ploščo stvari: 3 koraki

Video: Povežite svoj Magicbit s ploščo stvari: 3 koraki
Video: FULL BUILD | Rebuilding A DESTROYED Porsche 911 Turbo! 2024, November
Anonim
Povežite svoj Magicbit s ploščo stvari
Povežite svoj Magicbit s ploščo stvari

V tem projektu bomo poslali podatke s senzorjev, povezanih na magicbit, ki jih lahko vizualno prikažemo na deski.

Zaloge:

  • Magicbit
  • Senzor temperature in vlažnosti DHT11 (4 zatiči)

1. korak: Zgodba

Zgodba
Zgodba
Zgodba
Zgodba
Zgodba
Zgodba
Zgodba
Zgodba

Uvod

ThingsBoard je odprtokodna strežniška platforma, ki omogoča spremljanje in nadzor naprav IoT. Je brezplačen za osebno in komercialno uporabo in ga lahko namestite kjer koli. Če je to vaša prva izkušnja s platformo, priporočamo, da si ogledate stran kaj-je-stvari in vodnik za začetek.

Ta vzorčna aplikacija vam bo omogočila prikaz podatkov o vlažnosti/temperaturi iz senzorja DHT11 s pomočjo vaše čarobne naprave in spletnega vmesnika ThingsBoard.

Aplikacija, ki se izvaja na napravi Magicbit, je napisana s pomočjo ThingsBoard Arduino SDK, ki je precej preprost in razumljiv.

Ko dokončate ta vzorec/vadnico, boste na naslednji nadzorni plošči videli podatke senzorja.

Obiščite uradno stran Thingsboard Demo in se prijavite.

Po vpisu Na levi stranski vrstici boste videli Naprave. Kliknite naprave in dodajte novo napravo.

Na zavihku poverilnice označite zavihek Dodaj poverilnice in v spustnem polju izberite žeton za dostop. Lahko dodate svoj lastni žeton za dostop ali pustite prazno, da samodejno ustvarite žeton.

V vzdevku nastavite napravo na magicbit. Pojdite na zavihek nadzorne plošče in uvozite nadzorno ploščo.

Za uvoz nadzorne plošče sledite tem korakom na slikah. V priponkah poiščite predstavitveno datoteko JSON, imenovano "magicbit_temperature_humidity_demo_dashboard.json".

Na pin 33 priključite svoj čarobni bit z modulom DHT11, kot sledi.

V Arduino IDE prenesite zgornje knjižnice.

Spodaj je koda Arduino, ki jo boste uporabljali.

Opomba Na skici morate urediti naslednje konstante in spremenljivke:

  • WIFI_AP - ime vaše dostopne točke
  • WIFI_PASSWORD - geslo za dostopno točko
  • TOKEN - $ ACCESS_TOKEN iz konfiguracijskega koraka ThingsBoard.
  • THINGSBOARD_SERVER - HOST/IP naslov ThingsBoard, ki je dostopen v vašem omrežju WiFi. Določite demo.thingsboard.io, če uporabljate demo strežnik v živo.

2. korak: Arduino koda

#include // DHT za knjižnico Library#include // Nadzor WiFi za ESP32#include // ThingsBoard SDK#definiraj DHTPIN 33 // s katerim digitalnim zatičem smo povezani#definiraj DHTTYPE DHT11 // DHT 11DHT dht (DHTPIN, DHTTYPE); // Pomočni makro za izračun velikosti matrike#define COUNT_OF (x) ((sizeof (x)/ sizeof (0 [x]))/ ((size_t) (! (Sizeof (x) % sizeof (0 [x]))))) // Dostopna točka WiFi#definiraj WIFI_AP_NAME "4G" // "WIFI_AP" // Geslo za WiFi#določi WIFI_PASSWORD "nevergiveup" // "WIFI_PASSWORD" // Glej https://thingsboard.io/docs/getting- started-guides/helloworld ///, da bi razumeli, kako pridobiti žeton za dostop#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN" // instance strežnika ThingsBoard.#define THINGSBOARD_SERVER "demo.thingsboard.io" // Hitrost prenosa podatkov za odpravljanje napak #define SERIAL_DEBUG_BAUD 115200 // Inicializirajte odjemalca ThingsBoardWiFiClient espClient; // Inicializirajte instanco ThingsBoardThingsBoard tb (espClient); // stanje statusa radia Wifi = WL_IDLE_STATUS; // Obdobje pošiljanja podatkov o temperaturi/vlažnosti.int send_delay; unsigned long millis_counter; void InitWiFi () {Serial.println ("Povezovanje z dostopno točko …"); // poskus vzpostavitve povezave z omrežjem WiFi WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {zamuda (500); Serial.print ("."); } Serial.println ("Povezano z AP");} void reconnect () {// Zanka, dokler se znova ne povežemo status = WiFi.status (); if (status! = WL_CONNECTED) {WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {zamuda (500); Serial.print ("."); } Serial.println ("Povezano z AP"); }} // Nastavitev applicationvoid setup () {// Inicializiraj serijsko serijo za odpravljanje napak Serial.begin (SERIAL_DEBUG_BAUD); WiFi.začetek (WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi (); // Inicializiraj temperaturni senzor dht.begin ();} // Glavna aplikacija loopvoid loop () {// Ponovna povezava z WiFi, če je potrebno, če (WiFi.status ()! = WL_CONNECTED) {reconnect (); vrnitev; } // Ponovna povezava z ThingsBoard, če je potrebno, če (! Tb.connected ()) {// Povežite se s ThingsBoard Serial.print ("Povezovanje z:"); Serial.print (THINGSBOARD_SERVER); Serial.print ("z žetonom"); Serial.println (TOKEN); if (! tb.connect (THINGSBOARD_SERVER, TOKEN)) {Serial.println ("Povezava ni uspela"); vrnitev; }} // Preverite, ali je čas za pošiljanje temperature in vlažnosti DHT11 if (millis ()-millis_counter> send_delay) {Serial.println ("Pošiljanje podatkov …"); // naloži novo telemetrijo na ThingsBoard z uporabo MQTT. // Glej https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // za več podrobnosti float h = dht.readHumidity (); // Temperatura se bere kot Celzius (privzeto) float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Ni bilo mogoče prebrati s senzorja DHT!"); } else {Serial.print ("Temperatura:"); Serial.print (t); Serial.print ("Vlažnost"); Serial.println (h); tb.sendTelemetryFloat ("temperatura", t); tb.sendTelemetryFloat ("vlažnost", h); } millis_counter = millis (); // ponastavitev števca millis} // Obdelava sporočil tb.loop ();}

3. korak: Vizualizacija podatkov

Vizualizacija podatkov
Vizualizacija podatkov

V predstavitvenem strežniku v živo:

  • prijava: vaše uporabniško ime v živo (e-pošta)
  • geslo: vaše geslo za predstavitev v živo

Za več podrobnosti o tem, kako pridobiti svoj račun, si oglejte predstavitveno stran v živo.

Pojdite v razdelek »Naprave« in poiščite »Magicbit«, odprite podrobnosti o napravi in preklopite na zavihek »Najnovejša telemetrija«. Če je vse pravilno konfigurirano, bi morali videti najnovejše vrednosti "temperature" in "vlažnosti".

Nato odprite razdelek »Nadzorne plošče«, nato poiščite in odprite »magicbit_temperature_humidity_demo_dashboard«. Posledično boste videli grafikon časovnih vrst, ki prikazuje temperaturo in raven vlažnosti (podobno sliki na armaturni plošči v uvodu).

Priporočena: