Mündəricat:

LTE Arduino GPS Tracker + IoT Tablosu (2 -ci hissə): 6 addım (şəkillərlə)
LTE Arduino GPS Tracker + IoT Tablosu (2 -ci hissə): 6 addım (şəkillərlə)

Video: LTE Arduino GPS Tracker + IoT Tablosu (2 -ci hissə): 6 addım (şəkillərlə)

Video: LTE Arduino GPS Tracker + IoT Tablosu (2 -ci hissə): 6 addım (şəkillərlə)
Video: Lora ile Power saving , wake up , sleep modları 2024, Noyabr
Anonim
Image
Image
ThingsBoard Quraşdırması
ThingsBoard Quraşdırması

Giriş və 1 -ci hissənin xülasəsi

Bəli, Arduino və LTE ilə SIM7000 GPS izləyicisində başqa bir Təlimatlandırmanın vaxtı gəldi! Hələ etməmisinizsə, zəhmət olmasa Botletics SIM7000 CAT-M/NB-IoT qalxanı üçün başlayan təlimatına keçin, sonra GPS izləmə təlimatının 1-ci hissəsini oxuyun. Beləliklə, ThingsBoard ilə tanış olmaq və heyrətamiz məlumatları görmək üçün başqa bir yol sınağı etməklə bu təlimatda etməyimiz lazım olan bütün məlumatları buluda göndərməyə hazır olduğunuzu düşünürəm. göstərir!

1 -ci hissədə dweet.io -ya məlumat göndərmək üçün yaraşıqlı GPS izləyicimizi uğurla əldə etdik və məlumatları görselleştirmek üçün freeboard.io üzərindən məlumat əldə etdik. Bununla birlikdə, tezliklə xəritənin funksionallığının sərbəst taxtada olduqca topal olduğunu başa düşdüm, çünki bu, imleci gəzdirməyə və hətta widget pəncərəsinin ölçüsünü dəyişməyə imkan vermir. Bu, məni daha yaxşı bir həll yoluna gətirdi: məlumatlarınızı saxlamağa, görüntüləməyə və fərdiləşdirməyə imkan verən super zəhmli IoT tablosuna (və pulsuz!) ThingsBoard.io! Vidjetləri yenidən düzəltmək üçün sürükləyə bilərsiniz (və Chrome -da freeboarddan fərqli olaraq işləyir) və ümumi keyfiyyət məhsulun kremidir. Ən əsası, Google xəritə vidjeti sərbəst hərəkət etməyə, böyütməyə və kiçiltməyə və fərqli üslubları (peyk, yol görünüşü və s.) !

Addım 1: ThingsBoard Quraşdırması

ThingsBoard Quraşdırması
ThingsBoard Quraşdırması
ThingsBoard Quraşdırması
ThingsBoard Quraşdırması

ThingsBoard Hesabı və Cihaz Quraşdırması

Etməli olduğunuz ilk şey ThingsBoard ana səhifəsinə keçmək, sonra sağ üst menyu düyməsini basaraq "Canlı Demo" seçərək bir hesab yaratmaqdır. Bir hesab yaradın, sizə göndərdikləri bir e -poçtda hesabınızı doğrulayın, sonra yenidən Canlı Demo ana ekranına daxil olun. Bu, bütün cihazlarınızı idarə edə biləcəyiniz, tablosuna düzəlişlər edə biləcəyiniz bir ekrana gətirməlidir.

Sonra, sol tərəfdəki "Cihazlar" sekmesini seçin. Bu, ESP8266, DHT22, Arduino və Pi demoları və s. Kimi bir çox demo cihazı gətirməlidir. Sağ altdakı qırmızı "+" düyməsini basaraq yeni bir cihaz yaradın və bir ad daxil edin və cihaz növü üçün "default" seçin. "Əlavə et" düyməsini basdıqdan sonra Cihazlar sekmesinde yeni cihazınızı görməlisiniz. "Kimlik məlumatlarını idarə et" düyməsini basın və cihazın giriş nişanını göstərən kiçik bir pəncərə açılacağını görəcəksiniz. Bu, əslində cihaz identifikatorudur və məlumatların dweet.io -da yerləşdirilməsi üçün istifadə olunan cihaz identifikatoruna bənzəyir. İstəyirsinizsə bu cihaz kimliyini qalxanınızın IMEI nömrəsinə dəyişə bilərsiniz, ancaq avtomatik olaraq yaradılan nişandan da istifadə edə bilərsiniz. Bu işarəni Arduino eskizində ehtiyacınız olduğu kimi kopyalayın.

Arduino Nümunə Quraşdırma

Bu dərslikdə ilk dərsdə olduğu kimi eyni Arduino eskiz nümunəsini istifadə edəcəyik, lakin bu dəfə 1 -ci hissədə dweet.io əvəzinə məlumatları ThingsBoard.io -ya birbaşa göndərmək üçün kodu daxil etmək üçün eskizi yenilədim Həmişə olduğu kimi., nümunə kodu burada Github -da tapa bilərsiniz.

Etməyiniz lazım olan ilk şey, qalxan yazısını dweet.io -ya göndərən sətirləri şərh etməkdir:

// İstək alın/* // Sürət, yüksəklik və s. Kimi bəzi şeylərə ehtiyacınız yoxdursa, sorğunun məzmununu tənzimləyə bilərsiniz sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =%s & long =%s & speed =%s & head =%s & alt=%s & temp =%s & batt =%s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int sayğacı = 0; // Bu uğursuz cəhdlərin sayını hesablayır

// Yazı uğursuz olarsa cəmi üç dəfə cəhd edin (əlavə 2 dəfə cəhd edin) (counter <3 &&! Fona.postData ("GET", URL, "")) {// Üçüncü olaraq "" tirnoqlarını "" əlavə edin giriş, çünki GET istəyi üçün "body" olmadığı üçün Serial.println (F ("Məlumat göndərmək alınmadı, yenidən cəhd edilir …")); sayğac ++; // Artan sayğac gecikməsi (1000); } */

Sonra, thingsboard.io-da yazılan sətirləri şərh edin:

// Gəlin bir şeylər taxtası üçün bir POST sorğusu cəhd edək char char* token = "YOUR_DEVICE_TOKEN"; // Thingsboard.io cihazından sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (bədən, "{" enlem / ":%s, \" boylam / ":%s, \" sürət / ":%s, \" baş / ":%s, \" alt / ":%s), / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (bədən, "{" lat / ":%s, \" uzun / ":%s}", latBuff, longBuff); // İstədiyiniz hər şey uzun/uzun olarsa

int sayğacı = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("HTTP POST tamamlanmadı …")); sayğac ++; gecikmə (1000); }

Kodu Arduino'ya yükləyin, SİM kartın və antenin qoşulduğundan əmin olun və davam etməzdən əvvəl qalxanın buluda kod göndərdiyini yoxlayın!

Qeyd: Arduino Uno çox az yaddaşa (RAM) malikdir və Thingsboard -a yazmaq Arduinonun qəzaya uğramasına səbəb ola bilər. Eskizin təxminən postData () funksiyasının yerləşdiyi yerdə və ya digər qəribə davranışlarda yenidən başlamasını hiss edirsinizsə, çox güman ki, baş verən budur. Bunun asan həlli, Uno -nu bir Arduino Mega və ya daha çox RAM -lı bir lövhə ilə dəyişdirməkdir. Dizilərin ölçüsünü minimuma endirməyi və məlumatları birdən çox yazıya bölməyi də cəhd edə bilərsiniz.

Addım 2: Məlumat qəbulunu yoxlayın

Məlumat qəbulunu yoxlayın
Məlumat qəbulunu yoxlayın

Verilənlərin ThingsBoard -a düzgün göndərildiyini yoxlamaq üçün eyni cihaz təfərrüatları səhifəsinə keçin ("Cihazlar" səhifəsindəki GPS İzləyicisi cihaz kafelinə vurun) və sonra "Ən son Telemetri" sekmesini vurun. GPS izləyiciniz ThingsBoard -a dəyərlər göndərirsə, burada ən son dəyərləri görməlisiniz və daxil olduqları zaman real vaxtda yenilənəcəklər.

ThingsBoard -ın əslində məlumat əldə etdiyini təsdiqlədikdən sonra, məlumatları topladıqda görselleştirebilmemiz üçün tablosunu qurmağın vaxtı gəldi! (Və ya faktdan sonra)

Addım 3: İdarəetmə Paneli qurmaq

