Cuprins:

Sistem anti-furt GPS + GPRS pentru vehicule bazat pe Arduino: 5 pași (cu imagini)
Sistem anti-furt GPS + GPRS pentru vehicule bazat pe Arduino: 5 pași (cu imagini)
Anonim
Image
Image
Hardware-ul
Hardware-ul

Buna tuturor!

Am vrut să construiesc o soluție completă pentru un dispozitiv antifurt pentru vehicule GPS, care ar fi:

cât se poate de ieftin

cât mai complet posibil

pe măsură ce funcționează, nu mai este nimic altceva de făcut

Așa că am ajuns să construiesc o soluție bazată pe Arduino care m-a costat în total 25 $, mai mult sau mai puțin.

După cum puteți vedea din videoclip, funcționează! Porniți mașina, primiți pe telefonul mobil o notificare că mașina se deplasează, apoi deschideți aplicația mobilă și puteți vedea mașina în mișcare în timp real (cu un decalaj de actualizare de 10 secunde).

Acest tutorial vă va ghida prin toți pașii, având în vedere că există mai multe componente în soluție:

1) hardware-ul (bazat pe Arduino)

2) software-ul (programul Arduino)

3) mai multe programe software (primirea de pe server a locațiilor GPS)

4) chiar mai mult software (aplicația mobilă)

Să începem..

Pasul 1: Hardware-ul

Hardware-ul
Hardware-ul

Lista de cumparaturi:

1) Arduino Uno R3 sau clonă. Am folosit clona „DCcEle DCcduino uno”, care pare să nu mai fie disponibilă. Iată un echivalent: pe Aliexpress - 3,75 $

2) Unitate GPS pentru Arduino (GY-NEO6MV2 nou modul GPS cu Control de zbor Flight Control EEPROM MWC APM2.5 antena mare NEO6MV2). Am folosit acest lucru: pe Aliexpress - 6,66 $

3) Unitate GPRS / GSM pentru Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODULE Quad-Band W / Antenna Cable Cap). Am folosit acest lucru: pe Aliexpress - 6,71 $

4) Cabluri dupont de rezervă ca acestea: pe Aliexpress - 0,89 USD

5) Cartelă de date IoT (sau orice altă cartelă SIM cu conexiune de date). Am folosit acest lucru: din Hologram.io. Am unul de dezvoltator gratuit, doar plătit - 7,50 USD

Total: 25,51 $, dar am avut deja cablurile, deci este mai puțin de 25 $!

Cele două imagini arată componentele înainte de asamblare și produsul final. Conexiunile pe care trebuie să le faceți sunt:

Arduino - SIM800L

10 - RESET

GND - GND (2 dintre ei)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino - GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Conectați toate cablurile și antenele și asigurați-vă că porniți Arduino de la o sursă capabilă să vă ofere vârfuri de 2A. USB-ul computerului este abia bine (folosesc un MacBook Pro), un încărcător de telefon „aleatoriu” nu va fi suficient. Majoritatea prizelor USB ale mașinilor sunt, de asemenea, mai mici de 1A. Dacă acesta este cazul dvs., aveți nevoie și de o sursă de alimentare cu mașină de 12v 5v cu cel puțin 2A.

Introduceți cartela SIM. Dacă utilizați cartela sim Hologram.io, asigurați-vă că vă înregistrați pe tabloul de bord și activați cartela SIM (durează câteva minute / ore).

Pasul 2: Software-ul (programul Arduino)

Software-ul (programul Arduino)
Software-ul (programul Arduino)

Voi presupune că ești familiarizat cu programarea Arduino. În caz contrar, începeți cu acest ghid: pe Instructables.

Ai nevoie doar de o bibliotecă externă, a trebuit să o instalez manual. Mergeți aici: TinyGPS, exportați biblioteca și instalați-o în folderul local Arduino.

De acolo, vom „fura” un cod din exemplul lor de bază și îl vom modifica în scopurile noastre.

Vom „fura” din acest ghid și vom modifica din nou codul în scopurile noastre.

Rezultatul este programul.ino atașat.

Există câteva lucruri pe care le poți și trebuie să modifici:

„SECUNDE” definesc, iar „SERVER” definesc.

Am setat SECONDS la 10 și iată de ce: programul pentru dezvoltatori Hologram.io vă oferă 1 MB de date gratuite pe lună. Ceea ce înseamnă că dorim să minimalizăm octeții trimiși, dar trebuie să ne actualizăm poziția atât de des. Vom folosi comenzi modem AT standard pentru a trimite pachete UDP către serverul nostru care primește mesajele, cu lat / lon, fiecare folosind 4 octeți și viteza folosind 1 octeți. Deci actualizarea totală a GPS-ului este de 20 de octeți (antet IP) plus 8 octeți (antet UDP) plus 9 octeți (sarcină utilă). Adică 37 de octeți. Presupunând că mașina mea este activă nu mai mult de 2 ore pe zi, îmi permit o actualizare la fiecare 10 secunde și consum doar 806 kb pe lună (31 de zile). Asta îmi dă 218 kb pentru timpul de conducere peste al meu, adică hoțul de mașini. Ceea ce îmi oferă 16,76 ore de monitorizare GPS în afara timpului meu de conducere, cu o actualizare la fiecare 10 secunde.

Acum, aceste pachete UDP trebuie să meargă undeva. Folosesc un server Ubuntu găzduit pe un cloud CloudAtCost, pe care l-am cumpărat cu 8 $ cu o reducere de 80% și care îmi servește alte scopuri, astfel nu intră în calculele costurilor. Dacă nu doriți să plătiți pentru un server, puteți obține o instanță gratuită Amazon AWS pentru 12 luni și puteți instala Ubuntu pe acesta. Odată ce ați configurat serverul (consultați pasul următor), obțineți adresa IP statică și puneți-o lângă definirea SERVER.

Pasul 3: Mai multe programe software (primirea de pe server a locațiilor GPS)

Atât CloudAtCost, cât și Amazon vin cu o imagine Ubuntu preconfigurată (CloudAtCost este la Ubuntu 14.04). Așa că nu parcurg pașii necesari pentru a instala Ubuntu, deoarece nu va trebui. Dacă utilizați CloudAtCost, poate doriți să faceți upgrade la Ubuntu 16.04, asta se face cu un

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

Apoi, trebuie să instalați LAMP (consultați acest ghid: aici), deși nu vom folosi PHP.

Instalați Python cu

sudo apt-get install python-pip minim

Apoi adăugați câteva module:

pip instalare - utilizator urllib3 solicită

Trebuie să setăm / var / www înscriibil de dvs., deci să facem:

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

sudo chmod -R g + rwX / var / www

Acum, avem nevoie de un „server” pentru a i) primi pachetele UDP, ii) construi pista, iii) trimite o notificare la telefonul nostru mobil și un „server” pentru a servi pista GPS creată (acesta va fi apache).

Pentru primul server, copiați codul python atașat. Trebuie să configurați următoarele lucruri:

iftttuser = "UTILIZATORUL TĂU IFTTT"

iftttpass = "PAROLA Dvs. IFTTT"

iftttappletid = "APLICAȚIA DE NOTIFICARE IFTTT"

iftttkey = "CHEIA TA IFTTT"

iftttevent = "EVENTUL TĂU IFTTT"

După cum probabil ați ghicit, folosim IFTTT pentru a trimite notificări în timp real către telefoanele noastre mobile. Urmați acest ghid: aici, dar în loc să selectați „trimiteți-mi un sms”, selectați „trimiteți o notificare de aplicație”. Obțineți ID-ul appletului (derulați în partea de jos a configurației appletului pentru a-l vedea) și utilizați-l mai sus. Folosiți, de asemenea, tasta creată în setările de mai sus. Evenimentul IFTTT este numele pe care l-ai dat appletului tău, eu i-am dat „carmoving”.

Acum, nu există platforme de notificări în timp real gratuite, AFAIK. Dacă știți una, anunțați-mă. IFTTT are o întârziere. Această întârziere poate fi redusă la câteva secunde dacă utilizați declanșatorul de e-mail. Din păcate, acest lucru nu este fiabil. Webhook-ul creat recent are o întârziere de 15 minute. Dar nu vrem să așteptăm 15 minute pentru a ști că mașina noastră este furată, nu? Aceasta este parola pentru a vă cere să configurați toate setările de mai sus. Dacă derulați codul python, vedeți că există câteva linii, și anume 45-53, pentru a automatiza funcționalitatea „verificați acum” a IFTTT, care forțează o verificare bruscă a declanșatoarelor și declanșează notificarea în mai puțin de 1 secundă! Cu plăcere:)

Odată ce ați configurat codul Python undeva, rulați-l. Dacă sunteți un utilizator profesionist, faceți-l să înceapă de la pornirea serverului. Consultați numărul de ghiduri gratuite online despre cum să faceți acest lucru, de exemplu acesta.

Pasul 4: Chiar mai mult software (aplicația mobilă)

Chiar mai mult software (aplicația mobilă)
Chiar mai mult software (aplicația mobilă)
Chiar mai mult software (aplicația mobilă)
Chiar mai mult software (aplicația mobilă)
Chiar mai mult software (aplicația mobilă)
Chiar mai mult software (aplicația mobilă)
Chiar mai mult software (aplicația mobilă)
Chiar mai mult software (aplicația mobilă)

Avem nevoie de o modalitate simplă și rapidă de a vizualiza doar pista GPS pe care serverul de la pasul anterior o menține la zi. Eventual, trebuie să funcționeze pe tot felul de smartphone-uri.

Să folosim apoi o suită de aplicații mobile multi-platformă, cum ar fi Ionic / Cordova. Folosesc Ionic v1, nu-l confundați cu Ionic Native sau Ionic v2, acesta este un lucru diferit.

Urmați acești pași foarte simpli pentru a începe primul dvs. proiect în Ionic: aici.

Apoi, trebuie să începeți un nou proiect bazat pe google maps sdk, astfel:

hărți ionice de pornire myapp

Accesați folderul „resurse” și copiați aici imaginea mare a mașinii ca „icon.png”. Încărcați în schimb pictogramele mici ca „car2.png” și „start.png” undeva pe serverul dvs., cum ar fi https://yourserver/car2.png. Veți avea nevoie de acestea ca marcatori în aplicația dvs.

Utilizați fișierele index.html atașate (redenumiți index.html.txt la index.html), directives.js și controlere.js și introduceți-le în www (index.html), www / js (toate js).

adăugați-vă platforma astfel:

ionic add plaftorm android

construiți astfel:

android de construcție ionică

apoi ionic vă va spune unde a construit.apk-ul pe care îl puteți instala pe telefonul mobil.

Pentru a construi pentru iOS, veți avea nevoie de un Mac și de Xcode. ionic poate salva apoi un proiect Xcode, pe care îl puteți deschide în Xcode și construi pentru telefonul dvs. Dacă nu aveți un cont de dezvoltator iOS, va trebui să vă atașați telefonul la Xcode și să vă configurați telefonul pentru dezvoltare pentru a putea instala aplicația acolo. Acest lucru este în afara scopului acestui instructiv.

În diferitele fișiere js, va trebui să găsiți liniile corespunzătoare „car2.png” și „start.png” și să le modificați cu calea imaginilor. La fel pentru „plan.json”.

Asta e!!

Pasul 5: Munca viitoare

1) Am pus totul într-o cutie de carton pe care o pot ascunde oriunde lângă priza USB. Cel mai bun lucru de făcut ar fi să montați o carcasă mai bună sub capota mașinii, cu un convertor de 12v-> 5v.

2) Cu un senzor bluetooth, puteți „simți” dacă sunteți în mașină, astfel încât sistemul GPS să nu se aprindă.

3) Plătiți doar pentru un plan de date SIM și setați SECONDS la 1 pentru a vă bucura de urmărire super-în timp real:)

Sper că ți-a plăcut acest prim instructiv al meu!

Recomandat: