Satura rādītājs:
- 1. darbība: aparatūra
- 2. darbība: programmatūra (Arduino programma)
- 3. darbība. Vairāk programmatūras (GPS atrašanās vietu saņemšana servera pusē)
- 4. solis: vēl vairāk programmatūras (mobilā lietotne)
- 5. solis. Nākotnes darbs
Video: Pilnīga uz Arduino balstīta transportlīdzekļa GPS+GPRS pretaizdzīšanas sistēma: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
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
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)
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)
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:
Kompakts laika sensors ar GPRS (SIM kartes) datu saiti: 4 soļi
Kompakts laika sensors ar GPRS (SIM karti) Datu saite: projekta kopsavilkums Tas darbojas ar divām 3,6 V litija tionil AA baterijām. Tam ir īpaši zems miega patēriņš-6 µA. Tas nosūta to
A9G GPS un GPRS moduļa apmācība - Ai-Thinker - AT komandas: 7 soļi
A9G GPS un GPRS moduļa apmācība | Ai-Thinker | AT Komandas: Hei, kas notiek, puiši! Akarsh šeit no CETech. Šodien mēs veiksim A9G GPS, GSM un GPRS moduli no AI Thinker. Ir arī vairāki citi moduļi, piemēram, A9 un A6 no AI Thinker, kuriem ir līdzīgas GSM un GPRS iespējas, bet
Arduino Security 3G/GPRS e -pasta kamera ar kustības noteikšanu: 4 soļi
Arduino Security 3G/GPRS e -pasta kamera ar kustību noteikšanu: šajā rokasgrāmatā es vēlos pastāstīt par vienu drošības novērošanas sistēmas izveides versiju ar kustības detektoru un fotoattēlu nosūtīšanu uz pastkasti, izmantojot 3G/GPRS vairogu. Šis raksts ir balstīts uz citi norādījumi: instrukcija 1 un instrukcija
Arduino un SIM900 GSM GPRS 3G temperatūras un mitruma reģistrēšana, mobilā statistika: 4 soļi
Arduino un SIM900 GSM GPRS 3G temperatūras un mitruma reģistrēšana, mobilā statistika: Izmantojot Arduino UNO R3, SIM900 Shield AND DHT22, jūs varat reģistrēt temperatūras un mitruma datus ārā, telpā, siltumnīcā, laboratorijā, dzesēšanas telpā vai jebkurā citā vietā. Šo piemēru mēs izmantosim, lai reģistrētu istabas temperatūru un mitrumu. Ierīce
TCP/IP savienojums, izmantojot GPRS: Kā nosūtīt datus uz serveri, izmantojot SIM900A moduli: 4 soļi
TCP/IP savienojums, izmantojot GPRS: Kā nosūtīt datus uz serveri, izmantojot SIM900A moduli: Šajā apmācībā es jums pastāstīšu par to, kā nosūtīt datus uz TCP serveri, izmantojot sim900 moduli. Mēs arī redzēsim, kā mēs varam saņemt datus no servera uz klientu (GSM modulis)