INHOUDSOPGAWE:
Video: Koppel jou Magicbit aan Thingsboard: 3 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
In hierdie projek gaan ons data stuur van sensors wat gekoppel is aan magicbit wat ons visueel op die bord kan vertoon.
Benodighede:
- Magicbit
- DHT11 Temperatuur- en humiditeitsensor (4 penne)
Stap 1: Verhaal
Inleiding
ThingsBoard is 'n open-source platform aan die bedienerkant waarmee u IoT-toestelle kan monitor en beheer. Dit is gratis vir persoonlike sowel as kommersiële gebruik, en u kan dit oral gebruik. As dit u eerste ervaring met die platform is, beveel ons aan dat u die bladsy met 'n bord en 'n aanvangsgids nagaan.
Met hierdie voorbeeldprogram kan u humiditeits-/temperatuurdata van die DHT11 -sensor vertoon met u magicbit -toestel en ThingsBoard -webinterface.
Die toepassing wat op die Magicbit -toestel werk, word geskryf met ThingsBoard Arduino SDK, wat redelik eenvoudig en maklik is om te verstaan.
Sodra u hierdie voorbeeld/tutoriaal voltooi het, sien u u sensordata op die volgende paneelbord.
Besoek die Thingsboard Demo amptelike bladsy en meld u aan.
Nadat u aan die linkerkantbalk aangemeld het, sien u toestelle. Klik op toestelle en voeg 'n nuwe toestel by.
Merk in die oortjie -oortjie die oortjie Voeg geloofsbriewe by en kies Toegangstoken in die keuselys. U kan u eie toegangstoken byvoeg of leeg laat om outomaties token te genereer.
Stel die toestel op alias magicbit. Gaan na die dashboard -oortjie en voer dashboard in.
Volg die volgende stappe in die prente om die paneelbord in te voer. Vind die demo -JSON -lêer genaamd "magicbit_temperature_humidity_demo_dashboard.json" in aanhangsels.
Koppel u magiese bietjie met die DHT11 -module soos volg aan pen 33.
Laai die bogenoemde biblioteke in die Arduino IDE af.
Die volgende is die Arduino -kode wat u sal gebruik.
Opmerking U moet die volgende konstantes en veranderlikes in die skets wysig:
- WIFI_AP - naam van u toegangspunt
- WIFI_PASSWORD - toegangspunt wagwoord
- TOKEN - die $ ACCESS_TOKEN van ThingsBoard -opsetstap.
- THINGSBOARD_SERVER - ThingsBoard HOST/IP -adres wat toeganklik is binne u wifi -netwerk. Spesifiseer demo.thingsboard.io as u 'n lewendige demo -bediener gebruik.
Stap 2: Arduino -kode
#include // DHT for Library library#include // WiFi control for ESP32#include // ThingsBoard SDK#definieer DHTPIN 33 // met watter digitale pen ons gekoppel is#definieer DHTTYPE DHT11 // DHT 11DHT dht (DHTPIN, DHTTYPE); // Helpermakro om skikkinggrootte te bereken#definieer COUNT_OF (x) ((sizeof (x)/ sizeof (0 [x]))/ ((size_t) (! (Sizeof (x) % sizeof (0 [x])))))) // WiFi-toegangspunt#definieer WIFI_AP_NAME "4G" // "WIFI_AP" // WiFi-wagwoord#definieer WIFI_PASSWORD "nevergiveup" // "WIFI_PASSWORD" // Sien https://thingsboard.io/docs/getting- started-guides/helloworld /// om te verstaan hoe om 'n toegangstoken te kry#definieer TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN" // ThingsBoard-bediener-instansie.#definieer THINGSBOARD_SERVER "demo.thingsboard.io" // Baud-koers vir debug-reeks #define SERIAL_DEBUG_BAUD 115200 // Initialiseer ThingsBoard -kliëntWiFiClient espClient; // Initialiseer ThingsBoard instanceThingsBoard tb (espClient); // die Wifi -radio se statusint status = WL_IDLE_STATUS; // Periode van die stuur van 'n temperatuur/humiditeit data.int send_delay = 2000; ongetekende lang millis_counter; ongeldig InitWiFi () {Serial.println ("Koppel aan AP …"); // probeer om aan te sluit op die WiFi -netwerk WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); terwyl (WiFi.status ()! = WL_CONNECTED) {vertraging (500); Serial.print ("."); } Serial.println ("gekoppel aan AP");} nietig herkoppel () {// Loop totdat ons weer verbind is status = WiFi.status (); as (status! = WL_CONNECTED) {WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); terwyl (WiFi.status ()! = WL_CONNECTED) {vertraging (500); Serial.print ("."); } Serial.println ("gekoppel aan AP"); }}} // Stel 'n toepassingsgeldopstelling op () {// Initialiseer reeks vir ontfouting van Serial.begin (SERIAL_DEBUG_BAUD); WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi (); // Initialiseer temperatuursensor dht.begin ();} // Hooftoepassing loopvoid lus () {// Koppel weer aan WiFi, indien nodig indien (WiFi.status ()! = WL_CONNECTED) {heraansluit (); terugkeer; } // Koppel weer aan ThingsBoard, indien nodig indien (! Tb.connected ()) {// Koppel aan die ThingsBoard Serial.print ("Koppel aan:"); Serial.print (THINGSBOARD_SERVER); Serial.print ("met teken"); Serial.println (TOKEN); if (! tb.connect (THINGSBOARD_SERVER, TOKEN)) {Serial.println ("Kon nie koppel nie"); terugkeer; }}} // Kyk of dit tyd is om DHT11 temperatuur en humiditeit te stuur as (millis ()-millis_counter> send_delay) {Serial.println ("Stuur data …"); // Laai nuwe telemetrie op na ThingsBoard met behulp van MQTT. // Sien https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // vir meer besonderhede float h = dht.readHumidity (); // Lees temperatuur as Celsius (die standaard) float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Kan nie lees van DHT -sensor nie!"); } anders {Serial.print ("Temperatuur:"); Reeks.afdruk (t); Serial.print ("Humiditeit"); Serial.println (h); tb.sendTelemetryFloat ("temperatuur", t); tb.sendTelemetryFloat ("humiditeit", h); } millis_counter = millis (); // reset millis counter} // Verwerk boodskappe tb.loop ();}
Stap 3: Data -visualisering
In live-demo-bediener:
- login: jou live-demo gebruikersnaam (e-pos)
- wagwoord: u live-demo-wagwoord
Sien die live-demo-bladsy vir meer inligting oor hoe u u rekening kan kry.
Gaan na die afdeling "Toestelle" en vind "Magicbit", maak die apparaatbesonderhede oop en gaan na die blad "Laaste telemetrie". As alles korrek opgestel is, moet u die nuutste waardes van 'temperatuur' en 'humiditeit' kan sien.
Open daarna die afdeling "Dashboards" en vind "magicbit_temperature_humidity_demo_dashboard" en maak dit oop. As gevolg hiervan sal u 'n tydreekskaart sien wat temperatuur en humiditeitsvlak toon (soortgelyk aan die dashboardbeeld in die inleiding).