Mündəricat:
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Bu layihədə, əşyalar lövhəsində vizual olaraq göstərə biləcəyimiz sehrli bitə qoşulmuş sensorlardan məlumat göndərəcəyik.
Təchizat:
- Magicbit
- DHT11 Temperatur və Nəmlik Sensoru (4 sancaq)
Addım 1: Hekayə
Giriş
ThingsBoard, IoT cihazlarını izləməyə və idarə etməyə imkan verən açıq mənbəli bir server tərəfli platformadır. Həm şəxsi, həm də kommersiya istifadəsi üçün pulsuzdur və hər yerdə yerləşdirə bilərsiniz. Bu platforma ilə ilk təcrübənizdirsə, şeylər taxtası səhifəsini və işə başlamağı öyrənmək üçün təlimatı nəzərdən keçirməyi məsləhət görürük.
Bu nümunə proqram, sehrli cihazınızdan və ThingsBoard veb UI -dən istifadə edərək DHT11 sensorundan rütubət/temperatur məlumatlarını göstərməyə imkan verəcəkdir.
Magicbit cihazında işləyən proqram ThingsBoard Arduino SDK istifadə edərək yazılmışdır ki, bu da olduqca sadə və başa düşüləndir.
Bu nümunəni/təlimatı tamamladıqdan sonra, aşağıdakı məlumat panelində sensor məlumatlarınızı görəcəksiniz.
Thingsboard Demo rəsmi səhifəsinə daxil olun və qeydiyyatdan keçin.
Sol Çubuğa daxil olduqdan sonra Cihazları görəcəksiniz. Cihazları vurun və yeni bir cihaz əlavə edin.
Etimadnamə sekmesinde Etimadnamə əlavə et sekmesini işarələyin və açılan qutudan Giriş Tokenini seçin. Ya öz Giriş Tokeninizi əlavə edə bilərsiniz və ya avtomatik olaraq token yaratmaq üçün boş buraxa bilərsiniz.
Cihazı digər adda magicbit olaraq təyin edin. Tablosuna keçin və tablosunu idxal edin.
İdarə panelini idxal etmək üçün şəkillərdəki aşağıdakı addımları izləyin. Əlavələrdə "magicbit_temperature_humidity_demo_dashboard.json" adlı demo JSON faylını tapın.
Sehrli bitinizi DHT11 modulu ilə 33 -cü pinə aşağıdakı kimi bağlayın.
Arduino IDE -də yuxarıdakı kitabxanaları yükləyin.
Aşağıda istifadə edəcəyiniz Arduino kodu verilmişdir.
Qeyd Eskizdə aşağıdakı sabitləri və dəyişənləri redaktə etməlisiniz:
- WIFI_AP - giriş nöqtənizin adı
- WIFI_PASSWORD - giriş nöqtəsinin şifrəsi
- TOKEN - ThingsBoard konfiqurasiya addımından $ ACCESS_TOKEN.
- THINGSBOARD_SERVER - Wi -Fi şəbəkənizdə əlçatan ThingsBoard HOST/IP ünvanı. Canlı demo serverindən istifadə edirsinizsə demo.thingsboard.io daxil edin.
Addım 2: Arduino Kodu
#daxil edin // Kitabxana kitabxanası üçün DHT#daxil edin // ESP32 üçün WiFi nəzarəti#daxil edin // ThingsBoard SDK#DHTPIN 33 təyin edin // DHTTYPE DHT11 // DHT 11DHT dht (DHTPIN, DHTTYPE) ilə bağlı olduğumuz rəqəmsal pin; // Dəstək ölçüsünü hesablamaq üçün köməkçi makro#COUNT_OF (x) ((sizeof (x)/ sizeof (0 [x]))/ ((size_t) (! (Sizeof (x) % sizeof (0 [x]))))) // WiFi giriş nöqtəsi#WIFI_AP_NAME "4G" ni təyin edin // "WIFI_AP" // WiFi şifrəsi#WIFI_ŞİFRİNİ "heç vaxt təslim etmə" // "WIFI_PASSWORD" // Bax https://thingsboard.io/docs/getting- başlamış-bələdçilər/helloworld /// bir giriş nişanının necə əldə ediləcəyini anlamaq üçün#token "XZjQ26r9XJcsNkWGuASY" müəyyən edin // "TOKEN" // ThingsBoard server nümunəsi.#THINGSBOARD_SERVER "demo.thingsboard.io" təyin edin // Debug serial üçün baud dərəcəsi. #define SERIAL_DEBUG_BAUD 115200 // ThingsBoard clientWiFiClient espClient -i başlatın; // ThingsBoard -ı başlatın instanceThingsBoard tb (espClient); // Wifi radiosunun statusint = WL_IDLE_STATUS;; imzasız uzun millis_counter; void InitWiFi () {Serial.println ("AP -yə qoşulur…"); // WiFi şəbəkəsinə qoşulmağa cəhd WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {gecikmə (500); Serial.print ("."); } Serial.println ("AP -yə qoşuldu");} void reconnect () {// Yenidən bağlanana qədər döngə edin status = WiFi.status (); əgər (status! = WL_CONNECTED) {WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {gecikmə (500); Serial.print ("."); } Serial.println ("AP -yə qoşuldu"); }} // Bir proqram qurun void setup () {// Serial.begin (SERIAL_DEBUG_BAUD) ayıklama üçün serialı başladın; WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi (); // İstilik sensorunu işə salın dht.begin ();} // Əsas tətbiq loopvoid loop () {// Lazım gələrsə, WiFi -yə yenidən qoşulun (WiFi.status ()! = WL_CONNECTED) {yenidən əlaqə (); qayıtmaq; } // Lazım gələrsə ThingsBoard -a yenidən qoşulun (! Tb.connected ()) {// ThingsBoard Serial.print -ə qoşulun ("Bağlanır:"); Serial.print (THINGSBOARD_SERVER); Serial.print ("token ilə"); Serial.println (TOKEN); if (! tb.connect (THINGSBOARD_SERVER, TOKEN)) {Serial.println ("Qoşulmaq alınmadı"); qayıtmaq; }} // DHT11 temperatur və rütubətini göndərməyin vaxtı olub olmadığını yoxlayın (millis ()-millis_counter> send_delay) {Serial.println ("Məlumat göndərilir …"); // MQTT istifadə edərək ThingsBoard -a yeni telemetriya yükləyir. // Bax https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // daha ətraflı məlumat üçün float h = dht.readHumidity (); // İstiliyi Celsius olaraq oxuyun (standart) float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("DHT sensorundan oxunmadı!"); } başqa {Serial.print ("Temperatur:"); Serial. çap (t); Serial.print ("Rütubət"); Serial.println (h); tb.sendTelemetryFloat ("temperatur", t); tb.sendTelemetryFloat ("rütubət", h); } milis_sayı = milis (); // millis sayacını yenidən qurun} // Mesajları emal edin tb.loop ();}
Addım 3: Məlumat Vizualizasiyası
Canlı demo serverində:
- giriş: canlı demo istifadəçi adınız (e-poçt)
- parol: canlı demo parolunuz
Hesabınızı necə əldə edəcəyiniz haqqında daha ətraflı məlumat üçün canlı demo səhifəsinə baxın.
"Cihazlar" bölməsinə gedin və "Magicbit" i tapın, cihaz detallarını açın və "Ən son telemetri" sekmesine keçin. Hər şey düzgün qurulubsa, son "temperatur" və "rütubət" dəyərlərini görə bilməlisiniz.
Sonra "Tablosuna" bölməsini açın, sonra "magicbit_temperature_humidity_demo_dashboard" u tapın və açın. Nəticədə, temperatur və rütubət səviyyəsini əks etdirən bir zaman seriyası cədvəli görəcəksiniz (girişdəki tablosuna bənzəyir).
Tövsiyə:
RevPi Core + RevPi DIO'nuzu Ubidotlara qoşun: 8 addım
RevPi Core + RevPi DIO'nuzu Ubidots-a qoşun: Revolution Pi, EN61131-2 standartına cavab verərkən qurulmuş Raspberry Pi-yə əsaslanan açıq, modul və davamlı sənaye PC-dir. Raspberry Pi Hesablama Modulu ilə təchiz edilmiş RevPi Core bazası, uyğun vasitələrdən istifadə edərək sorunsuz şəkildə genişləndirilə bilər
Birdən çox PZEM 004T -ni Nodemcu Modulu ilə qoşun: 3 addım
Birdən çox PZEM 004T -ni Nodemcu Modulu ilə bağlayın: Güc oğurluğu aşkarlama sistemi və ya enerji izləmə sistemi kimi bəzi layihələrdə birdən çox PZEM 004T moduluna ehtiyac var, buna görə burada Nodemcu kodunu və 3 PZEM 004T modulunun Nodemcu.if ilə əlaqəsini təmin etdim. sonra k
HM-10-u Micro: bit-ə qoşun Bluetooth istifadə edərək: 5 addım
HM-10-u Micro: bit-ə qoşun Bluetooth istifadə edərək: Hamısı avtomatik suvarma sistemi etməyimi istədikdə başladı. İstifadəçini xəbərdar etmək üçün mikrobit HM-10-a qoşulmalı idi. Bunun necə ediləcəyi ilə bağlı başqa heç bir dərs yox idi, buna görə Bluetooth bağlantısını öyrəndim və bir nümunə verdim
Maduino UNO -nu Servo Motora qoşun: 7 addım
Maduino UNO -nu Servo Motora qoşun: Bu təlimatda servo motoru döndərmək üçün Arduino UNO, servo motor və Visuinodan istifadə edəcəyik. Bir nümayiş videosuna baxın
Birdən çox monitoru dizüstü kompüterə qoşun: 3 addım
Birdən çox monitoru dizüstü kompüterə qoşun: Lazım olan komponentlər: Monitorlar (Vacib: USB enerji təchizatı ilə VGA bağlantısı) - TV/Monitorlar üçün 2 ədəd divar montajı - 2 Nos. 4 USB ayırıcı/adapter (monitorları işə salmaq üçün) - 1 ədəd PVC köpük 5 mm qalınlığında