İdarəetmə Panelinin Qurulması
İdarəetmə Panelinin Qurulması
İdarəetmə Panelinin Qurulması
İdarəetmə Panelinin Qurulması
İdarəetmə Panelinin Qurulması
İdarəetmə Panelinin Qurulması

İndi əyləncəli hissənin vaxtıdır! İndi soldakı "Tablosuna" sekmesini vurun və GPS izləyici cihazınızı seçin. Bu, widget əlavə etməyinizi xahiş edən yeni bir səhifə açmalıdır. Sağ altdakı "+" düyməsini basın və "yeni vidjet yaradın" seçim etmək üçün vidjetlərin açılan menyusunu açın. Hələlik "rəqəmsal ölçü cihazı" əlavə edək. Bunun seçilməsi, seçə biləcəyiniz müxtəlif rəqəmsal ölçü cihazları üçün bir çox önizləmə yükləməlidir. Birini tıkladığınızda, widget parametrlərini qurmağınız üçün başqa bir ekran açılacaqdır. Əlavə etməli olduğunuz ilk şey məlumat mənbəyidir (məlumatlarınızı ThingsBoard -a göndərən GPS izləyiciniz). "+ ADD" düyməsini basın və "GPS Tracker" cihazınızı seçin və widgetın göstərilməsini istədiyiniz uyğun dəyişəni seçin. Bu halda "temp" (temperatur) dəyişənini seçək.

İndi widget üçün başlıq kimi şeylər əlavə etmək istəyirsinizsə, "Ayarlar" sekmesine keçin, "Başlığı göstər" i yoxlayın və bir başlıq daxil edin. "Ətraflı" sekmesinde edə biləcəyiniz bir çox başqa şey var, ancaq bunları özünüz araşdırmağa icazə verəcəyəm! Dəyər aralığını, etiket mətnini, rəngləri və daha çoxunu dəyişdirərək əylənin! Widget əlavə etdikdən sonra tablonuzun sol alt hissəsində görünəcək (ekranı dolduran bir çox vidjetiniz varsa aşağıya fırlaya bilərsiniz). Vidceti istədiyiniz vaxt idarə panelində redaktə rejimindəsinizsə, vidjetdəki düyməni basaraq düzəldə bilərsiniz və ya redaktə etməyinizə icazə vermək üçün əvvəlcə bütün ekranın sağ alt hissəsindəki qələm düyməsini basaraq redaktə rejiminə daxil ola bilərsiniz. vidjetlər. Olduqca sadə!

Addım 4: Xəritə əlavə edin

Xəritə əlavə edin!
Xəritə əlavə edin!
Xəritə əlavə edin!
Xəritə əlavə edin!
Xəritə əlavə edin!
Xəritə əlavə edin!
Xəritə əlavə edin!
Xəritə əlavə edin!

İndi GPS izləyicisi üçün bir xəritəyə sahib olmaq lazımdır! Yeni bir widget (bir daha sağ alt "+" düyməsini) yaradaraq birini əlavə edək və bu dəfə aşağı diyirləyin və "Xəritələr" seçin. Davam edin və birini vurun və bunun üçün seçimlər açılacaq. Məlumat mənbəyini hər zamanki kimi əlavə edin, lakin bu dəfə həm "lat", həm də "uzun" dəyişənləri seçin, çünki onların yerini öyrənmək üçün hər ikisinə ehtiyac olacaq. Sonra, "Ayarlar" sekmesine keçin və burada xəritədə göstəriləcək məlumatların vaxt pəncərəsini təyin edə bilərsiniz. Məsələn, yalnız son 2 dəqiqəlik məlumatların görünməsini istəyə bilərsiniz və ya dünəndən bəri bütün məlumatları istəyə bilərsiniz və ya bəlkə də vaxtında sabit bir pəncərə istəyə bilərsiniz (dünən saat 14.00 -dan bu gün səhər 10.00 -a kimi).

İstəyirsinizsə, "Ətraflı" sekmesine keçin və xəritə növünü (yol xəritəsi, peyk, hibrid və ya ərazi) seçin. Bəlkə də bütün bunların ən vacib hissəsi enlem ve boylam açar adlarını yoxlamaqdır. Bu adların həqiqətən ThingsBoard -a göndərdiyiniz dəyişən adlara tam uyğun olduğundan əmin olun. Məsələn, Arduino eskizinizdə "lat" və "uzun" dəyişənlərin göndərildiyini söyləyirsə (bu, default olaraq), sonra "lat" və "long" və "enlik" və "uzunluq" istifadə edərək açar adlarını dəyişdirməlisiniz. məlumatlarınızı gətirməyəcək!

Yenə də xəritəni əlavə etdikdən sonra tablosunun altında görünəcək. Göstərici panelində yenidən yerləşdirmək üçün onu sürükləyin və ölçüsünü dəyişdirmək üçün kənarları vurun və sürükləyin. Zaman pəncərəniz düzgün qurulubsa, mövcud yerinizin xəritədə görünməsini görməlisiniz. Super səliqəli? İndi əsl imtahana hazırıq!

Addım 5: Yol Testi

Yol Testi
Yol Testi
Yol Testi
Yol Testi

GPS izləyicisini sınamaq çox sadədir! Arduino -nu işə salmaq üçün onu avtomobilin USB adapterinə qoşun, yaşıl LED -in yandığından əmin olun və məlumat göndərməyə başlayın! GPS izləyicisinin nümunə götürmə sürətini dəyişdirmək üçün nümunə eskizdə bu kod xəttini tapdığınızdan əmin olun:

#define nümunə götürməRate 10 // Mesajlar arasındakı vaxt, saniyələr

və istədiyinizə qoyun. 10 -un yavaş bir yol testi üçün olduqca yaxşı işlədiyini gördüm, amma sürətli və qəzəbli olsanız, bəlkə də daha yüksək nümunə götürmə dərəcəsi istəyə bilərsiniz!

Addım 6: Nəticələr

Nəticələr
Nəticələr
Nəticələr
Nəticələr
Nəticələr
Nəticələr

Yuxarıdakı şəkillərdə idarəetmə panelimin qurulmasını görə bilərsiniz. Sürət, yüksəklik və temperatur kimi şeylər üçün tarixi məlumatları qrafikə əlavə etdim və başqa bir yol səfərində real vaxtda görmək istədiyim halda real vaxt ölçü cihazlarını da əlavə etdim (bunu RV-də təsvir edin!).

Xəritə zəhmli qatil idi və götürdüyüm bir marşrut haqqında həqiqətən dəqiq məlumatlar toplamağı bacardım. Həm də şəhərdəki yollarda təxminən 40 mil / saatı (qrafik saatda) aşmadığımız üçün sürət məlumatları son dərəcə dəqiq idi. Sürətdəki bir çox dalğalanmaları işıqforla izah etmək olar. Ümumiyyətlə, əla nəticələr və bundan başqa nə üçün istifadə edə biləcəyimizi təsəvvür edin! Bunu RV, motosikletə, avtomobilə və s. Yükləyə və hər zaman izləyə və ThingsBoard -da nəticələri qaldıra bilərsiniz!

Xülasə etmək üçün bu təlimatda GPS izləyicimizi HTTP POST istəkləri vasitəsilə məlumatı ThingsBoard -a birbaşa göndərmək üçün proqramlaşdırdıq və məlumatları bir tablosuna idarə etdik. Hər biri çox sərin görünən və çoxlu fərdiləşdirmə seçimləri olan birdən çox widget olan birdən çox cihaz və tablosuna əlavə edə bilərsiniz! ThingsBoard, IoT məlumatlarını görmək üçün çox güclü (və pulsuz!) Bir vasitə olduğunu sübut etdi və hətta cızmadığım digər xüsusiyyətlər də var. Ətrafınızda oynamaqdan və tapdıqlarınızı görməkdən çəkinməyin.

  • Bu dərsliyi bəyənmisinizsə, özünüz hazırlamısınızsa və ya hər hansı bir sualınız varsa, aşağıda bir şərh yazın!
  • Arduino ilə əlaqəli daha möhtəşəm dərslər üçün bu Təlimatlandırıcı bir ürək verdiyinizə və burada və YouTube kanalımda abunə olduğunuza əmin olun!
  • Etdiklərimə dəstək olmaq istəyirsinizsə, Amazon.com -da öz Botletics SIM7000 qalxanınızı satın alın!

Bununla növbəti dəfə görüşəcəyəm!

Tövsiyə: