Taula de continguts:
- Pas 1: el maquinari
- Pas 2: el programari (programa Arduino)
- Pas 3: Més programari (Recepció del servidor de les ubicacions GPS)
- Pas 4: encara més programari (l'aplicació mòbil)
- Pas 5: Treball futur
Vídeo: Sistema antirobatori GPS + GPRS per a vehicles basat en Arduino: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
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
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)
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)
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:
Sensor de temps compacte amb enllaç de dades GPRS (targeta SIM): 4 passos
Sensor meteorològic compacte amb enllaç de dades GPRS (targeta SIM): resum del projecte Es tracta d’un sensor meteorològic alimentat per bateria basat en un sensor de temperatura / pressió / humitat BME280 i una MCU ATMega328P. Funciona amb dues bateries de liti tionil AA de 3,6 V. Té un consum de son molt baix de 6 µA. Envia dat
Porta imatges amb altaveu incorporat: 7 passos (amb imatges)
Suport d'imatges amb altaveu incorporat: aquí teniu un gran projecte per dur a terme durant el cap de setmana, si voleu que us poseu un altaveu que pugui contenir imatges / postals o fins i tot la vostra llista de tasques. Com a part de la construcció, utilitzarem un Raspberry Pi Zero W com a centre del projecte i un
Tutorial del mòdul GPS i GPRS A9G - Ai-Thinker - Ordres AT: 7 passos
Tutorial del mòdul A9G GPS i GPRS | Ai-Thinker | Ordres AT: Ei, què passa, nois! Akarsh aquí des de CETech.Avui passarem pel mòdul A9G GPS, GSM i GPRS d’AI Thinker. Hi ha diversos altres mòduls, com ara A9 i A6 d'AI Thinker que tenen capacitats GSM i GPRS similars, però
Reconeixement d'imatges amb plaques K210 i Arduino IDE / Micropython: 6 passos (amb imatges)
Reconeixement d’imatges amb plaques K210 i Arduino IDE / Micropython: ja vaig escriure un article sobre com executar demostracions d’OpenMV a Sipeed Maix Bit i també vaig fer un vídeo de demostració de detecció d’objectes amb aquesta placa. Una de les moltes preguntes que la gent ha formulat és: com puc reconèixer un objecte que la xarxa neuronal no és tr
Càmera de correu electrònic Arduino Security 3G / GPRS amb detecció de moviment: 4 passos
Càmera de correu electrònic Arduino Security 3G / GPRS amb detecció de moviment: en aquest manual, m’agradaria parlar d’una versió de la construcció d’un sistema de vigilància de seguretat amb un detector de moviment i l’enviament de fotografies a la bústia mitjançant l’escut 3G / GPRS. altres instruccions: instrucció 1 i instrucció