Taula de continguts:

Sistema antirobatori GPS + GPRS per a vehicles basat en Arduino: 5 passos (amb imatges)
Sistema antirobatori GPS + GPRS per a vehicles basat en Arduino: 5 passos (amb imatges)

Vídeo: Sistema antirobatori GPS + GPRS per a vehicles basat en Arduino: 5 passos (amb imatges)

Vídeo: Sistema antirobatori GPS + GPRS per a vehicles basat en Arduino: 5 passos (amb imatges)
Vídeo: Asset Tracking: Ver y controlar tu carga marca la diferencia 2024, Desembre
Anonim
Image
Image
El maquinari
El maquinari

Hola a tothom!

Volia construir una solució completa per a un dispositiu antirobatori de vehicles GPS, que seria:

el més barat possible

el més complet possible

ja que només funciona, no hi ha res més a fer com sigui possible

Així que vaig acabar construint una solució basada en Arduino que em va costar un total de 25 $, més o menys.

Com podeu veure al vídeo, només funciona. Comenceu el cotxe, rebreu una notificació al telèfon mòbil que indica que el cotxe es mou, després obriu l'aplicació mòbil i podreu veure com el cotxe es mou en temps real (amb un retard d'actualització de 10 segons).

Aquest tutorial us guiarà a través de tots els passos, tenint en compte que hi ha diversos components a la solució:

1) el maquinari (basat en Arduino)

2) el programari (programa Arduino)

3) més programari (recepció del servidor de les ubicacions GPS)

4) encara més programari (l'aplicació mòbil)

Comencem..

Pas 1: el maquinari

El maquinari
El maquinari

Llista de la compra:

1) Arduino Uno R3 o clon. He utilitzat el clon "DCcEle DCcduino uno", que sembla que ja no està disponible. Aquí hi ha un equivalent: a Aliexpress - 3,75 $

2) Unitat GPS per Arduino (nou mòdul GPS GY-NEO6MV2 amb antena gran NEO6MV2 EEPROM MWC APM2.5 Control de vol Control de vol EEPROM MWC APM2.5). He utilitzat això: a Aliexpress - 6,66 $

3) Unitat GPRS / GSM per Arduino (SIM800L V2.0 5V M WirelessDUL sense fils GSM GPRS Quad-Band W / Antena Cable Cap). He utilitzat això: a Aliexpress - 6,71 $

4) Cables dupont de recanvi com aquests: a Aliexpress - 0,89 $

5) targeta SIM de dades IoT (o qualsevol altra targeta SIM amb connexió de dades). He utilitzat això: de Hologram.io. En tinc un de desenvolupador gratuït, només heu enviat de pagament: 7,50 $

Total: 25,51 $, però ja tenia els cables, de manera que són menys de 25 $.

Les dues imatges mostren els components abans del muntatge i el producte final. Les connexions que heu de fer són:

Arduino - SIM800L

10 - RESET

GND - GND (2 d'ells)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino - GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Connecteu tots els cables i antenes i assegureu-vos que enceneu l'Arduino des d'una font capaç de donar-vos pics de 2A. L’USB de l’ordinador tot just està bé (estic fent servir un MacBook Pro), no n’hi haurà prou amb un carregador de telèfon “aleatori”. La majoria de punts de venda usb de cotxes també són inferiors a 1A. Si aquest és el vostre cas, també necessiteu una font d'alimentació de 12v per a cotxes de 5v amb almenys 2A.

Introduïu la targeta SIM. Si utilitzeu la targeta sim Hologram.io, assegureu-vos de registrar-vos al tauler i activar la targeta sim (triga uns minuts / hores).

Pas 2: el programari (programa Arduino)

El programari (programa Arduino)
El programari (programa Arduino)

Vaig a suposar que coneixeu la programació Arduino. En cas contrari, comenceu amb aquesta guia: a Instructables.

Només necessiteu una biblioteca externa, l’havia d’instal·lar manualment. Aneu aquí: TinyGPS, exporteu la biblioteca i instal·leu-la a la carpeta Arduino local.

A partir d’aquí, “robarem” algun codi del seu exemple bàsic i el modificarem als nostres propòsits.

A continuació, "robarem" aquesta guia i tornarem a modificar el codi segons els nostres propòsits.

El resultat és el programa.ino adjunt.

Hi ha un parell de coses que podeu i heu de modificar:

els "SEGONS" defineixen i el "SERVEI" defineixen.

He establert SECONDS a 10 i heus aquí per què: el programa per a desenvolupadors Hologram.io us proporciona 1 MB de dades gratuïtes al mes. És a dir, volem minimitzar els bytes enviats, però també hem d’actualitzar la nostra posició tan sovint. Utilitzarem ordres de mòdem AT estàndard per enviar paquets UDP al nostre servidor que rebi els missatges, amb lat / lon, cadascun utilitzant 4 bytes i velocitat amb 1 byte. Per tant, l’actualització total del GPS és de 20 bytes (capçalera IP) més 8 bytes (capçalera UDP) més 9 bytes (càrrega útil). Són 37 bytes. Suposant que el meu cotxe estigui actiu no més de 2 hores al dia, puc permetre'm una actualització cada 10 segons i consumir només 806 kb al mes (31 dies). D’això em donen 218 kb per la meva conducció, és a dir, el lladre de cotxes. El que em proporciona 16,76 hores de monitorització de GPS fora del temps de conducció, amb una actualització cada 10 segons.

Ara, aquests paquets UDP han d’anar a algun lloc. Estic fent servir un servidor Ubuntu allotjat en un núvol CloudAtCost, que he comprat per 8 $ amb un descompte del 80%, i que em serveix per a altres propòsits, per tant no entra en els càlculs de costos. Si no voleu pagar un servidor, podeu obtenir una instància d'Amazon AWS gratuïta durant 12 mesos i instal·lar-hi Ubuntu. Un cop hàgiu configurat el servidor (vegeu el següent pas), obteniu la seva adreça IP estàtica i poseu-la al costat de la definició del SERVEI.

Pas 3: Més programari (Recepció del servidor de les ubicacions GPS)

Tant CloudAtCost com Amazon inclouen una imatge d'Ubuntu preconfigurada (CloudAtCost es troba a Ubuntu 14.04). Per tant, no estic seguint els passos per instal·lar Ubuntu, ja que no caldrà. Si utilitzeu CloudAtCost, és possible que vulgueu actualitzar a Ubuntu 16.04, això es fa amb un

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

Després heu d’instal·lar LAMP (consulteu aquesta guia: aquí), tot i que no utilitzarem PHP.

Instal·leu Python amb

sudo apt-get install python-minimal pip

A continuació, afegiu un parell de mòduls:

pip install - sol·licituds d'usuari urllib3

Hem d’establir / var / www per escriure, així que fem:

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

sudo chmod -R g + rwX / var / www

Ara, necessitem un "servidor" per i) rebre els paquets UDP, ii) crear la pista, iii) enviar una notificació al nostre telèfon mòbil i un "servidor" per servir la pista gps creada (aquest serà un apache).

Per al primer servidor, copieu el codi python adjunt. Heu de configurar les coses següents:

iftttuser = "EL SEU USUARI IFTTT"

iftttpass = "LA VOSTRA CONTRASENYA IFTTT"

iftttappletid = "LA TEVA APLICACIÓ DE NOTIFICACIÓ IFTTT"

iftttkey = "LA TEVA CLAU IFTTT"

iftttevent = "EL TEU ESDEVENIMENT IFTTT"

Com haureu endevinat, utilitzem IFTTT per enviar notificacions en temps real als nostres telèfons mòbils. Seguiu aquesta guia: aquí, però en lloc de seleccionar "envia'm un sms", seleccioneu "enviar una notificació d'aplicació". Obteniu l'identificador de la miniaplicació (desplaceu-vos a la part inferior de la configuració de la miniaplicació per veure-la) i utilitzeu-la a la part superior. Utilitzeu també la clau creada així a la configuració anterior. L’esdeveniment IFTTT és el nom que heu posat al vostre applet, jo li he posat "carmoving".

Ara, no hi ha plataformes de notificacions en temps real de franc, AFAIK. Si en sabeu algun, feu-m'ho saber. IFTTT té un retard. Aquest retard es pot minimitzar a uns quants segons si utilitzeu el disparador de correu electrònic. Malauradament, això no és fiable. El webhook acabat de crear té un retard de 15 minuts. Però no volem esperar 15 minuts per saber que ens roben el cotxe, oi? Aquesta és la contrasenya per demanar-vos que configureu tots els paràmetres anteriors. Si desplaceu el codi python, veureu que hi ha algunes línies, és a dir, 45-53, per automatitzar la funcionalitat "comprova ara" d'IFTTT, que obliga a comprovar sobtadament els activadors i activa la notificació en menys d'1 segon. Ets benvingut:)

Un cop hàgiu configurat el codi Python en algun lloc, només cal executar-lo. Si sou un usuari professional, feu que comenci a arrencar el servidor. Consulteu la quantitat de guies gratuïtes en línia sobre com fer-ho, per exemple aquesta.

Pas 4: encara més programari (l'aplicació mòbil)

Encara més programari (l'aplicació mòbil)
Encara més programari (l'aplicació mòbil)
Encara més programari (l'aplicació mòbil)
Encara més programari (l'aplicació mòbil)
Encara més programari (l'aplicació mòbil)
Encara més programari (l'aplicació mòbil)
Encara més programari (l'aplicació mòbil)
Encara més programari (l'aplicació mòbil)

Necessitem una manera senzilla i ràpida de visualitzar la pista GPS que el servidor del pas anterior manté actualitzat. Possiblement, ha de funcionar en tot tipus de telèfons intel·ligents.

A continuació, fem servir una suite d'aplicacions mòbils multiplataforma, com Ionic / Cordova. Estic fent servir Ionic v1, no el confongueu amb Ionic Native o Ionic v2, això és una cosa diferent.

Seguiu aquests senzills passos per iniciar el vostre primer projecte a Ionic: aquí.

A continuació, heu d’iniciar un projecte nou basat en google maps sdk, com aquest:

mapes iònics d’inici de myapp

Aneu a la carpeta "recursos" i copieu la imatge del cotxe gran aquí com a "icon.png". Carregueu les icones petites com "car2.png" i "start.png" en algun lloc del vostre servidor, com ara https://yourserver/car2.png. Els necessitareu com a marcadors a la vostra aplicació.

Utilitzeu els fitxers index.html adjunts (canvieu el nom d’index.html.txt a index.html), directives.js i controllers.js i poseu-los a www (index.html), www / js (tots els js).

afegiu la vostra plataforma així:

iònic afegir Android plaftorm

construeix així:

androide de construcció iònica

llavors ionic us indicarà on va construir el vostre.apk que podeu instal·lar al vostre telèfon mòbil.

Per construir per a iOS, necessitareu un Mac i Xcode. ionic pot desar un projecte Xcode que podeu obrir a Xcode i construir per al vostre telèfon. Si no teniu cap compte de desenvolupador d’IOS, haureu de connectar el vostre telèfon a Xcode i configurar-lo per al desenvolupament perquè pugueu instal·lar-hi l’aplicació. Això està fora de l’abast d’aquest instructiu.

Als diversos fitxers js, haureu de trobar les línies corresponents a "car2.png" i "start.png" i modificar-les amb el camí de les vostres imatges. El mateix per a "plan.json".

Això és!!

Pas 5: Treball futur

1) Ho he posat tot en una caixa de cartró que puc amagar a qualsevol lloc prop de la presa USB. El millor que podríeu fer seria muntar una caixa millor sota el capó del cotxe, amb un convertidor de 12v-> 5v.

2) Amb un sensor bluetooth, podríeu "sentir" si esteu al cotxe, de manera que el sistema GPS no s'encén.

3) Només pagueu per un pla de dades de simulació i configureu SECONDS a 1 per gaudir d'un seguiment en temps real super:)

Espero que us hagi agradat aquest primer instructiu meu!

Recomanat: