Talaan ng mga Nilalaman:

LTE Arduino GPS Tracker + IoT Dashboard (Bahagi 2): 6 na Hakbang (na may Mga Larawan)
LTE Arduino GPS Tracker + IoT Dashboard (Bahagi 2): 6 na Hakbang (na may Mga Larawan)

Video: LTE Arduino GPS Tracker + IoT Dashboard (Bahagi 2): 6 na Hakbang (na may Mga Larawan)

Video: LTE Arduino GPS Tracker + IoT Dashboard (Bahagi 2): 6 na Hakbang (na may Mga Larawan)
Video: Make Your Own GPS Tracker Using the AVR-IoT Cellular Mini 2024, Nobyembre
Anonim
Image
Image
Pag-setup ng ThingsBoard
Pag-setup ng ThingsBoard

Intro & Part 1 Recap

Yup, oras na para sa isa pang Instructable sa SIM7000 GPS tracker kasama ang Arduino at LTE! Kung hindi mo pa nagagawa, mangyaring suriin ang panimulang tutorial para sa Botletics SIM7000 CAT-M / NB-IoT na kalasag pagkatapos basahin ang Bahagi 1 ng tutorial sa pagsubaybay sa GPS. Tulad ng naturan, ipagpapalagay ko na mayroon ka ng lahat ng mga hardware na na-set up at handa na mag-post ng data sa cloud ang talagang kailangan naming gawin sa tutorial na ito ay pamilyar sa ThingsBoard at gumawa ng isa pang pagsubok sa kalsada upang makita ang kamangha-manghang data nito mga palabas!

Sa Bahagi 1 matagumpay naming nakuha ang aming nakakatawang GPS tracker upang magpadala ng data sa dweet.io at kinuha ang data sa freeboard.io upang mailarawan ang data. Gayunpaman, napagtanto ko na ang pagpapaandar ng mapa ay pilay sa freeboard dahil hindi ka nito pinapayagan na ilipat ang cursor sa paligid o baguhin ang laki ang window ng widget. Humantong ito sa akin sa isang mas mahusay na solusyon: ThingsBoard.io na isang napakahusay na dashboard ng IoT (at libre!) Na nagbibigay-daan sa iyo upang mag-imbak, mailarawan, at ipasadya ang ano sa iyong data! Maaari mong i-drag upang muling ayusin ang mga widget (at gumagana ito sa Chrome hindi katulad ng freeboard), at ang pangkalahatang kalidad ay ang cream ng ani. Pinakamahalaga, pinapayagan ka ng widget ng mapa ng Google na libreng maglibot, mag-zoom in at palabas, at pumili ng iba't ibang mga estilo (satellite, tanawin ng kalsada, atbp.) At pinapayagan ka ring i-drag at i-drop ang maliit na dilaw na tao sa kalsada para sa mga tanawin ng kalye !

Hakbang 1: Pag-setup ng ThingsBoard

Pag-setup ng ThingsBoard
Pag-setup ng ThingsBoard
Pag-setup ng ThingsBoard
Pag-setup ng ThingsBoard

ThingsBoard Account at Pag-setup ng Device

Ang unang bagay na dapat mong gawin ay pumunta sa home page ng ThingsBoard pagkatapos ay lumikha ng isang account sa pamamagitan ng pag-click sa kanang itaas na pindutan ng menu at pagpili sa "Live Demo". Lumikha ng isang account, i-verify ang iyong account sa isang email na ipinadala sa iyo, pagkatapos ay mag-log in muli sa Live Demo homescreen. Dapat ka nitong dalhin sa isang screen kung saan maaari mong pamahalaan ang lahat ng iyong aparato, i-edit ang mga dashboard, atbp.

Susunod, piliin ang tab na "Mga Device" sa kaliwang bahagi. Dapat itong magdala ng isang pangkat ng mga demo device tulad ng mga demo ng ESP8266, DHT22, Arduino at Pi, atbp. Lumikha ng isang bagong aparato sa pamamagitan ng pag-click sa pulang pindutang "+" sa kanang ibaba at maglagay ng isang pangalan at piliin ang "default" para sa uri ng aparato. Pagkatapos ng pag-click sa "ADD" dapat mong makita ang iyong bagong aparato sa tab na Mga Device. Mag-click sa "Pamahalaan ang Mga Kredensyal" at dapat mong makita ang isang maliit na window pop up na nagpapakita ng access token ng aparato. Mahalaga ito ang ID ng aparato at kahalintulad sa ginamit na aparato ID para sa pag-post ng data sa dweet.io. Maaari mong baguhin ang ID ng aparato sa numero ng IMEI ng iyong kalasag kung nais mo, ngunit maaari mo lamang gamitin ang token na awtomatikong nabuo. Kopyahin ang token na ito dahil kakailanganin mo ito sa Arduino sketch.

Halimbawa ng Pag-set up ng Arduino

Sa tutorial na ito gagamitin namin ang eksaktong parehong halimbawa ng Arduino sketch tulad ng sa unang tutorial ngunit sa oras na ito na-update ko ang sketch upang isama ang code upang direktang magpadala ng data sa ThingsBoard.io sa halip na dweet.io sa Bahagi 1. Tulad ng nakasanayan, mahahanap mo ang halimbawa ng code dito sa Github.

Ang unang bagay na kailangan mong gawin ay bigyan ng puna ang mga linya na ginagawang post sa kalasag sa dweet.io:

// GET request / * // Maaari mong ayusin ang mga nilalaman ng kahilingan kung hindi mo kailangan ng ilang mga bagay tulad ng bilis, altitude, atbp 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 counter = 0; // Binibilang nito ang bilang ng mga hindi nabigong pagsubok

// Subukan ang isang kabuuang tatlong beses kung hindi matagumpay ang post (subukan ang karagdagang 2 beses) habang (counter <3 &&! Fona.postData ("GET", URL, "")) {// Idagdag ang mga quote na "" bilang pangatlo input dahil para sa kahilingan na GET walang "katawan" na Serial.println (F ("Nabigong mag-post ng data, muling sinusubukan …")); counter ++; // Pagtaas ng counter counter (1000); } * /

Susunod, i-un-puna ang mga linya na nag-post sa Thingsboard.io:

// Subukan natin ang isang kahilingan sa POST sa Thingsboard.io const char * token = "IYONG_DEVICE_TOKEN"; // Mula sa mga bagay na sprintf ng deviceboard.io (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (body, "{" latitude / ":% s, \" longitude / ":% s, \" speed / ":% s, \" head / ":% s, \" alt / ":% s, / "temp \":% s, / "batt \":% s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":% s, \" long / ":% s}", latBuff, longBuff); // Kung ang gusto mo lang ay lat / haba

int counter = 0;

habang (! fona.postData ("POST", URL, body)) {Serial.println (F ("Nabigong makumpleto ang HTTP POST …")); counter ++; pagkaantala (1000); }

I-upload ang code sa iyong Arduino, tiyaking mayroon kang nakalakip na SIM card at antena, at i-verify na ang kalasag ay nagpapadala ng code sa cloud bago magpatuloy!

TANDAAN: Ang Arduino Uno ay may napakakaunting memorya (RAM) at ang pag-post sa Thingsboard ay maaaring maging sanhi ng pag-crash ng Arduino. Kung nakakaranas ka ng pag-restart ng sketch sa humigit-kumulang na lokasyon ng pag-andar ng postData () o iba pang kakaibang pag-uugali, malamang na iyon ang nangyayari. Ang madaling ayusin doon ay upang ipagpalit ang Uno gamit ang isang Arduino Mega o isang board na may mas maraming RAM. Maaari mo ring subukang i-minimize ang laki ng mga arrays at hatiin ang data sa maraming mga post.

Hakbang 2: I-verify ang Pagtanggap ng Data

I-verify ang Pagtanggap ng Data
I-verify ang Pagtanggap ng Data

Upang ma-verify talaga na ang data ay naipapadala nang tama sa ThingsBoard, pumunta sa parehong pahina ng mga detalye ng aparato (mag-click sa tile ng aparato ng GPS Tracker sa pahina ng "Mga Device" pagkatapos ay i-click ang tab na "Pinakabagong Telemetry". Kung ang iyong tracker ng GPS ay nagpapadala ng mga halaga sa ThingsBoard dapat mong makita ang pinakabagong mga halaga dito at mag-a-update sila sa real time habang papasok sila.

Ngayon na napatunayan mo na ang ThingsBoard ay talagang nakakakuha ng data oras na upang i-set up ang dashboard upang maipakita natin ang aming data kapag kinokolekta namin ito! (O pagkatapos ng katotohanan)

Hakbang 3: Pag-set up ng Dashboard

Pag-set up ng Dashboard
Pag-set up ng Dashboard
Pag-set up ng Dashboard
Pag-set up ng Dashboard
Pag-set up ng Dashboard
Pag-set up ng Dashboard

Ngayon na ang oras para sa kasiya-siyang bahagi! Ngayon i-click ang tab na "Dashboard" sa kaliwa at piliin ang iyong aparato ng GPS tracker. Dapat itong magdala ng isang bagong pahina na humihiling sa iyo na magdagdag ng mga widget. I-click ang kanang ibaba sa pindutang "+" at "lumikha ng bagong widget" upang maglabas ng isang dropdown na menu ng mga widget upang pumili. Sa ngayon magdagdag tayo ng isang "digital gauge". Ang pagpili dito ay dapat mag-load ng isang bungkos ng mga preview para sa lahat ng iba't ibang uri ng mga digital na gauge na maaari mong mapagpipilian. Kapag nag-click ka sa isa ay maglalabas ng isa pang screen para sa iyo upang i-set up ang mga parameter ng widget. Ang unang bagay na kailangan mong idagdag ay ang datasource (ang iyong aparato ng GPS tracker na nagpapadala ng data sa ThingsBoard). Pindutin ang pindutang "+ ADD" at piliin ang iyong aparato na "GPS Tracker" at piliin ang naaangkop na variable na nais mong ipakita ang widget. Sa kasong ito, piliin natin ang variable na "temp" (temperatura).

Ngayon kung nais mong magdagdag ng mga bagay tulad ng isang pamagat para sa widget, pumunta sa ilalim ng tab na "Mga Setting", suriin ang "pamagat ng Display", at maglagay ng isang pamagat. Maraming iba pang mga bagay na maaari mong gawin sa ilalim ng tab na "Advanced" ngunit hahayaan ko kang siyasatin ang iyong mga sarili! Magsaya sa pagbabago ng mga saklaw ng halaga, teksto ng label, mga kulay, at higit pa! Matapos idagdag ang widget lilitaw ito sa kaliwang ibabang bahagi ng iyong dashboard (maaaring kailangan mong mag-scroll pababa kung mayroon kang maraming mga widget na pinupunan ang screen). Maaari mong i-edit ang widget sa anumang oras sa pamamagitan ng pagpindot sa pindutan ng widget kung nasa dashboard edit mode ka na, o ipasok ang mode na pag-edit sa pamamagitan ng pagpindot sa pindutan ng lapis sa kanang bahagi sa ibaba ng buong screen muna upang payagan kang mag-edit ang mga widget. Medyo prangka!

Hakbang 4: Pagdaragdag ng Mapa

Pagdaragdag ng Mapa!
Pagdaragdag ng Mapa!
Pagdaragdag ng Mapa!
Pagdaragdag ng Mapa!
Pagdaragdag ng Mapa!
Pagdaragdag ng Mapa!
Pagdaragdag ng Mapa!
Pagdaragdag ng Mapa!

Ngayon para sa isang tracker ng GPS ang isang mapa ay dapat-mayroon! Magdagdag tayo ng isa sa pamamagitan ng paglikha ng isang bagong widget (ibabang kanang pindutan na "+" muli) at sa oras na ito mag-scroll pababa at piliin ang "Mga Mapa". Sige at mag-click sa isa at ilalabas nito ang mga pagpipilian para dito. Idagdag ang datasource tulad ng dati ngunit sa oras na ito, piliin ang parehong "lat" at "mahaba" na mga variable dahil kakailanganin nito ang pareho sa mga ito upang makuha ang lokasyon. Susunod, pumunta sa tab na "Mga Setting" at dito maaari mong itakda ang timewindow ng data upang ipakita sa mapa. Halimbawa, maaari mo lamang nais na lumitaw ang huling 2 minuto ng data, o baka gusto mo ang lahat ng data mula kahapon, o baka gusto mo lang ng isang nakapirming window sa oras (tulad ng 2PM kahapon hanggang 10AM ngayon).

Kung nais mo maaari kang pumunta sa tab na "Advanced" at piliin ang uri ng mapa (roadmap, satellite, hybrid, o terrain). Marahil ang pinakamahalagang bahagi ng lahat ng ito ay upang suriin ang mga pangalan ng key ng latitude at longitude. Siguraduhin na ang mga pangalang ito ay eksaktong tumutugma sa mga variable na pangalan na iyong ipinapadala sa ThingsBoard. Halimbawa, kung sinabi ng iyong Arduino sketch na nagpapadala ito ng "lat" at "mahaba" na mga variable (na kung saan ito ay bilang default) kung gayon kailangan mong baguhin ang mga pangunahing pangalan sa "lat" at "haba" at paggamit ng "latitude" at "longitude" hindi kukunin ang iyong data!

Muli, pagkatapos idagdag ang mapa lilitaw ito sa ilalim ng dashboard. I-drag lamang ito upang muling iposisyon ito sa dashboard at i-click at i-drag ang mga gilid upang baguhin ang laki nito. Kung ang iyong timewindow ay itinakda nang tama dapat mong makita ang iyong kasalukuyang lokasyon na lilitaw sa mapa. Super ayos ha? Ngayon handa na kami para sa isang tunay na pagsubok!

Hakbang 5: Pagsubok sa Daan

Pagsubok sa Kalsada
Pagsubok sa Kalsada
Pagsubok sa Kalsada
Pagsubok sa Kalsada

Ang pagsubok sa tracker ng GPS ay sobrang simple! I-plug lamang ang Arduino sa isang adapter ng USB ng kotse upang mapagana ito, siguraduhin na ang berdeng LED ay nakabukas, at dapat itong magsimulang magpadala ng data! Upang baguhin ang rate ng pag-sample ng tracker ng GPS siguraduhing nakita mo ang linya ng code na ito sa halimbawa ng sketch:

#define samplingRate 10 // Ang oras sa pagitan ng mga post, sa segundo

at itakda ito sa kahit anong gusto mo. Nalaman ko na ang 10s ay gumagana nang maayos para sa isang masarap na pagsubok sa kalsada, ngunit kung ikaw ay mabilis at galit na galit baka gusto mo ng isang mas mataas na rate ng sampling!

Hakbang 6: Mga Resulta

Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta

Sa mga larawan sa itaas makikita mo ang pag-set up ng dashboard ko. Nagdagdag ako ng mga tsart sa graph ng makasaysayang data para sa mga bagay tulad ng bilis, altitude, at temperatura, at nagsama rin ng mga gauge ng real-time kung sakaling nais kong makita ang mga ito nang real time sa isa pang paglalakbay sa kalsada (larawan ito sa isang RV!).

Ang mapa ay nakamamatay at nagawa kong mangolekta ng ilang talagang tumpak na data ng isang ruta na kinuha ko. Gayundin, ang data ng bilis ay lubos na tumpak sapagkat hindi kami lumampas sa halos 40mph (ang grap ay nasa kph) sa mga kalsada ng lungsod. Ang maraming mga pagbabagu-bago sa bilis ay maaaring ipaliwanag ng mga ilaw ng trapiko. Sa pangkalahatan, mahusay na mga resulta at isipin kung ano pa ang maaari nating gamitin para dito! Maaari mo itong mai-install sa isang RV, motorsiklo, kotse, atbp at subaybayan ito sa lahat ng oras at makuha ang mga resulta sa ThingsBoard!

Upang buod, sa tutorial na ito na-program namin ang aming tracker ng GPS upang direktang magpadala ng data sa ThingsBoard sa pamamagitan ng mga kahilingan sa HTTP POST at pinamamahalaang ang data sa isang dashboard. Maaari kang magdagdag ng maraming mga aparato at dashboard, bawat isa ay naglalaman ng maraming mga widget na mukhang sobrang cool at maraming mga pagpipilian sa pagpapasadya! Ang ThingsBoard ay napatunayan na isang napakalakas (at libre!) Na tool upang matingnan ang data ng IoT at may mga iba pang mga tampok na hindi ko pa nasasgas. Huwag mag-atubiling maglaro dito at makita kung ano ang iyong nahanap.

  • Kung nagustuhan mo ang tutorial na ito, gumawa ng sarili, o may anumang mga katanungan, mangyaring gumawa ng isang puna sa ibaba!
  • Siguraduhing bigyan ang isang Ituturo na isang puso at mag-subscribe dito at sa aking channel sa YouTube para sa mas kahanga-hangang mga tutorial na nauugnay sa Arduino!
  • Kung nais mong suportahan ang ginagawa ko, mangyaring isaalang-alang ang pagbili ng iyong sariling kalasag ng Botletics SIM7000 sa Amazon.com!

Sa pamamagitan nito, makikita kita sa susunod!

Inirerekumendang: