Mundarija:

LTE Arduino GPS Tracker + IoT asboblar paneli (2 -qism): 6 qadam (rasmlar bilan)
LTE Arduino GPS Tracker + IoT asboblar paneli (2 -qism): 6 qadam (rasmlar bilan)

Video: LTE Arduino GPS Tracker + IoT asboblar paneli (2 -qism): 6 qadam (rasmlar bilan)

Video: LTE Arduino GPS Tracker + IoT asboblar paneli (2 -qism): 6 qadam (rasmlar bilan)
Video: Использование карты Micro SD и регистрация данных с Arduino | Пошаговый курс Arduino, урок 106 2024, Iyul
Anonim
Image
Image
ThingsBoard -ni sozlash
ThingsBoard -ni sozlash

Kirish va 1 -qism. Xulosa

Ha, Arduino va LTE bilan SIM7000 GPS izdoshlarida yana bir ko'rsatma berish vaqti keldi! Agar siz hali buni qilmagan bo'lsangiz, iltimos, SIM7000 CAT-M/NB-IoT Botletics qalqoni uchun boshlang'ich qo'llanmasini ko'rib chiqing va GPSni kuzatish bo'yicha qo'llanmaning 1-bo'limida o'qing. Shunday qilib, menimcha, sizda barcha jihozlar o'rnatilgan va bulutga ma'lumotlarni joylashtirishga tayyor, bu darslikda biz ThingsBoard bilan tanishib, ajoyib ma'lumotlarni ko'rish uchun boshqa yo'l testini o'tkazamiz. ko'rsatadi!

Birinchi bo'limda biz o'zimizning GPS -trekerimizni dweet.io ga yuborish uchun muvaffaqiyatli oldik va ma'lumotlarni vizualizatsiya qilish uchun freeboard.io -dan ma'lumotlarni oldik. Ammo tez orada men bilardimki, xaritaning funktsionalligi bort taxtasida juda oqsoq, chunki u kursorni boshqa joyga ko'chirishga yoki hatto vidjet oynasining hajmini o'zgartirishga imkon bermaydi. Bu meni yaxshiroq echimga olib keldi: ThingsBoard.io-bu ajoyib IoT asboblar paneli (va bepul!), Bu sizga ma'lumotlarni saqlash, vizualizatsiya qilish va sozlash imkonini beradi! Siz vidjetlarni qayta tartiblashtirish uchun sudrab borishingiz mumkin (va u Chrome -da bepul taxtadan farqli o'laroq ishlaydi) va umumiy sifat - bu qaymoq. Eng muhimi, Google xaritasi vidjeti sizga erkin harakatlanish, kattalashtirish va kichraytirish, turli xil uslublarni (sun'iy yo'ldosh, yo'l ko'rinishi va boshqalar) tanlash imkonini beradi va hatto kichkina sariq odamni ko'cha ko'rinishi uchun yo'lga sudrab tashlab qo'yishga imkon beradi. !

1 -qadam: ThingsBoard -ni sozlash

ThingsBoard -ni sozlash
ThingsBoard -ni sozlash
ThingsBoard -ni sozlash
ThingsBoard -ni sozlash

ThingsBoard hisob qaydnomasi va qurilmani sozlash

Siz qilishingiz kerak bo'lgan birinchi narsa - ThingsBoard bosh sahifasiga o'ting, so'ngra yuqori o'ng burchakdagi menyu tugmachasini bosib, "Jonli namoyish" ni tanlab hisob yarating. Hisob qaydnomasini yarating, elektron pochta orqali o'z hisobingizni tasdiqlang, so'ngra Live Demo bosh ekraniga kiring. Bu sizni ekranga olib kelishi mumkin, u erda siz barcha qurilmalaringizni boshqarishingiz, boshqaruv panellarini tahrirlashingiz va hokazo.

Keyin, chap tomonda "Qurilmalar" yorlig'ini tanlang. Bu ESP8266, DHT22, Arduino va Pi demolari va boshqalar kabi bir qancha demo qurilmalarni keltirib chiqarishi kerak. O'ng pastki pastki qismidagi qizil "+" tugmachasini bosib yangi qurilma yarating va ism kiriting va qurilma turi uchun "standart" ni tanlang. "Qo'shish" tugmachasini bosgandan so'ng, "Qurilmalar" yorlig'ida yangi qurilmangizni ko'rishingiz kerak. "Hisob ma'lumotlarini boshqarish" ni bosing va siz qurilmaning kirish belgisini ko'rsatadigan kichik oynani ko'rasiz. Bu asosan qurilma identifikatori va ma'lumotlarni dweet.io -ga joylashtirish uchun ishlatiladigan qurilma identifikatoriga o'xshaydi. Agar xohlasangiz, ushbu qurilma identifikatorini qalqoningizning IMEI raqamiga o'zgartirishingiz mumkin, lekin siz avtomatik ravishda ishlab chiqarilgan tokendan ham foydalanishingiz mumkin. Ushbu tokenni Arduino eskizida kerak bo'lganda nusxa ko'chiring.

Arduino misol o'rnatish

Bu qo'llanmada biz xuddi birinchi darslikdagi Arduino eskizini ishlatamiz, lekin bu safar men eskizni 1 -qismdagi dweet.io o'rniga to'g'ridan -to'g'ri ThingsBoard.io -ga yuborish uchun kodni kiritish uchun yangiladim., misol kodini bu erda Github -da topishingiz mumkin.

Siz qilishingiz kerak bo'lgan birinchi narsa, qalqon postini dweet.io -ga yuboradigan satrlarni izohlash:

// GET so'rovini olish/* // Agar siz tezlik, balandlik va boshqalar kabi ba'zi narsalarga muhtoj bo'lmasangiz, so'rov mazmunini o'zgartirishingiz mumkin sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =%s & long =%s & tezlik =%s & bosh =%s & alt=%s & temp =%s & batt =%s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int hisoblagich = 0; // Bu muvaffaqiyatsiz urinishlar sonini hisoblab chiqadi

// Agar xabar muvaffaqiyatsiz bo'lsa, jami uch marta urinib ko'ring (qo'shimcha 2 marta urinib ko'ring). kiritish, chunki GET so'rovi uchun "body" yo'q Serial.println (F ("Ma'lumotlar joylashtirilmadi, qayta urinilmoqda …")); hisoblagich ++; // Hisoblagichni kechiktirish (1000); } */

Keyin, thingsboard.io-ga joylashtirilgan qatorlarga izoh qoldirmang:

// Keling, thingsboard.io const char* token = "YOUR_DEVICE_TOKEN" ga POST so'rovini sinab ko'raylik; // thingsboard.io qurilmasidan sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (tana, "{" kenglik / ":%s, \" uzunlik / ":%s, \" tezlik / ":%s, \" bosh / ":%s, \" alt / ":%s), / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (tana, "{" lat / ":%s, \" uzun / ":%s}", latBuff, longBuff); // Agar siz xohlagan hamma narsa lat/uzun bo'lsa

int hisoblagich = 0;

while (! fona.postData ("POST", URL, asosiy)) {Serial.println (F ("HTTP POSTni bajarib bo'lmadi …")); hisoblagich ++; kechikish (1000); }

Kodni Arduino -ga yuklang, SIM -karta va antennani biriktirib qo'yganingizga ishonch hosil qiling va davom etishdan oldin qalqon bulutga kod yuborayotganini tekshiring!

QAYD: Arduino Uno xotirasi (RAM) juda kam va Thingsboard -ga joylashtirish Arduino -ning ishdan chiqishiga olib kelishi mumkin. Agar siz postData () funktsiyasining joylashuvi yoki boshqa g'alati xatti -harakatlarning eskizini qayta ishga tushirishni boshdan kechirayotgan bo'lsangiz, ehtimol bu sodir bo'lyapti. Buni tuzatishning oson yo'li - Uno -ni Arduino Mega yoki RAMga ega bo'lgan taxtaga almashtirish. Shuningdek, siz massivlar hajmini kamaytirishga harakat qilib, ma'lumotlarni bir nechta postlarga bo'lishingiz mumkin.

2 -qadam: Ma'lumotlarni qabul qilishni tekshiring

Ma'lumotni qabul qilishni tasdiqlang
Ma'lumotni qabul qilishni tasdiqlang

Ma'lumotlar ThingsBoard -ga to'g'ri yuborilganligini tekshirish uchun, xuddi shu qurilma tafsilotlari sahifasiga o'ting ("Qurilmalar" sahifasida GPS kuzatuvchisi qurilmasi belgisini bosing) va "Oxirgi telemetriya" yorlig'ini bosing. Agar GPS izdoshingiz ThingsBoard -ga qiymatlarni yuborsa, siz bu erda eng yangi qiymatlarni ko'rishingiz kerak va ular real vaqt rejimida yangilanadi.

Siz ThingsBoard haqiqatan ham ma'lumot olayotganini tekshirganingizdan so'ng, boshqaruv panelini o'rnatish vaqti keldi, shunda biz ma'lumotlarni yig'ish paytida tasavvur qila olamiz! (Yoki haqiqatdan keyin)

3 -qadam: boshqaruv panelini sozlash

Boshqaruv panelini sozlash
Boshqaruv panelini sozlash
Boshqaruv panelini sozlash
Boshqaruv panelini sozlash
Boshqaruv panelini sozlash
Boshqaruv panelini sozlash

Endi qiziqarli qismning vaqti keldi! Endi chapdagi "Boshqaruv paneli" yorlig'ini bosing va GPS kuzatuvchi qurilmangizni tanlang. Bu sizga vidjet qo'shishni so'raydigan yangi sahifani ochishi kerak. Pastki o'ng burchakdagi "+" tugmachasini bosing va "yangi vidjet yaratish" -ni tanlang. Hozircha "raqamli o'lchagich" ni qo'shamiz. Buni tanlash siz tanlashingiz mumkin bo'lgan har xil turdagi raqamli o'lchagichlarni oldindan ko'rishni yuklashi kerak. Ulardan birini bosganingizda, vidjet parametrlarini sozlash uchun boshqa ekran paydo bo'ladi. Siz qo'shishingiz kerak bo'lgan birinchi narsa bu ma'lumotlar manbai (ma'lumotlarni ThingsBoard -ga yuboradigan GPS -kuzatuvchi qurilmangiz). "+ ADD" tugmasini bosing va "GPS Tracker" qurilmangizni tanlang va vidjet ko'rsatmoqchi bo'lgan mos keladigan o'zgaruvchini tanlang. Bunday holda, "temp" (harorat) o'zgaruvchisini tanlaymiz.

Agar siz vidjet sarlavhasi kabi narsalarni qo'shmoqchi bo'lsangiz, "Sozlamalar" yorlig'iga o'ting, "Sarlavhani ko'rsatish" bandini belgilang va sarlavha kiriting. "Kengaytirilgan" yorlig'ida siz qilishingiz mumkin bo'lgan boshqa ko'p narsalar bor, lekin men ularni o'zingiz tekshirishingizga ruxsat beraman! Qiymat diapazonini, yorliq matnini, ranglarni va boshqalarni o'zgartirishdan zavqlaning! Vidjetni qo'shgandan so'ng, u asboblar panelining chap pastki qismida paydo bo'ladi (agar sizda ekranni to'ldiradigan bir nechta vidjet bo'lsa, pastga aylantirish kerak bo'ladi). Vidjetni xohlagan vaqtda tahrir qilish rejimida bo'lsangiz, vidjet tugmachasini bosib tahrir qilishingiz mumkin yoki tahrir qilish uchun butun ekranning pastki o'ng burchagidagi qalam tugmasini bosib tahrir qilish rejimiga kirishingiz mumkin. vidjetlar. Juda sodda!

4 -qadam: Xaritani qo'shish

Xaritani qo'shish!
Xaritani qo'shish!
Xaritani qo'shish!
Xaritani qo'shish!
Xaritani qo'shish!
Xaritani qo'shish!
Xaritani qo'shish!
Xaritani qo'shish!

Endi GPS-kuzatuvchi uchun xarita-bu kerak! Keling, yangi vidjet yaratib (pastki o'ngdagi "+" tugmachasini) qo'shamiz va bu safar pastga siljiting va "Xaritalar" ni tanlang. Davom eting va birini bosing, shunda uning variantlari paydo bo'ladi. Ma'lumot manbasini odatdagidek qo'shing, lekin bu safar "lat" va "uzun" o'zgaruvchilarni tanlang, chunki joylashuvni bilish uchun ikkalasiga ham kerak bo'ladi. Keyin, "Sozlamalar" yorlig'iga o'ting va bu erda siz ma'lumotlarning vaqt oynasini xaritada ko'rsatilishini sozlashingiz mumkin. Masalan, siz faqat ma'lumotlarning oxirgi 2 daqiqasi paydo bo'lishini xohlaysiz, yoki siz kechagi paytdagi barcha ma'lumotlarni xohlaysizmi yoki o'z vaqtida aniq oynani xohlaysizmi (masalan, kechasi soat 14:00 dan bugun soat 10:00 gacha).

Agar xohlasangiz, "Kengaytirilgan" yorlig'iga o'ting va xarita turini tanlang (yo'l xaritasi, sun'iy yo'ldosh, gibrid yoki er). Ehtimol, bularning eng muhim qismi kenglik va uzunlik kalitlarining nomlarini tekshirishdir. Bu nomlar ThingsBoard -ga yuborayotgan o'zgaruvchilar nomlariga to'liq mos kelishiga ishonch hosil qiling. Masalan, agar sizning Arduino eskizida "lat" va "uzun" o'zgaruvchilar yuborilayotgani aytilgan bo'lsa (u odatdagidek), siz kalit nomlarini "lat" va "uzun" ga o'zgartirishingiz va "kenglik" va "uzunlik" dan foydalanishingiz kerak. ma'lumotlaringizni qabul qilmaydi!

Yana, xaritani qo'shgandan so'ng, u asboblar panelining pastki qismida paydo bo'ladi. Uni asboblar panelida qayta joylashtirish uchun suring va uning o'lchamini o'zgartirish uchun qirralarini bosing va torting. Agar oyna oynasi to'g'ri o'rnatilgan bo'lsa, xaritada sizning joriy manzilingiz paydo bo'lishi kerak. Ajoyib, to'g'rimi? Endi biz haqiqiy sinovga tayyormiz!

5 -qadam: Yo'l testi

Yo'l testi
Yo'l testi
Yo'l testi
Yo'l testi

GPS kuzatuvchini sinab ko'rish juda oddiy! Arduino -ni mashina USB -adapteriga ulang, shunda yashil LED yonadi va u ma'lumotlarni uzatishni boshlaydi! GPS izdoshining namuna olish tezligini o'zgartirish uchun, ushbu eskizda ushbu kod qatorini topganingizga ishonch hosil qiling:

#namuna olishni aniqlash 10 -daraja // Xabarlar orasidagi vaqt, soniyalarda

va uni xohlagan narsangizga o'rnating. Men 10 -yillar yo'l sinovida juda yaxshi ishlashini topdim, lekin agar siz tez va g'azablansangiz, ehtimol siz undan ham yuqori namuna olish tezligini xohlaysiz!

6 -qadam: Natijalar

Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar

Yuqoridagi rasmlarda siz boshqaruv paneli sozlamalarini ko'rishingiz mumkin. Men tezlik, balandlik va harorat kabi tarixiy ma'lumotlarni chizish uchun jadvallarni qo'shdim, shuningdek ularni boshqa safar safarida real vaqtda ko'rishni xohlasam real vaqt o'lchagichlarini qo'shdim (buni RVda ko'ring!).

Xarita juda qotil edi va men olgan marshrut haqida haqiqatan ham aniq ma'lumotlarni to'plashga muvaffaq bo'ldim. Shuningdek, tezlik to'g'risidagi ma'lumotlar juda aniq edi, chunki biz shahar yo'llarida soatiga 40 mil tezlikdan oshmaganmiz. Tezlikning ko'p o'zgarishini svetoforlar bilan izohlash mumkin. Umuman olganda, ajoyib natijalar va biz buni yana nima uchun ishlatishni tasavvur qiling! Siz uni RV, mototsikl, avtomobil va boshqalarga o'rnatib, uni doim kuzatib borishingiz va ThingsBoard -da natijalarni ko'tarishingiz mumkin!

Xulosa qilib aytganda, ushbu o'quv qo'llanmada biz GPS izdoshimizni ma'lumotlarni HTTP POST so'rovlari orqali ThingsBoard -ga to'g'ridan -to'g'ri yuborish uchun dasturlashtirdik va ma'lumotlarni boshqaruv panelida boshqaramiz. Siz bir nechta qurilmalar va boshqaruv panellarini qo'shishingiz mumkin, ularning har biri bir nechta vidjetlarni o'z ichiga oladi, ular ajoyib ko'rinishga ega va ko'plab sozlash variantlariga ega! ThingsBoard IoT ma'lumotlarini ko'rish uchun juda kuchli (va bepul!) Vositasi ekanligini isbotladi va hatto men chizmagan boshqa xususiyatlar ham bor. Bemalol u bilan o'ynang va topganingizni ko'ring.

  • Agar sizga ushbu darslik yoqqan bo'lsa, o'zingiz tayyorlagan bo'lsangiz yoki savollaringiz bo'lsa, iltimos, quyida izoh qoldiring!
  • Arduino bilan bog'liq ajoyib darsliklar uchun bu ko'rsatmali yurakka ishonch hosil qiling va YouTube kanalimga obuna bo'ling!
  • Agar siz mening qilayotgan ishimni qo'llab -quvvatlamoqchi bo'lsangiz, iltimos, Amazon.com saytida SIM7000 Botletics qalqonini sotib oling!

Shunday qilib, keyingi safar uchrashaman!

Tavsiya: