Satura rādītājs:

Pilnīga uz Arduino balstīta transportlīdzekļa GPS+GPRS pretaizdzīšanas sistēma: 5 soļi (ar attēliem)
Pilnīga uz Arduino balstīta transportlīdzekļa GPS+GPRS pretaizdzīšanas sistēma: 5 soļi (ar attēliem)

Video: Pilnīga uz Arduino balstīta transportlīdzekļa GPS+GPRS pretaizdzīšanas sistēma: 5 soļi (ar attēliem)

Video: Pilnīga uz Arduino balstīta transportlīdzekļa GPS+GPRS pretaizdzīšanas sistēma: 5 soļi (ar attēliem)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Novembris
Anonim
Image
Image
Aparatūra
Aparatūra

Sveiki visiem!

Es gribēju izveidot pilnīgu risinājumu GPS transportlīdzekļu pretaizdzīšanas ierīcei, kas būtu:

pēc iespējas lētāk

pēc iespējas pilnīgāk

kā tas-tikai-strādā-tur nav nekā cita, ko darīt

Tāpēc es beidzot izveidoju uz Arduino balstītu risinājumu, kas man kopumā izmaksāja 25 USD, vairāk vai mazāk.

Kā redzat no video, tas vienkārši darbojas! Iedarbinot automašīnu, mobilajā tālrunī tiek parādīts paziņojums, ka automašīna pārvietojas, pēc tam atverat mobilo lietotni un jūs varat redzēt, kā automašīna pārvietojas reālā laikā (ar 10 sekunžu atjaunināšanas aizkavi).

Šī apmācība palīdzēs jums veikt visas darbības, paturot prātā, ka risinājumā ir vairākas sastāvdaļas:

1) aparatūra (balstīta uz Arduino)

2) programmatūra (Arduino programma)

3) vairāk programmatūras (GPS atrašanās vietu saņemšana servera pusē)

4) vēl vairāk programmatūras (mobilā lietotne)

Sāksim..

1. darbība: aparatūra

Aparatūra
Aparatūra

Iepirkumu saraksts:

1) Arduino Uno R3 vai klons. Es izmantoju klonu "DCcEle DCcduino uno", kas, šķiet, vairs nav pieejams. Šeit ir ekvivalents: vietnē Aliexpress - 3,75 $

2) GPS ierīce Arduino (GY-NEO6MV2 jauns GPS modulis ar lidojuma vadības lidojuma vadību EEPROM MWC APM2.5 liela antena NEO6MV2). Es to izmantoju: vietnē Aliexpress - 6,66 USD

3) GPRS / GSM ierīce Arduino (SIM800L V2.0 5V bezvadu GSM GPRS MODULIS četrjoslu W / antenas kabeļa vāciņš). Es to izmantoju: vietnē Aliexpress - 6,71 USD

4) Rezervējiet šādus dupont kabeļus: Aliexpress - 0,89 $

5) IoT datu sim karte (vai jebkura cita sim karte ar datu savienojumu). Es to izmantoju: no Hologram.io. Man ir bezmaksas izstrādātājs, tikai apmaksāta piegāde - 7,50 USD

Kopā: 25,51 $, bet man jau bija kabeļi, tāpēc tas ir mazāks par 25 $!

Abos attēlos ir redzamas sastāvdaļas pirms salikšanas un gala produkts. Jums jāizveido šādi savienojumi:

Arduino - SIM800L

10 - ATiestatīt

GND - GND (2 no tiem)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino-GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Pievienojiet visus kabeļus un antenas un pārliecinieties, ka ieslēdzat Arduino no avota, kas spēj dot maksimumu 2A. Datora usb knapi ir kārtībā (es izmantoju MacBook Pro), ar “nejaušu” tālruņa lādētāju nepietiks. Lielākā daļa automašīnu USB kontaktligzdas ir arī mazākas par 1A. Ja tas tā ir, jums ir nepieciešams arī 12 V automašīnas 5 V barošanas avots ar vismaz 2 A.

Ievietojiet sim karti. Ja izmantojat Hologram.io sim karti, noteikti reģistrējieties viņu informācijas panelī un aktivizējiet sim karti (tas aizņem dažas minūtes / stundas).

2. darbība: programmatūra (Arduino programma)

Programmatūra (Arduino programma)
Programmatūra (Arduino programma)

Es pieņemu, ka jūs esat iepazinies ar Arduino programmēšanu. Pretējā gadījumā, lūdzu, sāciet ar šo rokasgrāmatu: Instructables.

Jums ir nepieciešama tikai viena ārējā bibliotēka, man tā bija jāinstalē manuāli. Dodieties šeit: TinyGPS, eksportējiet bibliotēku un instalējiet to vietējā Arduino mapē.

No turienes mēs "nozagsim" kādu kodu no viņu pamata piemēra un pārveidosim to atbilstoši mūsu mērķiem.

Pēc tam mēs "nozagsim" no šīs rokasgrāmatas un vēlreiz pārveidosim kodu atbilstoši mūsu mērķiem.

Rezultāts ir pievienotā.ino programma.

Ir dažas lietas, kuras varat un ir jāpielāgo:

definē "SECONDS" un definē "SERVER".

Esmu iestatījis SECONDS uz 10, un tāpēc: Hologram.io izstrādātāju programma sniedz jums 1 MB bezmaksas datu mēnesī. Tas nozīmē, ka mēs vēlamies samazināt nosūtīto baitu skaitu, bet arī mums tik bieži jāatjaunina sava pozīcija. Mēs izmantosim standarta AT modema komandas, lai nosūtītu UDP paketes uz mūsu serveri, kas saņem ziņojumus, ar lat/lon, katrs izmantojot 4 baitus un ātrumu, izmantojot 1 baitu. Tātad kopējais GPS atjauninājums ir 20 baiti (IP galvene) plus 8 baiti (UDP galvene) plus 9 baiti (lietderīgā slodze). Tas ir 37 baiti. Pieņemot, ka mana automašīna ir aktīva ne vairāk kā 2 stundas dienā, es varu atļauties atjauninājumu ik pēc 10 sekundēm un patērēt tikai 806 kb mēnesī (31 dienu). Tas man dod 218 kb braukšanas laiku, salīdzinot ar manējo, tas ir, automašīnas zagli. Tas man dod 16,76 stundu GPS uzraudzību ārpus braukšanas laika, ar vienu atjauninājumu ik pēc 10 sekundēm.

Tagad šīm UDP paketēm ir kaut kur jādodas. Es izmantoju Ubuntu serveri, kas tiek mitināts CloudAtCost mākonī, kuru es nopirku par 8 USD ar 80% atlaidi un kas kalpo man citiem mērķiem, tāpēc neietilpst izmaksu aprēķinos. Ja nevēlaties maksāt par serveri, varat 12 mēnešus saņemt bezmaksas Amazon AWS instanci un instalēt tajā Ubuntu. Kad esat iestatījis serveri (skatiet nākamo soli), iegūstiet tā statisko IP adresi un novietojiet to blakus SERVER definīcijai.

3. darbība. Vairāk programmatūras (GPS atrašanās vietu saņemšana servera pusē)

Gan CloudAtCost, gan Amazon ir iepriekš konfigurēts Ubuntu attēls (CloudAtCost atrodas vietnē Ubuntu 14.04). Tāpēc es neveicu darbības, lai instalētu Ubuntu, jo jums tas nebūs jādara. Ja izmantojat CloudAtCost, iespējams, vēlēsities jaunināt uz Ubuntu 16.04, tas ir izdarīts ar

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Tad jums jāinstalē LAMP (skatiet šo rokasgrāmatu: šeit), lai gan mēs neizmantosim PHP.

Instalējiet Python ar

sudo apt-get install python-minimal pip

Pēc tam pievienojiet pāris moduļus:

pip install -lietotāja urllib3 pieprasījumi

Mums ir jāiestata rakstāms /var /www, tāpēc darīsim:

sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data /var /www

sudo chmod -R g+rwX /var /www

Tagad mums ir nepieciešams "serveris", lai i) saņemtu UDP paketes, ii) izveidotu celiņu, iii) nosūtītu paziņojumu uz mūsu mobilo tālruni, un "serveris", lai apkalpotu izveidoto GPS celiņu (tas būs apache).

Pirmajam serverim nokopējiet pievienoto pitona kodu. Jums jākonfigurē šādas lietas:

iftttuser = "JŪSU IFTTT LIETOTĀJS"

iftttpass = "JŪSU IFTTT PAROLE"

iftttappletid = "JŪSU IFTTT PAZIŅOJUMA APLETS"

iftttkey = "JŪSU IFTTT KEY"

iftttevent = "JŪSU IFTTT PASĀKUMS"

Kā jūs, iespējams, uzminējāt, mēs izmantojam IFTTT, lai reāllaika paziņojumus nosūtītu uz mūsu mobilajiem tālruņiem. Izpildiet šo rokasgrāmatu: šeit, bet tā vietā, lai izvēlētos “sūtīt man īsziņu”, izvēlieties “sūtīt lietotnes paziņojumu”. Iegūstiet sīklietotnes ID (ritiniet sīklietotnes konfigurācijas apakšā, lai to redzētu) un izmantojiet to iepriekš. Iepriekšējos iestatījumos izmantojiet arī tā izveidoto atslēgu. IFTTT notikums ir nosaukums, ko jūs devāt savai sīklietotnei, es tam piešķīru “carmoving”.

Tagad nav reālu reāllaika paziņojumu platformu bez maksas, AFAIK. Ja jūs zināt kādu, dariet man to zināmu. IFTTT ir aizkavēšanās. Šo kavēšanos var samazināt līdz dažām sekundēm, ja izmantojat e -pasta aktivizētāju. Diemžēl tas nav ticami. Tikko izveidotajam tīmekļa āķim ir 15 minūšu aizkave. Bet mēs negribam gaidīt 15 minūtes, lai uzzinātu, ka mūsu automašīna tiek nozagta, vai ne? Šī ir parole, kurā tiek prasīts iestatīt visus iepriekš minētos iestatījumus. Ritinot pitona kodu, redzat, ka ir dažas rindiņas, proti, 45-53, lai automatizētu IFTTT "pārbaudīt tūlīt" funkcionalitāti, kas liek pēkšņi pārbaudīt aktivizētājus un aktivizēt paziņojumu mazāk nekā 1 sekundē! Nav par ko:)

Kad esat kaut kur iestatījis savu python kodu, vienkārši palaidiet to. Ja esat profesionāls lietotājs, sāciet to ar servera sāknēšanu. Lai uzzinātu, kā to izdarīt, skatiet daudzas bezmaksas rokasgrāmatas tiešsaistē, piemēram, šo.

4. solis: vēl vairāk programmatūras (mobilā lietotne)

Vēl vairāk programmatūras (mobilā lietotne)
Vēl vairāk programmatūras (mobilā lietotne)
Vēl vairāk programmatūras (mobilā lietotne)
Vēl vairāk programmatūras (mobilā lietotne)
Vēl vairāk programmatūras (mobilā lietotne)
Vēl vairāk programmatūras (mobilā lietotne)
Vēl vairāk programmatūras (mobilā lietotne)
Vēl vairāk programmatūras (mobilā lietotne)

Mums ir nepieciešams ātrs un vienkāršs veids, kā tikai vizualizēt GPS celiņu, kuru iepriekšējā solī esošais serveris atjaunina. Iespējams, tam ir jāstrādā ar visu veidu viedtālruņiem.

Pēc tam izmantosim vairāku platformu mobilo lietotņu komplektu, piemēram, Ionic/Cordova. Es izmantoju Ionic v1, nejauciet to ar Ionic Native vai Ionic v2, tā ir cita lieta.

Izpildiet šīs ļoti vienkāršās darbības, lai sāktu savu pirmo projektu Ionic: šeit.

Pēc tam jums jāsāk jauns projekts, kura pamatā ir google maps sdk, piemēram:

jonu sākuma myapp kartes

Iet uz mapi "resursi" un nokopējiet lielo automašīnas attēlu šeit kā "icon.png". Tā vietā augšupielādējiet mazās ikonas kā “car2.png” un “start.png” kaut kur savā serverī, piemēram, https://yourserver/car2.png. Tie būs nepieciešami jūsu lietotnē kā marķieri.

Izmantojiet pievienotos failus index.html (pārdēvēt index.html.txt uz index.html), direktīvas.js un kontrolleri.js un ievietojiet tos vietnēs www (index.html), www/js (visi js).

pievienojiet savu platformu šādi:

jonu pievienot plaftorm android

veidot šādi:

jonu uzbūves android

tad jonic pateiks, kur tas izveidoja jūsu.apk, kuru varat instalēt savā mobilajā tālrunī.

Lai izveidotu iOS, jums būs nepieciešams Mac un Xcode. ionic var saglabāt Xcode projektu, kuru varat atvērt Xcode un izveidot savam tālrunim. Ja jums nav iOS izstrādātāja konta, tālrunis jāpievieno Xcode un jāiestata tālrunis attīstībai, lai varētu tur instalēt lietotni. Tas ir ārpus šīs instrukcijas darbības jomas.

Dažādos js failos jums jāatrod rindas, kas atbilst "car2.png" un "start.png", un tās jāmaina, izmantojot savu attēlu ceļu. Tas pats attiecas uz "plan.json".

Tieši tā!!

5. solis. Nākotnes darbs

1) Es visu esmu ievietojis kartona kastē, kuru es varu paslēpt jebkurā USB ligzdas tuvumā. Vislabāk būtu uzstādīt labāku korpusu zem automašīnas pārsega ar 12v-> 5v pārveidotāju.

2) Izmantojot Bluetooth sensoru, jūs faktiski varētu "nojaust", ja atrodaties automašīnā, tāpēc GPS sistēma neieslēdzas.

3) Vienkārši samaksājiet par sim datu plānu un iestatiet SECONDS uz 1, lai izbaudītu izsekošanu reāllaikā:)

Ceru, ka jums patika šī mana pirmā pamācība!

Ieteicams: