Satura rādītājs:

LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa): 6 soļi (ar attēliem)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa): 6 soļi (ar attēliem)

Video: LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa): 6 soļi (ar attēliem)

Video: LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa): 6 soļi (ar attēliem)
Video: Unleash the Power of GPS Tracking with Arduino SIM 7000 Shield : Review 2024, Jūnijs
Anonim
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa)

Ievads

Kas notiek puiši! Šis pamācība ir turpinājums manam pirmajam norādījumam par Botletics LTE/NB-IoT vairoga izmantošanu Arduino, tāpēc, ja vēl neesat to izdarījis, lūdzu, izlasiet to, lai iegūtu labu pārskatu par vairoga lietošanu un to, kas tas ir. Šajā apmācībā es pievērsīšos IoT datu reģistrēšanai, īpaši GPS un temperatūras izsekošanai, un sniegšu jums visu kodu un norādījumus, kas nepieciešami, lai sāktu ceļu un to pārbaudītu!

Šī pamācība galvenokārt ir vērsta uz LTE vairogu, ko es personīgi izstrādāju un uzbūvēju, taču visam šeit (ieskaitot Github Arduino bibliotēku) vajadzētu darboties arī SIMCom 2G un 3G moduļos, piemēram, SIM800/808/900/5320, jo tas ir tikai atjaunināts Adafruit FONA bibliotēkas versija. Neatkarīgi no aparatūras jēdziens ir tieši tāds pats, un ar to jūs varat darīt daudz interesantu lietu, tostarp sensoru datu reģistrēšanu, laika apstākļu attālinātu uzraudzību, automātisku zādzības karmas GPS izsekošanu utt., Tāpēc lasiet tālāk!

1. darbība: apkopojiet detaļas

Savāc detaļas
Savāc detaļas
Savāc detaļas
Savāc detaļas
Savāc detaļas
Savāc detaļas

Saraksts ir tāds pats kā manā pirmajā apmācībā un ir patiešām vienkāršs!

  • Arduino Uno, Mega vai Leonardo. Alternatīvi varat izmantot jebkuru citu 3,3 V vai 5 V mikrokontrolleru, bet jums vajadzētu pieslēgt tapas ārēji.
  • Botletics SIM7000 vairoga komplekts (komplektā ietilpst vairogs, dubultā LTE/GPS uFL antena un sieviešu galvenes). Noteikti izlasiet šo apmācību, lai izvēlētos atbilstošu versiju!
  • Hologrammas SIM karte. Pirmā SIM karte (saukta par "izstrādātāja" SIM karti) ir pilnīgi bez maksas, un tai ir 1 MB datu mēnesī! ASV, visticamāk, būsit Verizon tīklā, ja izmantosit Hologrammas SIM karti. Varat arī to paņemt līdzās botletikas vairogam, ja tas ir ērtāk.
  • 3,7 V LiPo akumulators (ieteicama 1000 mAh vai lielāka ietilpība).
  • USB kabelis Arduino programmēšanai vai barošanai.

GPS izsekošanas testam!

  • Arduino barošanai varat izmantot automašīnas USB adapteri, vienlaikus pārbaudot vairogu uz ceļa.
  • Varat arī izmantot akumulatoru (7-12 V), lai barotu Arduino, izmantojot VIN un GND tapas.

2. solis: fiziskā montāža

Fiziskā montāža
Fiziskā montāža
Fiziskā montāža
Fiziskā montāža
Fiziskā montāža
Fiziskā montāža

Tagad, kad jums ir visas detaļas, šeit ir īss kopsavilkums par to, kas jums jādara, lai iestatītu aparatūru:

  • Lodējiet sakraujamo sieviešu galviņas uz vairoga. Skatiet šo pamācību, kā to izdarīt.
  • Pievienojiet vairogu Arduino, pārliecinoties, ka visas tapas ir sakārtotas tā, lai tās nesabojātu!
  • Ievietojiet SIM karti, kā parādīts attēlā. Metāla kontakti ir vērsti uz leju un atzīmē griezuma atrašanās vietu stūrī.
  • Pievienojiet LiPo akumulatoru JST savienotājam uz vairoga
  • Pievienojiet Arduino datoram, izmantojot USB kabeli. Jūs varētu pamanīt, ka vairoga zaļā strāvas gaismas diode nedeg. Tas ir pilnīgi normāli, jo, lai ieslēgtu vairoga PWRKEY tapu, tas ir nedaudz jāpulsē. Arduino skices piemērs nākamajā sadaļā par to parūpēsies jūsu vietā!
  • Pievienojiet dubulto LTE/GPS antenu uFL savienotājiem vairoga labajā malā. Ņemiet vērā, ka vadi krustosies, tāpēc nepievienojiet tos nepareizajiem!
  • Jūs esat gatavs programmatūrai!

3. darbība: Arduino iestatīšana un ierīces pārbaude

Arduino iestatīšana un ierīču pārbaude
Arduino iestatīšana un ierīču pārbaude

Arduino IDE iestatīšana

Ja vēl neesat to izdarījis, lūdzu, skatiet "Arduino IDE iestatīšana" un "Arduino piemērs" darbības galvenajā produktā Instructable, lai pārliecinātos, ka tāfele darbojas pareizi. Šajos norādījumos jums būs jālejupielādē bibliotēka Github lapā un jāatver parauga kods "LTE_Demo". Pēc šo norādījumu izpildes jums bija jāpārbauda tīkla savienojums, GPS un datu ievietošana vietnē dweet.io.

IoT parauga skice

Tagad, kad esat pārbaudījis vairoga pamatfunkcijas, ielādējiet skici "IoT_Example" Arduino IDE. To var atrast arī šeit Github. Augšupielādējiet šo kodu savā Arduino un atveriet seriālo monitoru, un jums vajadzētu redzēt, kā Arduino atrod SIM7000 moduli, izveido savienojumu ar mobilo tīklu, iespējo GPS un turpina mēģināt, līdz tiek noskaidrota atrašanās vieta, un ievietojiet datus vietnē dweet.io. Tam visam vajadzētu darboties, nemainot nevienu koda rindu, pieņemot, ka izmantojat LTE vairogu un hologrammas SIM karti.

Pēc noklusējuma redzēsit, ka nākamajā rindā ir definēts izlases ātrums (labi, patiesībā kavēšanās starp ziņām).

#define samplingRate 30 // Laiks starp ziņām, sekundēs

Ja šī rindiņa tiek atstāta bez komentāriem, Arduino publicēs datus, aizkavēs 30 sekundes, atkārtoti publicēs datus, atkārtos utt. 30s aizkaves laikā jūs varat darīt, piemēram, ievietot Arduino mazjaudas režīmā un iedomāties tādas lietas, bet vienkāršas lietas Es vienkārši izmantošu funkciju delay (), lai apturētu darbību. Ja jūs komentējat šo rindiņu, Arduino publicēs datus, pēc tam neierobežotu laiku pāriet tieši uz mazjaudas miega režīmu, līdz nospiežat Arduino atiestatīšanas pogu. Tas ir noderīgi, ja jūs kaut ko testējat un nevēlaties ierakstīt savus dārgos bezmaksas datus (lai gan godīgi sakot, katrs ziņojums praktiski neko neizmanto) vai varbūt jums ir ārēja shēma, lai atiestatītu Arduino (555 taimeris? RTC pārtraukums? Akselerometra pārtraukums? Temperatūras sensors pārtraukt? Domājiet ārpus kastes!). Patiesībā Burgalert 7000 apmācībā es parādīju, kā jūs varat izmantot PIR kustības detektoru, lai pamodinātu mikrokontrolleri.

Nākamā rinda nosaka, vai vairogs pēc datu ievietošanas izslēgsies vai paliks ieslēgts. Jūs varat izvēlēties iepriekšējo izvēli, nekomentējot līniju, ja paraugu ņemat tikai vienu reizi, bet, ja jums ir salīdzinoši augsts paraugu ņemšanas ātrums, jūs vēlaties atstāt rindu komentārā, lai vairogs paliktu ieslēgts un nebūtu lai no jauna inicializētu, atkārtoti iespējotu GPRS un GPS uc

//#define turnOffShield // Pēc datu ievietošanas izslēdziet vairogu

Ņemiet vērā arī to, ka šis piemērs automātiski ielādē SIM7000 modulim specifisko un globāli unikālo IMEI numuru un izmanto to kā ierīces ID (vai “nosaukumu”, ja vēlaties), lai identificētu ierīci, kad tā publicē datus vietnē dweet.io. Jūs varat to mainīt, ja vēlaties, tāpēc es domāju, ka es jums tikai paziņošu:)

Lai pārbaudītu, vai jūsu dati patiešām tiek nosūtīti uz vietni dweet.io, vienkārši aizpildiet atbilstošo informāciju un nokopējiet/ielīmējiet URL jebkurā pārlūkprogrammā:

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

