Obsah:

Kompletní systém ochrany proti krádeži GPS+GPRS vozidla na bázi Arduina: 5 kroků (s obrázky)
Kompletní systém ochrany proti krádeži GPS+GPRS vozidla na bázi Arduina: 5 kroků (s obrázky)

Video: Kompletní systém ochrany proti krádeži GPS+GPRS vozidla na bázi Arduina: 5 kroků (s obrázky)

Video: Kompletní systém ochrany proti krádeži GPS+GPRS vozidla na bázi Arduina: 5 kroků (s obrázky)
Video: Pandora Light Pro - CZ 2024, Listopad
Anonim
Image
Image
Hardware
Hardware

Ahoj všichni!

Chtěl jsem vytvořit kompletní řešení pro zařízení proti krádeži vozidel GPS, které by bylo:

co nejlevnější

co nejúplnější

protože to prostě funguje, není co jiného dělat

Nakonec jsem skončil s řešením založeným na Arduinu, které mě stálo celkem 25 $, více či méně.

Jak vidíte z videa, funguje to! Nastartujete auto, na váš mobilní telefon dostanete oznámení, že se auto pohybuje, poté otevřete mobilní aplikaci a můžete vidět auto v pohybu v reálném čase (s 10sekundovým zpožděním aktualizace).

Tento tutoriál vás provede všemi kroky, přičemž mějte na paměti, že v řešení je několik komponent:

1) hardware (na bázi Arduina)

2) software (program Arduino)

3) více softwaru (příjem umístění GPS na straně serveru)

4) ještě více softwaru (mobilní aplikace)

Začněme..

Krok 1: Hardware

Hardware
Hardware

Nákupní seznam:

1) Arduino Uno R3 nebo klon. Použil jsem klon „DCcEle DCcduino uno“, který už podle všeho není k dispozici. Zde je ekvivalent: na Aliexpressu - 3,75 $

2) GPS jednotka pro Arduino (GY-NEO6MV2 nový GPS modul s Flight Control Flight Control EEPROM MWC APM2.5 velká anténa NEO6MV2). Použil jsem toto: na Aliexpressu - 6,66 $

3) GPRS / GSM jednotka pro Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODULE Quad-Band W / Antenna Cable Cap). Použil jsem toto: na Aliexpressu - 6,71 $

4) Náhradní dupontní kabely takto: na Aliexpress - 0,89 $

5) Datová sim karta IoT (nebo jakákoli jiná sim karta s datovým připojením). Použil jsem toto: z Hologram.io. Mám vývojáře zdarma, pouze placená doprava - 7,50 $

Celkem: 25,51 $, ale kabely jsem již měl, takže je to méně než 25 $!

Dva obrázky ukazují komponenty před montáží a konečný produkt. Připojení, která musíte provést, jsou:

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 - RX

4 - VY

Připojte všechny kabely a antény a ujistěte se, že zapnete Arduino ze zdroje, který vám poskytne špičku 2A. Počítačové USB je sotva v pořádku (používám MacBook Pro), „náhodná“nabíječka telefonu nebude stačit. Většina automobilových USB výstupů má také méně než 1A. Pokud je to váš případ, potřebujete také 12V auto 5V napájecí zdroj s minimálně 2A.

Vložte sim kartu. Pokud používáte sim kartu Hologram.io, nezapomeňte se zaregistrovat na jejich palubní desce a aktivovat sim kartu (trvá to několik minut / hodin).

Krok 2: Software (program Arduino)

Software (program Arduino)
Software (program Arduino)

Budu předpokládat, že jste obeznámeni s programováním Arduino. Jinak začněte touto příručkou: na Instructables.

Potřebujete pouze jednu externí knihovnu, musel jsem ji nainstalovat ručně. Přejděte sem: TinyGPS, exportujte knihovnu a nainstalujte ji do místní složky Arduino.

Odtamtud budeme „ukrást“nějaký kód z jejich základního příkladu a upravit ho pro naše účely.

Poté se chystáme z této příručky „ukrást“a znovu upravit kód pro naše účely.

Výsledkem je přiložený program.ino.

Existuje několik věcí, které můžete a MUSÍTE upravit:

definovat „SECONDS“a „SERVER“.

Nastavil jsem SECONDS na 10 a zde je důvod: vývojářský program Hologram.io vám poskytuje 1 MB dat zdarma za měsíc. To znamená, že chceme minimalizovat odesílané bajty, ale také musíme svoji pozici aktualizovat tak často. K odesílání paketů UDP na náš server přijímajících zprávy použijeme standardní příkazy AT modemu, s lat/lon, každý pomocí 4 bajtů, a rychlostí pomocí 1 bajtu. Celková aktualizace GPS je tedy 20 bajtů (záhlaví IP) plus 8 bajtů (záhlaví UDP) plus 9 bajtů (užitečné zatížení). To je 37 bytů. Za předpokladu, že je moje auto aktivní ne více než 2 hodiny denně, si mohu dovolit aktualizaci každých 10 sekund a spotřebovat pouze 806 kB měsíčně (31 dní). To mi dává 218 kB za dobu řízení nad mým vlastním, tedy zlodějem aut. Což mi dává 16,76 hodin sledování GPS mimo dobu řízení, s jednou aktualizací každých 10 sekund.

Nyní musí tyto UDP pakety někam jít. Používám server Ubuntu hostovaný na cloudu CloudAtCost, který jsem koupil za 8 $ s 80% slevou a který mi slouží k jiným účelům, proto nepočítá s výpočty nákladů. Pokud nechcete platit za server, můžete získat bezplatnou instanci Amazon AWS na 12 měsíců a nainstalovat na ni Ubuntu. Jakmile budete mít nastavení serveru (viz další krok), získejte jeho statickou IP adresu a vložte ji vedle definice SERVERU.

Krok 3: Více softwaru (příjem umístění GPS na straně serveru)

CloudAtCost i Amazon přicházejí s předem nakonfigurovaným obrazem Ubuntu (CloudAtCost je v Ubuntu 14.04). Neprocházím tedy kroky k instalaci Ubuntu, protože nebudete muset. Pokud používáte CloudAtCost, možná budete chtít upgradovat na Ubuntu 16.04, to se provádí pomocí

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

Poté musíte nainstalovat LAMP (viz tato příručka: zde), i když nebudeme používat PHP.

Nainstalujte Python pomocí

sudo apt-get install python-minimal pip

Poté přidejte několik modulů:

pip install --user urllib3 požadavky

Potřebujeme nastavit /var /www zapisovatelné vámi, pojďme tedy:

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

sudo chmod -R g+rwX /var /www

Nyní potřebujeme „server“k i) přijímání UDP paketů, ii) sestavení stopy, iii) odeslání upozornění na náš mobilní telefon a „serveru“, který bude obsluhovat vytvořenou stopu GPS (to bude apache).

Pro první server zkopírujte přiložený kód pythonu. Musíte nakonfigurovat následující věci:

iftttuser = "VÁŠ UŽIVATEL IFTTT"

iftttpass = "VAŠE HESLO IFTTT"

iftttappletid = "VAŠE APLIKACE OZNÁMENÍ IFTTT"

iftttkey = "VÁŠ KLÍČ IFTTT"

iftttevent = "VAŠE UDÁLOST IFTTT"

Jak jste asi uhodli, používáme IFTTT k odesílání upozornění v reálném čase na naše mobilní telefony. Postupujte podle tohoto průvodce: zde, ale místo možnosti „poslat mi sms“vyberte „odeslat oznámení aplikace“. Získejte své ID appletu (zobrazte jej v dolní části konfigurace apletu) a použijte jej výše. Takto vytvořený klíč použijte také v nastavení výše. Událost IFTTT je jméno, které jste dali svému apletu, já tomu dal „carmoving“.

Nyní neexistují žádné bezplatné platformy pro oznámení v reálném čase, AFAIK. Pokud o nějakém víte, dejte mi vědět. IFTTT má zpoždění. Toto zpoždění lze minimalizovat na několik sekund, pokud použijete spoušť e -mailu. Bohužel to není spolehlivé. Právě vytvořený webhook má 15 minut zpoždění. Ale nechceme čekat 15 minut, abychom věděli, že nám kradou auto, že? To je heslo k zadání všech výše uvedených nastavení. Pokud posouváte kód pythonu, uvidíte, že existuje několik řádků, konkrétně 45–53, které automatizují funkci „zkontrolovat nyní“IFTTT, což si vynutí náhlou kontrolu spouště a spustí oznámení za méně než 1 sekundu! Nemáš zač:)

Jakmile někde nastavíte kód pythonu, stačí jej spustit. Pokud jste profesionálním uživatelem, nechte jej začít při spuštění serveru. Podívejte se na spoustu bezplatných průvodců online, jak to udělat, například tento.

Krok 4: Ještě více softwaru (mobilní aplikace)

Ještě více softwaru (mobilní aplikace)
Ještě více softwaru (mobilní aplikace)
Ještě více softwaru (mobilní aplikace)
Ještě více softwaru (mobilní aplikace)
Ještě více softwaru (mobilní aplikace)
Ještě více softwaru (mobilní aplikace)
Ještě více softwaru (mobilní aplikace)
Ještě více softwaru (mobilní aplikace)

Potřebujeme rychlý a jednoduchý způsob, jak vizualizovat stopu GPS, kterou server v předchozím kroku udržuje aktuální. Možná to musí fungovat na všech typech smartphonů.

Pojďme tedy použít sadu mobilních aplikací napříč platformami, jako je Ionic/Cordova. Používám Ionic v1, nepleťte si to s Ionic Native nebo Ionic v2, to je jiná věc.

Chcete -li zahájit svůj první projekt v Ionic, postupujte takto: zde.

Poté musíte zahájit nový projekt založený na sdk Google Maps, jako je tento:

mapy iontového startu myapp

Přejděte do složky „zdroje“a zkopírujte zde velký obrázek auta jako „icon.png“. Nahrajte místo toho malé ikony jako „car2.png“a „start.png“někam na váš server, například https://yourserver/car2.png. Budete je ve své aplikaci potřebovat jako značky.

Použijte připojený soubor index.html (přejmenujte index.html.txt na index.html), directives.js a controllers.js a vložte je do www (index.html), www/js (všechny js).

přidejte svoji platformu takto:

iontový add plaftorm android

stavět takto:

iontový build android

pak vám ionic řekne, kde vytvořil váš.apk, který můžete nainstalovat do svého mobilního telefonu.

K sestavení pro iOS budete potřebovat Mac a Xcode. ionic pak může uložit projekt Xcode, který můžete otevřít v Xcode a vytvořit pro svůj telefon. Pokud nemáte účet vývojáře iOS, budete muset telefon připojit k Xcode a nastavit telefon pro vývoj, aby bylo možné nainstalovat aplikaci tam. To je mimo rozsah tohoto pokynu.

V různých souborech js budete muset najít řádky odpovídající „car2.png“a „start.png“a upravit je pomocí cesty k vašim obrázkům. Totéž pro "plan.json".

A je to!!

Krok 5: Budoucí práce

1) Všechno jsem vložil do kartonové krabice, kterou můžu schovat kdekoli poblíž zásuvky USB. Nejlépe uděláte, když pod kapotu auta namontujete lepší pouzdro s převodníkem 12 V-> 5 V.

2) S bluetooth senzorem byste vlastně mohli „vycítit“, pokud jste v autě, takže se systém gps nezapne.

3) Zaplaťte za sim datový plán a nastavte SECONDS na 1, abyste si mohli užít sledování v reálném čase:)

Doufám, že se vám tento můj první instruktáž líbil!

Doporučuje: