Turinys:
Video: Prijunkite „Magicbit“prie „Thingsboard“: 3 veiksmai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šiame projekte mes siunčiame duomenis iš jutiklių, prijungtų prie „Magicbit“, kuriuos galime vizualiai parodyti dalykų lentoje.
Priedai:
- „Magicbit“
- DHT11 temperatūros ir drėgmės jutiklis (4 kaiščiai)
1 žingsnis: istorija
Įvadas
„ThingsBoard“yra atvirojo kodo serverio platforma, leidžianti stebėti ir valdyti daiktų interneto įrenginius. Jis yra nemokamas asmeniniam ir komerciniam naudojimui, ir jūs galite jį įdiegti bet kur. Jei pirmą kartą naudojatės platforma, rekomenduojame peržiūrėti „kas yra daiktų lentos“puslapį ir darbo pradžios vadovą.
Ši pavyzdinė programa leis jums rodyti drėgmės/temperatūros duomenis iš DHT11 jutiklio naudojant „magicbit“įrenginį ir „ThingsBoard“žiniatinklio vartotojo sąsają.
„Magicbit“įrenginyje veikianti programa yra parašyta naudojant „ThingsBoard Arduino SDK“, kuri yra gana paprasta ir lengvai suprantama.
Baigę šį pavyzdį/pamoką, matysite savo jutiklio duomenis šioje prietaisų skydelyje.
Apsilankykite oficialiame „Thingsboard Demo“puslapyje ir prisiregistruokite.
Prisijungę kairėje šoninėje juostoje pamatysite Įrenginiai. Spustelėkite įrenginius ir pridėkite naują įrenginį.
Skirtuke „Įgaliojimai“pažymėkite skirtuką Pridėti kredencialus ir išskleidžiamajame lauke pasirinkite Prieigos raktas. Galite automatiškai pridėti prieigos raktą arba palikti tuščią, kad automatiškai sukurtumėte prieigos raktą.
Nustatykite įrenginį į magijos bitą slapyvardžiu. Eikite į prietaisų skydelio skirtuką ir importuokite prietaisų skydelį.
Norėdami importuoti prietaisų skydelį, atlikite toliau nurodytus vaizdų veiksmus. Prieduose raskite demonstracinį JSON failą, pavadintą „magicbit_temperature_humidity_demo_dashboard.json“.
Prijunkite stebuklingą antgalį prie DHT11 modulio taip, kaip nurodyta prie 33 kaiščio.
„Arduino IDE“atsisiųskite aukščiau pateiktas bibliotekas.
Toliau pateikiamas „Arduino“kodas, kurį naudosite.
Pastaba. Eskize turite redaguoti šias konstantas ir kintamuosius:
- WIFI_AP - jūsų prieigos taško pavadinimas
- WIFI_PASSWORD - prieigos taško slaptažodis
- TOKEN - $ ACCESS_TOKEN iš „ThingsBoard“konfigūravimo veiksmo.
- THINGSBOARD_SERVER - „ThingsBoard“HOST/IP adresas, pasiekiamas jūsų „Wi -Fi“tinkle. Jei naudojate tiesioginį demonstracinį serverį, nurodykite demo.thingsboard.io.
2 žingsnis: „Arduino“kodas
#include // DHT bibliotekos bibliotekai#include // „WiFi“valdymas ESP32#include // „ThingsBoard“SDK#apibrėžia DHTPIN 33 // prie kokio skaitmeninio kaiščio esame prisijungę#define DHTTYPE DHT11 // DHT 11DHT dht (DHTPIN, DHTTYPE); // Pagalbinė makrokomanda apskaičiuoti masyvo dydį#define COUNT_OF (x) ((sizeof (x)/ sizeof (0 [x]))/ ((size_t) (! (Sizeof (x) % sizeof (0 [x]))))) // „WiFi“prieigos taškas#apibrėžti WIFI_AP_NAME „4G“// „WIFI_AP“// „WiFi“slaptažodis#apibrėžti WIFI_PASSWORD "nevergiveup" // "WIFI_PASSWORD" // Žr. Https://thingsboard.io/docs/getting- start-guides/helloworld ///, kad suprastumėte, kaip gauti prieigos raktą#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN" // ThingsBoard serverio egzempliorius.#define THINGSBOARD_SERVER "demo.thingsboard.io" // Derinimo serijos derinimo dažnis #define SERIAL_DEBUG_BAUD 115200 // Initialize ThingsBoard clientWiFiClient espClient; // Initialize ThingsBoard instanceThingsBoard tb (espClient); // „Wifi“radijo būsenos būsena = WL_IDLE_STATUS; // Temperatūros/drėgmės duomenų siuntimo laikotarpis = 2000 send.de; unsigned long millis_counter; void InitWiFi () {Serial.println ("Prisijungimas prie AP …"); // bandymas prisijungti prie WiFi tinklo WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serijinis atspaudas ("."); } Serial.println ("Prisijungta prie AP");} void reconnect () {// Ciklas, kol mes vėl prisijungsime status = WiFi.status (); if (status! = WL_CONNECTED) {WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serijinis atspaudas ("."); } Serial.println ("Prisijungta prie AP"); }} // Nustatyti programą, kad nebūtų nustatymų () {// Inicijuoti seriją derinimui Serial.begin (SERIAL_DEBUG_BAUD); „WiFi.binin“(WIFI_AP_NAME, WIFI_PASSWORD); „InitWiFi“(); // Inicijuoti temperatūros jutiklį dht.begin ();} // Pagrindinė programos ciklo voido kilpa () {// Jei reikia, iš naujo prisijunkite prie „WiFi“, jei („WiFi.status ()! = WL_CONNECTED“{reconnect (); grįžti; } // Prisijunkite prie „ThingsBoard“, jei reikia, jei (! Tb.connected ()) {// Prisijunkite prie „ThingsBoard Serial.print“(„Prisijungimas prie:“); Serial.print (THINGSBOARD_SERVER); Serial.print ("su žetonu"); Serial.println (TOKEN); if (! tb.connect (THINGSBOARD_SERVER, TOKEN)) {Serial.println ("Nepavyko prisijungti"); grįžti; }} // Patikrinkite, ar atėjo laikas siųsti DHT11 temperatūrą ir drėgmę, jei (millis ()-millis_counter> send_delay) {Serial.println ("Siunčiami duomenys …"); // Įkelia naują telemetriją į „ThingsBoard“naudodami MQTT. // Daugiau informacijos žr. Https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // float h = dht.readHumidity (); // Skaityti temperatūrą kaip Celsijų (numatytoji) float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Nepavyko nuskaityti iš DHT jutiklio!"); } else {Serial.print ("Temperatūra:"); Serijinis atspaudas (t); Serial.print („Drėgmė“); Serijinis.println (h); tb.sendTelemetryFloat ("temperatūra", t); tb.sendTelemetryFloat ("drėgmė", h); } milis_skaitiklis = milis (); // iš naujo nustatyti milis skaitiklį} // Apdoroti pranešimus tb.loop ();}
3 žingsnis: duomenų vizualizavimas
Tiesioginiame demonstraciniame serveryje:
- prisijungimas: jūsų tiesioginis demonstracinis vartotojo vardas (el.
- slaptažodis: jūsų tiesioginis demonstracinis slaptažodis
Daugiau informacijos apie tai, kaip gauti paskyrą, rasite tiesioginės demonstracinės versijos puslapyje.
Eikite į skyrių „Įrenginiai“ir suraskite „Magicbit“, atidarykite įrenginio informaciją ir perjunkite į skirtuką „Naujausia telemetrija“. Jei viskas sukonfigūruota teisingai, turėtumėte matyti naujausias „temperatūros“ir „drėgmės“reikšmes.
Po to atidarykite skyrių „Informacijos suvestinės“, tada suraskite ir atidarykite „magicbit_temperature_humidity_demo_dashboard“. Dėl to pamatysite laiko eilučių diagramą, rodančią temperatūrą ir drėgmės lygį (panašų į prietaisų skydelio vaizdą įžangoje).
Rekomenduojamas:
Prijunkite „RevPi Core + RevPi DIO“prie „Ubidots“: 8 veiksmai
Prijunkite „RevPi Core + RevPi DIO“prie „Ubidots“: „Revolution Pi“yra atviras, modulinis ir patvarus pramoninis kompiuteris, pagrįstas nustatytu „Raspberry Pi“ir atitinka EN61131-2 standartą. Įrengtas „Raspberry Pi Compute Module“, „RevPi Core“bazę galima sklandžiai išplėsti naudojant atitinkamus
Prijunkite „RevPi Core“prie „Ubidots“: 5 veiksmai
Prijunkite „RevPi Core“prie „Ubidots“: „Revolution Pi“yra atviras, modulinis ir patvarus pramoninis kompiuteris, pagrįstas nusistovėjusiu „Raspberry Pi“ir atitinka EN61131-2 standartą. Įrengtas „Raspberry Pi Compute Module“, „RevPi Core“bazę galima sklandžiai išplėsti naudojant atitinkamus
Prijunkite „Raspberry Pi“prie kolegijos WIFI: 6 veiksmai
Prijunkite „Raspberry Pi“prie kolegijos WIFI: tai padės prisijungti prie kolegijos WIFI naudojant „Raspberry Pi“mokyklų projektams. Paprastai mokyklos WIFI yra pilkas ir jūs negalite pasirinkti jo naudoti savo „Raspberry Pi“
Prijunkite savo vaizdo stebėjimo įrenginį prie interneto (DVR arba NVR): 6 veiksmai
Prijunkite savo vaizdo stebėjimo įrenginį prie interneto (DVR arba NVR): Šioje instrukcijoje parodysime, kaip prijungti DVR arba NVR prie interneto. Netiesioginį ryšio maršrutą lengviau nustatyti, tačiau jis eina per trečiąją šalį ir srautus lėtesnis. Tiesioginis maršrutas yra šiek tiek sudėtingesnis, tačiau tai daro
Prijunkite „Arduino“prie išorinių paslaugų: 6 veiksmai
Prijunkite „Arduino“prie išorinių paslaugų: Sveiki! Ši pamoka parodys, kaip prijungti pasirinktą prijungtą „Arduino“ar IOT įrenginį prie išorinės paslaugos. Dėl šios pamokos mes dirbsime su „Easy Window“(išgalvotu, bet programuojamu išmaniuoju langu), jei tai bus