kur {deviceID} jāaizstāj ar IMEI numuru, kas tiek izdrukāts sērijas monitorā sākumā, tūlīt pēc tam, kad Arduino to atrod. Pēc šī URL ievadīšanas pārlūkprogrammā jums vajadzētu redzēt šādu JSON atbildi:

Aplūkojot saturu, jums vajadzētu redzēt jūsu atrašanās vietas platumu, garumu, ātrumu (kilometros stundā), virzienu (grādi, 0 grādi uz ziemeļiem), augstumu (metros), temperatūru (*C, bet var brīvi pārveidot kodu), un barošanas spriegums milivoltos (kas ir VBAT, akumulatora spriegums). Lai iegūtu papildinformāciju par NMEA datu virkni, skatiet SIM7000 AT komandu rokasgrāmatas 149. lappusi.

Kad esat pārliecinājies, ka jūsu iestatījumi veiksmīgi sūta datus uz dweet, iestatīsim informācijas paneli, lai visus mūsu datus skatītu jaukā saskarnē!

4. solis: Freeboard.io iestatīšana

Freeboard.io iestatīšana
Freeboard.io iestatīšana
Freeboard.io iestatīšana
Freeboard.io iestatīšana
Freeboard.io iestatīšana
Freeboard.io iestatīšana

Šajā apmācībā mēs izmantosim freeboard.io, patiešām foršu IoT informācijas paneli, kas var izveidot savienojumu ar daudzām mākoņa platformām, piemēram, PubNub un dweet, kā arī citām funkcijām, piemēram, JSON un MQTT. Kā jūs droši vien uzminējāt, mēs izmantosim arī dweet.io, kas tiek izmantots iepriekšējās sadaļas piemēra kodā. Svarīgi atzīmēt, ka rūtju vilkšana freeboard.io pārlūkā Chrome nedarbojas, tāpēc izmantojiet Firebox vai Microsoft Edge. Ja jums tā nav, ekrāna vienumu pārkārtošana var būt īsta “rūts”!

Konta un ierīces iestatīšana

  • Pirmā lieta, kas jums jādara, ir izveidot kontu, freeboard.io sākumlapā noklikšķinot uz sarkanās pogas “SĀKT TŪLĪT”, ievadiet akreditācijas datus un noklikšķiniet uz “Izveidot manu kontu”. Pēc tam jūs saņemsit e -pasta paziņojumu, kas apstiprina jūsu jauno kontu.
  • Tagad mājas lapas augšējā labajā stūrī noklikšķiniet uz "Pieteikšanās", un pēc pierakstīšanās jums vajadzētu redzēt savus "freeboard", kas ir tikai informācijas paneļi, kurus esat iestatījis saviem projektiem. Acīmredzot, ja konts ir jauns, jūs šeit neko neredzēsit, tāpēc vienkārši ievadiet jaunu projekta nosaukumu un augšējā labajā stūrī noklikšķiniet uz "Izveidot jaunu". Pēc tam jūs nonāksit tukšā informācijas panelī, kur varēsit iestatīt saskarni tā, kā jums patīk. Brīvā bortā jūs varat iestatīt dažādas "rūtis", un katrā rūtī var būt viens vai vairāki "logrīki", piemēram, diagrammas, kartes, mērinstrumenti utt., Kas kaut kādā veidā parāda jūsu datus.
  • Pirmā lieta, kas mums jādara, ir iestatīt faktisko datu avotu, kas ir jūsu Arduino + LTE vairogs. Lai to izdarītu, noklikšķiniet uz "PIEVIENOT" augšējā labajā stūrī zem "Datu avoti". Pēc tam atlasiet “Dweet.io” un laukā “Nosaukums” ievadiet jebkuru vajadzīgo vārdu. Tomēr pārliecinieties, ka laukā "Lietas nosaukums" jūs ievadāt vairoga IMEI numuru, nevis jebkuru patvaļīgu nosaukumu, jo tieši tas tiks izmantots brīvsānos, lai izvilktu datus no dweet.
  • Pēc noklikšķināšanas uz "Saglabāt" jums vajadzētu redzēt, ka jūsu ierīce parādās sadaļā "Datu avoti", kā arī pēdējo reizi, kad tā nosūtīja datus dweet. Varat arī noklikšķināt uz atsvaidzināšanas pogas, lai pārbaudītu jaunākās vērtības, taču brīvsāns tiks atjaunināts pats, tāpēc parasti šī poga nav jāizmanto.

Informācijas paneļa iestatīšana

Tagad apskatīsim, kā iestatīt faktiskos zvanus un svilpes, kuras vēlaties redzēt ekrānā!

  • Lai pievienotu rūti, augšējā kreisajā stūrī noklikšķiniet uz pogas “PIEVIENOT PANEU”, un jūs redzēsit, ka tā ekrānā pievieno nelielu logu. Tomēr šeit vēl nav nekā, jo mēs neesam pievienojuši nevienu logrīku!
  • Lai pievienotu logrīku, noklikšķiniet uz mazās pogas "+". Tiks parādīta nolaižamā izvēlne ar dažādām logrīku opcijām. Tā kā mēs veiksim GPS izsekošanu, izvēlēsimies logrīku “Google karte”. Pēc tam jums vajadzētu redzēt divus laukus - platumu un garumu. Lai tos pareizi aizpildītu, ierīcei jau ir jābūt publicētai vietnē dweet. Pieņemot, ka tā ir, jums vajadzētu būt iespējai noklikšķināt uz "+ datu avots", noklikšķiniet uz datu avota ("SIM7000 GPS izsekotājs"), pēc tam noklikšķiniet uz "lat", kas ir mainīgā nosaukums, ko vairogs izmanto, publicējot ziņu vietnē dweet. Atkārtojiet procedūru garuma laukam un noklikšķiniet uz slīdņa apakšā, ja vēlaties, lai karte zīmētu līnijas starp datu punktiem, lai atzīmētu, kur esat bijis.
  • Tagad jums vajadzētu redzēt nelielu jūsu aptuvenās atrašanās vietas karti! Lai pārbaudītu, vai karte darbojas, mēģiniet nomainīt pašreizējo GPS lat/long uz kaut ko nedaudz atšķirīgu, mainot, piemēram, pirmo ciparu aiz lat/long vērtību decimāldaļas dweet URL, kas tika izdrukāts sērijas monitorā. Arduino IDE, kad vairogs publicēja datus. Pēc to pielāgošanas nokopējiet un ielīmējiet URL un izpildiet to savā pārlūkprogrammā.

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

Tagad pārslēdzieties atpakaļ uz brīvsāniem, un jums vajadzētu redzēt, ka tas attēloja jūsu pielāgoto atrašanās vietu un starp punktiem novilka oranžu līniju! Foršas lietas, ko? Tāpēc es domāju, ka jūs iegūstat priekšstatu, ka mūsu GPS izsekotājs nosūtīs dweet atrašanās vietas datus, lai jūs tos varētu redzēt uz brīvsāniem reālā laikā vai pēc piedzīvojuma beigām

Papildus

Tā kā mūsu mazais GPS izsekotājs sūta ne tikai platuma/garuma datus, bet arī augstumu, ātrumu, virzienu un temperatūru, iemetīsim vēl dažus logrīkus, lai padarītu mūsu informācijas paneli krāsaināku!

  • Sāksim, pievienojot jaunu rūti, pēc tam, lai jaunajā rūtī pievienotu mērierīci, rūtī noklikšķiniet uz pogas "+" un atlasiet "Gauge". Tāpat kā iepriekš, izmantojiet datu avotu un atlasiet “ātrums” kā datus, kurus mēs esam ieinteresēti iegūt šajā mērierīcē. Pēc tam informācijas panelī vajadzētu redzēt jauku mērierīci!
  • Atkārtojiet to augstuma un temperatūras vērtībām.
  • Tagad virsrakstam tā vietā pievienosim "rādītāju". Tas būtībā ir kompass, jo tas sāk rādīt uz augšu (uz ziemeļiem) 0 grādos un griežas pulksteņrādītāja virzienā, lai iegūtu pozitīvus virzienus.. Perfecto!
  • Lai mainītu rūts izmēru, virziet kursoru virs rūts, kurā ir karte, un augšējā labajā stūrī vajadzētu redzēt nelielu uzgriežņu atslēgas simbolu. Noklikšķiniet uz tā un ievadiet rūts nosaukumu un sadaļā "Kolonnas" ievadiet "2", lai palielinātu rūts platumu.
  • Lai mainītu rūtju atrašanās vietas, vienkārši velciet tās apkārt! Varat arī eksperimentēt, pievienojot “Sparkline”, kas būtībā ir tikai līniju diagramma, lai jūs varētu redzēt ne tikai jaunākos datus, bet arī vēsturiskos datus.

Izklaidējieties un iestatiet visu, kā jums patīk, jo mēs esam gatavi doties izbraucienā!

5. darbība: pārbaude

Image
Image
Testēšana
Testēšana

Lai pārbaudītu iestatījumus, es ieteiktu iestatīt paraugu ņemšanas laiku uz zemāku vērtību, piemēram, 10–20 sekundes, lai jūs varētu uzņemt savu braucienu ar augstāku izšķirtspēju. Es atstātu arī komentāru "turnOffShield" mainīgo, lai vairogs nenāktu gulēt. Tas ļauj ātri publicēt datus pēc kārtas.

Pēc koda augšupielādes savā Arduino iegādājieties akumulatoru (7–12 V), lai darbinātu Arduino, vai vienkārši pievienojiet Arduino, izmantojot automašīnas USB adapteri. Jums būs nepieciešams arī 3,7 V LiPo akumulators, kas pievienots vairogam, kā minēts iepriekš; vairogs, kas parādīts attēlā, ir veca versija, un tam nebija LiPo akumulatora atbalsta, bet tagad tas ir nepieciešams visās jaunākajās versijās.

Pēc tam kaut kur atveriet brīvsānus, lai pēc atgriešanās jūs varētu redzēt rezultātus! Kad esat pievienojis Arduino, jūs varat doties! Sāciet braukt apkārt, dzeriet kafiju, atgriezieties mājās, un jums vajadzētu redzēt datus, kas attēloti uz brīvsāniem. Ja jūs patiešām vēlaties (es to neiesaku braukšanas laikā …), varat apskatīt brīvsānu datus savā tālrunī reālā laikā, kamēr jūsu draugs vada transportlīdzekli. Jautras lietas!

6. darbība. Rezultāti

Rezultāti
Rezultāti

Šim testam mēs ar tēti devāmies pie Trader Joe (omnomnomnom…) iegūt vistas mucas un savācām diezgan precīzus datus. Man bija ierīce sūtīt datus ik pēc 10 sekundēm, un maksimālais brauciena ātrums bija aptuveni 92 km (aptuveni 57 jūdzes stundā), kas ir diezgan precīzs, jo mēs visu laiku sekojām līdzi spidometram. LTE vairogs noteikti dara savu darbu diezgan labi un ļoti ātri nosūta datus uz mākoni. Tik tālu, labi!

Tomēr, iespējams, ne pārāk labās ziņas ir tādas, ka karšu logrīks uz brīvsāniem nav tik lielisks, kā es sākotnēji domāju. Tas neļauj pārvietot peles atrašanās vietu, un tas paliek centrēts uz pēdējo atrašanās vietu, tāpēc tas ir lieliski piemērots tādām lietām kā automašīnas GPS izsekotājs, bet ne, ja vēlaties analizēt pabeigto ceļojumu ar visiem datu punktiem, it īpaši, ja tas bija garš ceļojums.

Šajā apmācībā mēs uzzinājām, kā izmantot LTE vairogu kā GPS izsekotāju un datu reģistrētāju un kā ātri apskatīt datus vietnē freeboard.io. Tagad izmantojiet savu iztēli un izmantojiet to savā projektā. Jūs pat varat pievienot vairāk vairogu un pārvērst šo lietu par mazjaudas saules datu reģistrētāju! (Es, iespējams, nākotnē plānoju veikt apmācību par to!). Brīvborda kartes ierobežojumu dēļ es arī plānoju izveidot pavisam jaunu pamācību par to, kā izveidot savu Android lietotni, kas ielādē datus no vietnes dweet un ļaus jums sākumā uzskaitīt izsekotāja atrašanās vietu, pauzējiet un pārtrauciet ceļojuma funkcijas! Sekojiet līdzi!

  • Ja jums patika šis projekts, lūdzu, veltiet tam sirdi!
  • Ja jums ir kādi jautājumi, komentāri, ieteikumi par jaunu apmācību vai esat izmēģinājis šo projektu, noteikti komentējiet zemāk!
  • Sekojiet man šeit vietnē Instructables, abonējiet manu YouTube kanālu vai sekojiet man Twitter, lai uzzinātu par jaunākajiem Arduino projektiem! Esmu jauns inženieris ar aizraušanos dalīties ar uzzināto, tāpēc drīzumā noteikti būs vēl dažas apmācības!
  • Ja vēlaties atbalstīt to, ko daru, kopīgojot atvērtā pirmkoda aparatūru un rūpīgi dokumentējot to izglītības nolūkos, apsveriet iespēju iegādāties savu vairogu vietnē Amazon.com, lai ar to spēlētu!

Ieteicams: