Talaan ng mga Nilalaman:

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

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

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

Panimula

Anong meron guys! Ang Instructable na ito ay isang follow-up ng aking unang Instructable sa paggamit ng Botletics LTE / NB-IoT na kalasag para sa Arduino kaya't kung hindi mo pa nagagawa, pakibasa ito upang makakuha ng magandang pangkalahatang ideya kung paano gamitin ang kalasag at kung ano ang tungkol dito. Sa tutorial na ito ay magtutuon ako sa pag-log ng data ng IoT, at partikular, pagsubaybay sa GPS at temperatura at ibibigay sa iyo ang lahat ng code at patnubay na kakailanganin mo upang maabot ang kalsada at subukan ito!

Ang Instructable na ito ay pangunahing nakatuon sa kalasag ng LTE na personal kong dinisenyo at itinayo, ngunit ang lahat dito (kasama ang aklatan ng Github Arduino) ay dapat na gumana sa mga module ng 2G at 3G ng SIMCom tulad ng SIM800 / 808/900/5320 din dahil na-update lamang ito bersyon ng Adafruit FONA library. Hindi alintana ng hardware ang konsepto ay eksaktong pareho at maaari kang gumawa ng maraming mga cool na bagay sa ito, kabilang ang pag-log ng data ng sensor, pagsubaybay sa malayuang panahon, pagsubaybay sa auto karma GPS pagsubaybay, atbp … kaya basahin!

Hakbang 1: Ipunin ang Mga Bahagi

Ipunin ang Mga Bahagi
Ipunin ang Mga Bahagi
Ipunin ang Mga Bahagi
Ipunin ang Mga Bahagi
Ipunin ang Mga Bahagi
Ipunin ang Mga Bahagi

Ang listahan ay kapareho ng sa aking unang tutorial at talagang simple!

  • Arduino Uno, Mega, o Leonardo. Bilang kahalili maaari kang gumamit ng anumang iba pang 3.3V o 5V microcontroller ngunit kailangan mong i-wire ang mga pin sa labas.
  • Botletics SIM7000 Shield Kit (may kasamang kalasag, dalawahang LTE / GPS uFL antena, at paglalagay ng mga babaeng header). Siguraduhin na dumaan ka sa tutorial na ito upang pumili ng isang naaangkop na bersyon!
  • Hologram SIM card. Ang unang SIM card (tinatawag na "developer" na SIM card) ay libre at mayroong 1MB na data bawat buwan! Sa USA ikaw ay malamang na nasa Verizon network kung gagamitin mo ang Hologram SIM card. Maaari mo ring kunin ito sa tabi ng kalasag ng Botletics kung iyon ay mas maginhawa.
  • 3.7V LiPo na baterya (inirerekumenda ang 1000mAH o mas mataas na kapasidad).
  • USB cable upang mai-program ang iyong Arduino o upang mapatakbo ito.

Para sa pagsubok sa pagsubaybay sa GPS!

  • Maaari mong gamitin ang isang car USB adapter upang mapagana ang iyong Arduino habang sinusubukan ang kalasag sa kalsada.
  • Bilang kahalili, maaari kang gumamit ng isang pack ng baterya (7-12V) upang mapagana ang Arduino sa pamamagitan ng mga pin ng VIN at GND.

Hakbang 2: Physical Assembly

Physical Assembly
Physical Assembly
Physical Assembly
Physical Assembly
Physical Assembly
Physical Assembly

Ngayon na mayroon ka ng lahat ng iyong mga bahagi, narito ang isang mabilis na muling pag-recap ng kung ano ang kailangan mong gawin upang i-set up ang iyong hardware:

  • Paghinang ng mga naka-stack na babaeng header papunta sa kalasag. Tingnan ang tutorial na ito kung paano ito gagawin.
  • I-plug ang kalasag sa Arduino, tiyakin na pumila ang lahat ng mga pin upang hindi mo mapinsala ang mga ito!
  • Ipasok ang SIM card tulad ng ipinakita sa larawan. Ang mga contact ng metal ay nakaharap pababa at itinala ang lokasyon ng bingaw sa sulok.
  • I-plug ang baterya ng LiPo sa konektor ng JST sa kalasag
  • I-plug ang iyong Arduino sa iyong computer gamit ang isang USB cable. Maaari mong mapansin na ang berdeng kapangyarihan LED ng kalasag ay hindi ilaw. Perpektong normal iyon dahil ang PWRKEY pin ng kalasag ay kailangang pulsed nang mababa nang kaunti upang mai-on ito. Ang halimbawang Arduino sketch sa sumusunod na seksyon ay mangangalaga sa iyo para sa iyo!
  • Ikabit ang dalawahang antena ng LTE / GPS sa mga konektor ng uFL sa kanang gilid ng kalasag. Tandaan na ang mga wires ay mag-criss-cross kaya huwag mag-plug in ng mga hindi tama!
  • Handa ka na para sa software!

Hakbang 3: Arduino Setup & Device Testing

Pag-set up ng Arduino at Pagsubok ng Device
Pag-set up ng Arduino at Pagsubok ng Device

Pag-setup ng Arduino IDE

Kung hindi mo pa nagagawa, mangyaring tingnan ang mga hakbang na "Arduino IDE Setup" at "Arduino Halimbawa" sa pangunahing produkto na Maaaring turuan upang matiyak na gumagana nang maayos ang iyong board. Sa mga tagubiling iyon kakailanganin mong i-download ang library sa pahina ng Github at buksan ang halimbawa ng code na "LTE_Demo". Matapos sundin ang mga tagubiling dapat ay nasubukan mo ang koneksyon sa network, GPS, at pag-post ng data sa dweet.io.

IoT Halimbawa ng Sketch

Ngayon na nasubukan mo na ang mga pangunahing tampok ng iyong kalasag, i-load ang sketch na "IoT_Example" sa Arduino IDE. Mahahanap mo rin ito rito sa Github. I-upload ang code na ito sa iyong Arduino at buksan ang serial monitor at dapat mong makita ang Arduino na hanapin ang module na SIM7000, kumonekta sa cell network, paganahin ang GPS at patuloy na subukan hanggang sa makakuha ng pag-aayos sa lokasyon, at i-post ang data sa dweet.io. Dapat itong tumakbo nang hindi binabago ang anumang linya ng code, sa pag-aakalang gumagamit ka ng kalasag ng LTE at Hologram SIM card.

Bilang default makikita mo ang sumusunod na linya na tukuyin ang rate ng pag-sample (mabuti, talaga ang pagkaantala sa pagitan ng mga post).

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

Kung ang linya na ito ay naiwan na walang komportable, ang Arduino ay mag-post ng data, maantala ang 30, muling mag-post ng data, ulitin, atbp. Sa panahon ng pagkaantala ng 30 maaari mong gawin ang mga bagay tulad ng ilagay ang Arduino sa mode na mababang lakas at magarbong mga bagay na tulad nito, ngunit upang mapanatili mga bagay na simpleng gagamitin ko lang ang pagpapaandar () na pagpapaandar upang i-pause ang operasyon. Kung magkomento ka sa linyang ito ang Arduino ay magpo-post ng data pagkatapos ay direktang pumunta sa low-power mode ng pagtulog nang walang katiyakan hanggang sa pindutin mo ang pindutan ng pag-reset sa iyong Arduino. Kapaki-pakinabang ito kung sinusubukan mo ang isang bagay at hindi mo nais na sunugin ang iyong mahalagang libreng data (kahit na sa totoo lang ang bawat post ay gumagamit ng halos wala) o baka mayroon kang panlabas na circuitry upang i-reset ang Arduino (555 timer? RTC makagambala? Gumagambala ang Accelerometer? Sensor ng temperatura makagambala? Mag-isip sa labas ng kahon!). Sa totoo lang sa Burgalert 7000 tutorial ipinapakita ko kung paano mo magagamit ang isang detektor ng paggalaw ng PIR upang gisingin ang microcontroller.

Ang susunod na linya ay nagtatakda kung ang kalasag ay papatayin pagkatapos mag-post ng data o mananatili sa. Maaari kang pumili para sa dating pagpipilian sa pamamagitan ng pag-aalis ng linya kung sampling ka lamang minsan, ngunit kung mayroon kang isang mataas na rate ng pag-sample ay nais mong iwanan ang linya na nagkomento upang ang kalasag ay mananatili at wala upang muling simulan, muling paganahin ang GPRS at GPS, atbp. Kung ang kalasag ay naiwan sa ito ay magagawang mag-post ng napakabilis!

// # tukuyin ang turnOffShield // I-off ang kalasag pagkatapos ng pag-post ng data

Tandaan din na ang halimbawang ito ay awtomatikong kinukuha ang tukoy na module at global-natatanging numero ng IMEI ng SIM7000 at ginagamit ito bilang aparato ID (o "pangalan" kung gusto mo) upang makilala ang aparato kapag nag-post ng data sa dweet.io. Maaari mong baguhin ito kung nais mo, kaya naisip kong ipaalam ko lang sa iyo:)

Upang suriin kung ang iyong data ay talagang ipinapadala sa dweet.io, punan lamang ang naaangkop na impormasyon at kopyahin / i-paste ang URL sa anumang browser:

dweet.io/get/latest/dweet/for/{deviceID}

kung saan dapat palitan ang {deviceID} ng numero ng IMEI na naka-print sa serial monitor sa simula, pagkatapos na makita ito ng Arduino. Matapos ipasok ang URL na iyon sa iyong browser dapat mong makita ang isang tugon ng JSON tulad ng sumusunod:

Sa pagtingin sa "nilalaman" dapat mong makita ang latitude, longitude ng iyong lokasyon, ang iyong bilis (sa mga kilometro bawat oras), direksyon ng heading (degree, na may 0 deg na Hilaga), altitude (metro), temperatura (* C, ngunit pakiramdam libre upang mai-convert sa code), at ang supply boltahe sa milli-Volts (na kung saan ay VBAT, ang boltahe ng baterya). Para sa karagdagang impormasyon sa string ng data ng NMEA maaari kang tumingin sa pahina 149 ng manu-manong utos ng SIM7000 AT.

Kapag na-verify mo na ang iyong pag-set up ay matagumpay na nagpapadala ng data sa dweet, i-set up natin ang dashboard upang matingnan ang lahat ng aming data sa isang magandang interface!

Hakbang 4: Pag-setup ng Freeboard.io

Pag-setup ng Freeboard.io
Pag-setup ng Freeboard.io
Pag-setup ng Freeboard.io
Pag-setup ng Freeboard.io
Pag-setup ng Freeboard.io
Pag-setup ng Freeboard.io

Para sa tutorial na ito gagamit kami ng freeboard.io, isang talagang cool na IoT dashboard na maaaring kumonekta sa maraming mga cloud platform tulad ng PubNub at dweet, pati na rin ang iba pang mga tampok tulad ng JSON at MQTT. Tulad ng malamang na nahulaan mo gagamit din kami ng dweet.io na ginagamit sa halimbawa ng code mula sa nakaraang seksyon. Bilang isang mahalagang tala, ang pag-drag ng mga pane sa freeboard.io ay tila hindi gumagana sa Chrome kaya't gamitin ang Firebox o Microsoft Edge sa halip. Kung hindi mo gagawin, maaari itong maging isang tunay na "pane" upang muling ayusin ang mga item sa iyong screen!

Pag-setup ng Account at Device

  • Ang unang bagay na kakailanganin mong gawin ay lumikha ng isang account sa pamamagitan ng pag-click sa pulang pindutang "SIMULA NGAYON" sa home page ng freeboard.io, ipasok ang mga kredensyal, at i-click ang "Lumikha ng Aking Account". Makakatanggap ka ng isang abiso sa email na nagkukumpirma sa iyong bagong account.
  • Ngayon i-click ang "Pag-login" sa kanang tuktok ng home page at pagkatapos ng pag-sign in dapat mong makita ang iyong "freeboards", na mga dashboard lamang na na-set up mo sa iyong mga proyekto. Malinaw na kung ang account ay bago wala kang makikita dito kaya ipasok lamang ang isang bagong pangalan ng proyekto at i-click ang "Lumikha ng Bago" malapit sa kanang tuktok. Dadalhin ka nito sa isang walang laman na dashboard kung saan maaari mong i-set up ang interface kung paano mo ito gusto. Sa freeboard doon maaari kang mag-set up ng iba't ibang mga "pane", at ang bawat pane ay maaaring magkaroon ng isa o maraming mga "widget" na kung saan ay mga bagay tulad ng mga graph, mapa, gauge, atbp na nagpapakita ng iyong data sa ilang paraan.
  • Ang unang bagay na kailangan naming gawin ngayon ay upang i-set up ang aktwal na mapagkukunan ng data, na kung saan ay ang iyong Arduino + LTE kalasag. Upang magawa iyon, i-click ang "ADD" sa kanang itaas sa ilalim ng "Mga Datasource". Susunod, piliin ang "Dweet.io" at ipasok ang anumang pangalan na gusto mo sa ilalim ng patlang na "Pangalan". Gayunpaman, siguraduhin na sa ilalim ng patlang na "Pangalan ng Bagay" inilalagay mo ang numero ng IMEI ng kalasag sa halip na anumang di-makatwirang pangalan, sapagkat iyon ang gagamitin ng freeboard upang makakuha ng data mula sa dweet.
  • Pagkatapos ng pag-click sa "I-save" dapat mong makita ang iyong aparato na lilitaw sa ilalim ng "Mga Datasource" pati na rin sa huling oras na nagpadala ito ng data sa dweet. Maaari mo ring i-click ang pindutang i-refresh upang suriin para sa pinakabagong mga halaga, ngunit ang freeboard ay mag-a-update nang mag-isa kaya karaniwang hindi mo kailangang gamitin ang pindutang iyon.

Pag-setup ng Dashboard

Tingnan natin ngayon kung paano i-set up ang aktwal na mga kampanilya at sipol na nais mong makita sa iyong screen!

  • Upang magdagdag ng isang pane, i-click ang pindutang "ADD PANE" sa kaliwang tuktok at makikita mo itong magdagdag ng isang maliit na window sa iyong screen. Gayunpaman, wala pa rito sapagkat hindi pa kami nagdagdag ng anumang mga widget!
  • Upang magdagdag ng isang widget i-click ang maliit na "+" na pindutan sa pane. Dadalhin nito ang isang dropdown menu na may iba't ibang mga pagpipilian sa widget. Dahil gagawa kami ng ilang pagsubaybay sa GPS piliin natin ang widget na "Google Map". Pagkatapos ay dapat mong makita ang dalawang mga patlang, ang latitude at longitude. Upang mapunan nang maayos ang mga ito ang iyong aparato ay kailangang na-post sa dweet. Ipagpalagay na mayroon ito, dapat mong i-click ang "+ Datasource", mag-click sa datasource (ang "SIM7000 GPS Tracker"), pagkatapos ay mag-click sa "lat", na kung saan ay ang variable na pangalan na ginagamit ng kalasag kapag nag-post sa dweet. Ulitin ang pamamaraan para sa patlang ng longitude at i-click ang slider sa ibaba kung nais mong gumuhit ng mapa ang mapa sa pagitan ng mga puntos ng data upang markahan kung nasaan ka.
  • Ngayon ay dapat mong makita ang isang maliit na mapa ng iyong tinatayang lokasyon! Upang masubukan kung gumagana ang mapa, subukang baguhin ang iyong kasalukuyang GPS lat / haba sa isang bagay na bahagyang naiiba sa pamamagitan ng pagbabago, halimbawa, ang unang digit pagkatapos ng decimal point ng lat / mahabang halaga sa dweet URL na na-print sa serial monitor sa Arduino IDE kapag nag-post ang data ng kalasag. Pagkatapos ng pag-tweak sa kanila, kopyahin at i-paste ang URL at ipatupad ito sa iyong browser.

dweet.io/dweet/for/112233445566778?lat=11.223344&long=-55.667788&speed=0&head=10&alt=324.8&temp=22.88&batt=3629

Ngayon bumalik sa freeboard at dapat mong makita na ito ay graphed iyong tweak lokasyon at iginuhit ng isang orange linya sa pagitan ng mga puntos! Cool na bagay ha? Kaya sa palagay ko nakukuha mo ang larawan na ang aming GPS tracker ay magpapadala ng data ng lokasyon sa pag-dweet para makita mo ito sa freeboard sa real time o matapos ang iyong pakikipagsapalaran

Mga extra

Dahil ang aming maliit na tracker ng GPS ay nagpapadala hindi lamang ng lat / mahabang data kundi pati na rin ang altitude, bilis, heading, at temperatura, magtapon tayo ng ilang higit pang mga widget upang gawing mas makulay ang aming dashboard!

  • Magsimula tayo sa pamamagitan ng pagdaragdag ng isang bagong pane pagkatapos upang magdagdag ng isang gauge sa loob ng bagong pane i-click ang pindutang "+" sa pane at piliin ang "Gauge". Tulad ng dati, gamitin ang datasource at piliin ang "bilis" bilang data na interesado kaming kunin para sa gauge na ito. Pagkatapos ay dapat mong makita ang isang magandang sukatan sa iyong dashboard!
  • Ulitin ito para sa mga halagang altitude at temperatura.
  • Ngayon para sa heading magdagdag na lamang tayo ng isang "Pointer". Ito ay mahalagang isang kumpas dahil nagsisimula ito sa pagturo ng up (Hilaga) sa 0 degree at umiikot pakanan para sa positibong mga heading.. Perfecto!
  • Upang baguhin ang laki ng pane, mag-hover sa pane na naglalaman ng mapa at dapat mong makita ang isang maliit na simbolo ng wrench sa kanang tuktok. I-click iyon at maglagay ng pamagat para sa pane at ipasok ang "2" sa ilalim ng "Mga Haligi" upang madagdagan ang lapad ng pane.
  • Upang baguhin ang mga lokasyon ng mga pane i-drag lamang ang mga ito sa paligid! Maaari mo ring eksperimento ang pagdaragdag ng isang "Sparkline" na karaniwang isang linya lamang ng linya upang makita mo hindi lamang ang pinakabagong data ngunit ang makasaysayang data din.

Magsaya at i-set up ang lahat kung paano mo gusto ito dahil handa kaming lumabas sa isang paglalakbay sa bukid!

Hakbang 5: Pagsubok

Image
Image
Pagsubok
Pagsubok

Upang subukan ang iyong pag-set up inirerekumenda kong itakda ang oras ng pag-sample sa isang mas mababang halaga, tulad ng 10-20s upang makuha mo ang iyong paglalakbay na may mas mataas na resolusyon. Iiwan ko din ang variable na "turnOffShield" na nagkomento upang ang taming ay hindi makatulog. Pinapayagan nitong mag-post ng data nang mabilis.

Matapos i-upload ang code sa iyong Arduino, alinman sa kumuha ng isang pack ng baterya (7-12V) upang mapagana ang Arduino o i-plug lamang ang Arduino sa paggamit ng isang adapter ng USB ng kotse. Kakailanganin mo rin ang isang 3.7V LiPo na baterya na naka-plug sa kalasag tulad ng nabanggit kanina; ang kalasag na ipinapakita sa larawan sa itaas ay isang lumang bersyon at walang suporta sa baterya ng LiPo ngunit kailangan ito ngayon sa lahat ng mga mas bagong bersyon.

Susunod, buksan ang freeboard sa kung saan upang bumalik ka maaari mong makita ang mga resulta! Kapag na-plug in mo ang Arduino magaling ka nang pumunta! Magsimulang magmaneho sa paligid, kumuha ng kape, umuwi, at dapat mong makita ang data na naka-plot sa freeboard. Kung talagang gusto mo (Hindi ko inirerekumenda ito habang nagmamaneho …) maaari mong tingnan ang data ng freeboard sa iyong telepono sa real time habang hinihimok ng iyong kaibigan ang sasakyan. Nakakatuwang bagay!

Hakbang 6: Mga Resulta

Mga Resulta
Mga Resulta

Para sa pagsubok na ito ang aking ama at ako ay nagpunta upang kumuha ng mga drum ng manok sa Trader Joe's (omnomnomnom…) at nakolekta namin ang ilang medyo tumpak na data. Nagpadala ako ng aparato ng data tuwing 10s at ang maximum na bilis mula sa paglalakbay ay tungkol sa 92khm (sa paligid ng 57mph) na medyo tumpak dahil binantayan namin ang speedometer sa buong oras. Tiyak na ginagawa ng kalasag ng LTE ang trabaho nito nang napakabilis at nagpapadala ng data sa cloud nang napakabilis. Sa ngayon napakahusay!

Gayunpaman, marahil ang hindi napakahusay na balita ay ang widget ng mapa sa freeboard ay hindi kasing dakila ng naisip ko dati. Hindi ka nito pinapayagan na ilipat ang lokasyon ng iyong mouse at mananatili itong nakasentro sa huling lokasyon kaya mahusay ito para sa mga bagay tulad ng isang car GPS tracker ngunit hindi kung nais mong pag-aralan ang isang nakumpletong biyahe kasama ang lahat ng mga puntos ng data, lalo na kung ito ay isang mahabang paglalakbay.

Sa tutorial na ito natutunan namin kung paano gamitin ang kalasag ng LTE bilang isang tracker ng GPS at data logger at kung paano mabilis na matingnan ang data sa freeboard.io. Ngayon gamitin ang iyong imahinasyon at ilapat ito sa iyong sariling proyekto. Maaari ka ring magdagdag sa higit pang mga kalasag at gawing isang mababang-lakas na solar data logger ang bagay na ito! (Maaaring talagang nagpaplano ako sa paggawa ng isang tutorial tungkol doon sa hinaharap!). Dahil sa mga limitasyon ng mapa ng freeboard nagpaplano din ako sa paggawa ng isang bagong tutorial sa kung paano gumawa ng iyong sariling Android app na kukuha ng data mula sa dweet at papayagan kang i-grap ang lokasyon ng tracker sa Google Maps nang may simula, i-pause, at ihinto ang mga tampok para sa iyong paglalakbay! Manatiling nakatutok!

  • Kung nagustuhan mo ang proyektong ito, mangyaring bigyan ito ng isang puso!
  • Kung mayroon kang anumang mga katanungan, komento, mungkahi sa isang bagong tutorial, o sinubukan mo mismo ang proyektong ito, tiyak na magkomento sa ibaba!
  • Sundin ako dito sa Mga Instructable, mag-subscribe sa aking YouTube channel, o sundan ako sa Twitter upang manatiling na-update sa aking pinakabagong mga proyekto ng Arduino! Ako ay isang batang inhinyero na may pagkahilig sa pagbabahagi ng aking natutunan, kaya't tiyak na magkakaroon ng maraming mga tutorial sa lalong madaling panahon!
  • Kung nais mong suportahan ang ginagawa ko sa pagbabahagi ng bukas na mapagkukunan ng hardware at maingat na idokumento ang mga ito para sa mga hangaring pang-edukasyon, isaalang-alang ang pagbili ng iyong sariling kalasag sa Amazon.com upang makipaglaro!

Inirerekumendang: