Obsah:

Kompletný automobilový systém GPS+GPRS proti krádeži na báze Arduina: 5 krokov (s obrázkami)
Kompletný automobilový systém GPS+GPRS proti krádeži na báze Arduina: 5 krokov (s obrázkami)

Video: Kompletný automobilový systém GPS+GPRS proti krádeži na báze Arduina: 5 krokov (s obrázkami)

Video: Kompletný automobilový systém GPS+GPRS proti krádeži na báze Arduina: 5 krokov (s obrázkami)
Video: Przykładowy projekt dla STM32 i modemu GSM/GPRS Quectel M10 2024, Júl
Anonim
Image
Image
Hardvér
Hardvér

Ahoj všetci!

Chcel som vytvoriť kompletné riešenie pre zariadenie proti krádeži vozidla GPS, ktoré by bolo:

čo najlacnejšie

čo najkompletnejšie

pretože to jednoducho funguje, nie je potrebné nič iné robiť

Nakoniec som skončil s budovaním riešenia založeného na Arduine, ktoré ma stálo dokopy 25 $, viac-menej.

Ako vidíte na videu, funguje to! Naštartujete auto, v mobilnom telefóne dostanete upozornenie, že sa auto pohybuje, potom otvoríte mobilnú aplikáciu a v reálnom čase (s 10 -sekundovým oneskorením aktualizácie) vidíte, ako sa auto pohybuje.

Tento tutoriál vás prevedie všetkými krokmi, pričom nezabudnite, že v riešení je niekoľko komponentov:

1) hardvér (na báze Arduina)

2) softvér (program Arduino)

3) viac softvéru (príjem umiestnení GPS na strane servera)

4) ešte viac softvéru (mobilná aplikácia)

Začnime..

Krok 1: Hardvér

Hardvér
Hardvér

Nákupný zoznam:

1) Arduino Uno R3 alebo klon. Použil som klon „DCcEle DCcduino uno“, ktorý už zrejme nie je k dispozícii. Tu je ekvivalent: na Aliexpress - 3,75 $

2) GPS jednotka pre Arduino (GY-NEO6MV2 nový GPS modul s Flight Control Flight Control EEPROM MWC APM2.5 veľká anténa NEO6MV2). Použil som toto: na Aliexpress - 6,66 $

3) GPRS / GSM jednotka pre Arduino (SIM800L V2.0 5V bezdrôtový GSM GPRS MODULE štvorpásmový W / kryt anténneho kábla). Použil som toto: na Aliexpress - 6,71 $

4) Náhradné dupontové káble, ako sú tieto: na Aliexpress - 0,89 $

5) Dátová sim karta IoT (alebo akákoľvek iná sim karta s dátovým pripojením). Použil som toto: z Hologram.io. Mám bezplatný vývojársky program, iba platená doprava - 7,50 $

Celkom: 25,51 $, ale káble som už mal, takže je to menej ako 25 $!

Dva obrázky zobrazujú komponenty pred montážou a konečný výrobok. Pripojenia, ktoré musíte vytvoriť, sú tieto:

Arduino - SIM800L

10 - RESET

GND - GND (2 z nich)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino-GY-NEO6MV2

GND - GND

5v - VCC

3 - PR

4 - VY

Pripojte všetky káble a antény a uistite sa, že Arduino napájate zo zdroja, ktorý vám môže poskytnúť špičku 2A. Počítačové USB je sotva v poriadku (používam MacBook Pro), „náhodná“nabíjačka telefónu nebude stačiť. Väčšina automobilových zásuviek USB má tiež menej ako 1A. Ak je to váš prípad, potrebujete tiež 12 V automobilový napájací zdroj 5 V s najmenej 2 A.

Vložte sim kartu. Ak používate sim kartu Hologram.io, uistite sa, že sa zaregistrujete na jej paneli a aktivujete sim kartu (trvá to niekoľko minút / hodín).

Krok 2: Softvér (program Arduino)

Softvér (program Arduino)
Softvér (program Arduino)

Budem predpokladať, že ste oboznámení s programovaním Arduino. V opačnom prípade začnite s týmto sprievodcom: Pokyny.

Potrebujete iba jednu externú knižnicu, musel som ju nainštalovať ručne. Choďte sem: TinyGPS, exportujte knižnicu a nainštalujte ju do miestneho priečinka Arduino.

Odtiaľ „ukradneme“nejaký kód z ich základného príkladu a upravíme ho na naše účely.

Potom sa pokúsime „ukradnúť“túto príručku a kód znova upravíme na naše účely.

Výsledkom je priložený program.ino.

Existuje niekoľko vecí, ktoré môžete a MUSÍTE vyladiť:

definujú „SECONDS“a „SERVER“.

Nastavil som SECONDS na 10 a tu je dôvod: Vývojársky program Hologram.io vám poskytuje 1 MB bezplatných dát mesačne. To znamená, že chceme minimalizovať odoslané bajty, ale tiež potrebujeme aktualizovať svoju pozíciu tak často. Na odosielanie paketov UDP na náš server prijímajúcich správy použijeme štandardné príkazy modemu AT s údajmi lat/lon, každý s použitím 4 bajtov a rýchlosťou s použitím 1 bajtu. Celková aktualizácia GPS je teda 20 bajtov (hlavička IP) plus 8 bajtov (hlavička UDP) plus 9 bajtov (užitočné zaťaženie). To je 37 bajtov. Za predpokladu, že moje auto nie je aktívne viac ako 2 hodiny denne, môžem si dovoliť aktualizáciu každých 10 sekúnd a spotrebovať iba 806 kB mesačne (31 dní). To mi dáva 218 kB na dobu jazdy nad mojím vlastným, teda zlodejom áut. To mi dáva 16,76 hodiny monitorovania GPS mimo môjho času jazdy s jednou aktualizáciou každých 10 sekúnd.

Teraz tieto UDP pakety musia niekam ísť. Používam server Ubuntu hostený v cloude CloudAtCost, ktorý som kúpil za 8 $ so 80% zľavou a ktorý mi slúži na iné účely, a preto nejde do výpočtov nákladov. Ak nechcete platiť za server, môžete bezplatne získať inštanciu Amazon AWS na 12 mesiacov a nainštalovať na neho Ubuntu. Akonáhle budete mať nastavenie servera (pozri ďalší krok), získajte jeho statickú IP adresu a umiestnite ju vedľa definície SERVERA.

Krok 3: Viac softvéru (príjem serverov GPS na strane servera)

CloudAtCost aj Amazon sa dodávajú s vopred nakonfigurovaným obrázkom Ubuntu (CloudAtCost je v Ubuntu 14.04). Neprechádzam teda krokmi k inštalácii Ubuntu, pretože nebudete musieť. Ak používate CloudAtCost, možno budete chcieť upgradovať na Ubuntu 16.04, to sa deje s príponou

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

Potom musíte nainštalovať LAMP (pozrite sa na túto príručku: tu), aj keď nebudeme používať PHP.

Nainštalujte Python pomocou

sudo apt-get install python-minimal pip

Potom pridajte niekoľko modulov:

pip install --user urllib3 požaduje

Potrebujeme nastaviť /var /www, aby ste mohli zapisovať, a tak urobíme:

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

sudo chmod -R g+rwX /var /www

Teraz potrebujeme „server“na i) príjem paketov UDP, ii) vytvorenie stopy, iii) odoslanie oznámenia na náš mobilný telefón a „server“, ktorý bude slúžiť vytvorenej trati GPS (bude to apache).

Pre prvý server skopírujte priložený kód pythonu. Musíte nakonfigurovať nasledujúce veci:

iftttuser = "VÁŠ UŽÍVATEĽ IFTTT"

iftttpass = "VAŠE HESLO IFTTT"

iftttappletid = "VAŠA APLIKÁCIA NA Oznamovanie IFTTT"

iftttkey = "TVOJ KĽÚČ IFTTT"

iftttevent = "VAŠA AKCIA IFTTT"

Ako ste si asi domysleli, používame IFTTT na odosielanie upozornení v reálnom čase na naše mobilné telefóny. Postupujte podľa tohto sprievodcu: Tu ale namiesto možnosti „poslať mi sms“zvoľte „odoslať upozornenie na aplikáciu“. Získajte ID svojho apletu (zobrazte ho posunutím v spodnej časti konfigurácie apletu) a použite ho vyššie. Takto vytvorený kľúč použite aj vo vyššie uvedených nastaveniach. Udalosť IFTTT je názov, ktorý ste dali svojmu apletu, ja som mu dal „carmoving“.

Teraz neexistuje žiadna bezplatná platforma upozornení v reálnom čase, AFAIK. Ak o niekom viete, dajte mi vedieť. IFTTT má oneskorenie. Toto oneskorenie môže byť minimalizované na niekoľko sekúnd, ak použijete spúšťač e -mailu. Bohužiaľ to nie je spoľahlivé. Práve vytvorený webhook má 15 -minútové oneskorenie. Ale nechceme čakať 15 minút, aby sme vedeli, že nám kradnú auto, nie? Toto je heslo, ktoré vás požiada o nastavenie všetkých vyššie uvedených nastavení. Ak posúvate kód pythonu, vidíte, že existuje niekoľko riadkov, konkrétne 45-53, na automatizáciu funkcie „skontrolovať teraz“IFTTT, ktorá si vynúti náhlu kontrolu spúšťačov a spustí upozornenie za menej ako 1 sekundu! Nie je začo:)

Akonáhle niekde nastavíte kód pythonu, spustite ho. Ak ste profesionálnym používateľom, nechajte ho začať pri štarte servera. Pozrite sa na množstvo bezplatných sprievodcov online, ako to urobiť, napríklad tento.

Krok 4: Ešte viac softvéru (mobilná aplikácia)

Ešte viac softvéru (mobilná aplikácia)
Ešte viac softvéru (mobilná aplikácia)
Ešte viac softvéru (mobilná aplikácia)
Ešte viac softvéru (mobilná aplikácia)
Ešte viac softvéru (mobilná aplikácia)
Ešte viac softvéru (mobilná aplikácia)
Ešte viac softvéru (mobilná aplikácia)
Ešte viac softvéru (mobilná aplikácia)

Potrebujeme rýchly a jednoduchý spôsob, ako len vizualizovať stopu GPS, ktorú server v predchádzajúcom kroku aktualizuje. Je možné, že bude fungovať na všetkých druhoch smartfónov.

Potom použijeme súpravu mobilných aplikácií pre rôzne platformy, ako napríklad Ionic/Cordova. Používam Ionic v1, nezamieňajte si to s Ionic Native alebo Ionic v2, to je iná vec.

Ak chcete začať svoj prvý projekt v Ionic, postupujte podľa týchto veľmi jednoduchých krokov: tu.

Potom musíte začať nový projekt založený na súbore Google Maps SDK, a to takto:

mapy myapp iónového štartu

Prejdite do priečinka „zdroje“a skopírujte sem veľký obrázok auta ako „icon.png“. Nahrajte namiesto toho malé ikony ako „car2.png“a „start.png“niekde na server, napríklad https://yourserver/car2.png. Budete ich vo svojej aplikácii potrebovať ako značky.

Použite priložený súbor index.html (premenujte index.html.txt na index.html), directives.js a controllerers.js a vložte ich do súborov www (index.html), www/js (všetky js).

pridajte svoju platformu takto:

iónová platforma pridať android

stavať takto:

iónová konštrukcia android

potom vám ionic povie, kde bol vytvorený váš.apk, ktorý si môžete nainštalovať do svojho mobilného telefónu.

Na stavbu pre iOS budete potrebovať Mac a Xcode. ionic potom môže uložiť projekt Xcode, ktorý môžete otvoriť v Xcode a vytvoriť pre svoj telefón. Ak nemáte účet vývojára pre iOS, budete musieť telefón pripojiť k Xcode a nastaviť ho na vývoj, aby ste tam mohli nainštalovať aplikáciu. Toto je mimo rozsah tohto pokynu.

V rôznych súboroch js budete musieť nájsť riadky zodpovedajúce „car2.png“a „start.png“a upraviť ich pomocou cesty k vašim obrázkom. To isté pre "plan.json".

To je ono !!

Krok 5: Budúca práca

1) Všetko som vložil do kartónovej škatule, ktorú môžem skryť kdekoľvek v blízkosti zásuvky USB. Najlepšie by bolo namontovať lepšie puzdro pod kapotu auta s prevodníkom 12 V-> 5 V.

2) Vďaka senzoru bluetooth by ste v skutočnosti mohli „vycítiť“, ak ste v aute, takže sa systém GPS nezapne.

3) Zaplaťte za dátový plán sim a nastavte SECONDS na 1, aby ste si užili sledovanie v reálnom čase:)

Dúfam, že sa vám tento môj prvý pokyn páčil!

Odporúča: