Tabla de contenido:
- Paso 1: el hardware
- Paso 2: el software (programa Arduino)
- Paso 3: Más software (recepción del lado del servidor de las ubicaciones Gps)
- Paso 4: aún más software (la aplicación móvil)
- Paso 5: Trabajo futuro
Video: Completo sistema antirrobo GPS + GPRS para vehículos basado en Arduino: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
¡Hola a todos!
Quería construir una solución completa para un dispositivo antirrobo de vehículos GPS, que sería:
lo más barato posible
lo más completo posible
ya que-simplemente-funciona-no hay-nada-más-que-hacer como sea posible
Así que terminé construyendo una solución basada en Arduino que me costó un total de 25 $, más o menos.
Como puede ver en el video, ¡simplemente funciona! Enciende el automóvil, recibe una notificación en su teléfono móvil de que el automóvil se está moviendo, luego abre la aplicación móvil y puede ver el automóvil en movimiento en tiempo real (con un retraso de actualización de 10 segundos).
Este tutorial lo guiará a través de todos los pasos, teniendo en cuenta que hay varios componentes en la solución:
1) el hardware (basado en Arduino)
2) el software (programa Arduino)
3) más software (recepción del lado del servidor de las ubicaciones gps)
4) aún más software (la aplicación móvil)
Empecemos..
Paso 1: el hardware
Lista de la compra:
1) Arduino Uno R3 o clon. Usé el clon "DCcEle DCcduino uno", que parece que ya no está disponible. Aquí hay un equivalente: en Aliexpress - 3.75 $
2) Unidad GPS para Arduino (GY-NEO6MV2 nuevo módulo GPS con Control de vuelo Control de vuelo EEPROM MWC APM2.5 antena grande NEO6MV2). Usé esto: en Aliexpress - 6.66 $
3) Unidad GPRS / GSM para Arduino (SIM800L V2.0 5V MÓDULO GPRS GSM inalámbrico de cuatro bandas con tapa de cable de antena). Usé esto: en Aliexpress - 6.71 $
4) Cables dupont de repuesto como estos: en Aliexpress - 0.89 $
5) Tarjeta SIM de datos de IoT (o cualquier otra tarjeta SIM con conexión de datos). Usé esto: de Hologram.io. Tengo uno gratuito para desarrolladores, solo envío de pago: 7,50 $
Total: 25,51 $, ¡pero ya tenía los cables, así que cuesta menos de 25 $!
Las dos imágenes muestran los componentes antes de ensamblar y el producto final. Las conexiones que tienes que hacer son:
Arduino - SIM800L
10 - RESTABLECER
GND - GND (2 de ellos)
5v - 5v
7 - SIM_TXD
8 - SIM_RXD
Arduino - GY-NEO6MV2
GND - GND
5v - VCC
3 - RX
4 - TX
Conecta todos los cables y antenas y asegúrate de encender el Arduino desde una fuente capaz de darte picos de 2A. El usb de la computadora está apenas bien (estoy usando una MacBook Pro), un cargador de teléfono "aleatorio" no será suficiente. La mayoría de las tomas de corriente USB de los coches también son inferiores a 1A. Si ese es su caso, también necesita una fuente de alimentación de 12v para automóvil de 5v con al menos 2A.
Inserte la tarjeta SIM. Si está utilizando la tarjeta SIM Hologram.io, asegúrese de registrarse en su tablero y activar la tarjeta SIM (toma unos minutos / horas).
Paso 2: el software (programa Arduino)
Asumiré que estás familiarizado con la programación de Arduino. De lo contrario, comience con esta guía: en Instructables.
Solo necesitas una biblioteca externa, tuve que instalarla manualmente. Vaya aquí: TinyGPS, exporte la biblioteca e instálela en su carpeta Arduino local.
A partir de ahí, vamos a "robar" algo de código de su ejemplo básico y modificarlo para nuestros propósitos.
Luego vamos a "robar" de esta guía y modificar el código nuevamente para nuestros propósitos.
El resultado es el programa.ino adjunto.
Hay un par de cosas que puede y TIENE que modificar:
los "SEGUNDOS" definen y el "SERVIDOR" definen.
Establecí SEGUNDOS en 10 y esta es la razón: el programa para desarrolladores Hologram.io le brinda 1 MB de datos gratuitos por mes. Lo que significa que queremos minimizar los bytes enviados, pero también necesitamos actualizar nuestra posición con cierta frecuencia. Usaremos comandos de módem AT estándar para enviar paquetes UDP a nuestro servidor que recibe los mensajes, con lat / lon, cada uno con 4 bytes y velocidad con 1 byte. Entonces, la actualización total de gps es de 20 bytes (encabezado IP) más 8 bytes (encabezado UDP) más 9 bytes (carga útil). Eso es 37 bytes. Suponiendo que mi automóvil esté activo no más de 2 horas por día, puedo permitirme una actualización cada 10 segundos y consumir solo 806kb al mes (31 días). Eso me da 218kb por el tiempo de conducción sobre el mío, es decir, el ladrón de autos. Lo que me da 16.76 horas de monitoreo gps fuera de mi tiempo de manejo, con una actualización cada 10 segundos.
Ahora, estos paquetes UDP tienen que ir a alguna parte. Estoy usando un servidor Ubuntu alojado en una nube CloudAtCost, que compré por 8 $ con un 80% de descuento, y que me sirve para otros propósitos, por lo tanto, no entra en los cálculos de costos. Si no desea pagar por un servidor, puede obtener una instancia gratuita de Amazon AWS durante 12 meses e instalar Ubuntu en ella. Una vez que haya configurado su servidor (vea el siguiente paso), obtenga su dirección IP estática y colóquela junto a SERVER define.
Paso 3: Más software (recepción del lado del servidor de las ubicaciones Gps)
Tanto CloudAtCost como Amazon vienen con una imagen de Ubuntu preconfigurada (CloudAtCost está en Ubuntu 14.04). Así que no voy a seguir los pasos para instalar Ubuntu, ya que usted no tendrá que hacerlo. Si está utilizando CloudAtCost, es posible que desee actualizar a Ubuntu 16.04, eso se hace con un
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Luego, debe instalar LAMP (consulte esta guía: aquí), aunque no vamos a utilizar PHP.
Instalar Python con
sudo apt-get install python-minimal pip
Luego agregue un par de módulos:
pip install --usuario urllib3 de usuario
Necesitamos configurar / var / www que usted pueda escribir, así que hagámoslo:
sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data / var / www
sudo chmod -R g + rwX / var / www
Ahora, necesitamos un "servidor" para i) recibir los paquetes UDP, ii) construir la pista, iii) enviar una notificación a nuestro teléfono móvil, y un "servidor" para servir la pista gps creada (este será apache).
Para el primer servidor, copie el código de Python adjunto. Necesita configurar las siguientes cosas:
iftttuser = "SU USUARIO IFTTT"
iftttpass = "SU CONTRASEÑA IFTTT"
iftttappletid = "SU APLICACIÓN DE NOTIFICACIÓN IFTTT"
iftttkey = "SU LLAVE IFTTT"
iftttevent = "SU EVENTO IFTTT"
Como habrás adivinado, estamos usando IFTTT para enviar notificaciones en tiempo real a nuestros teléfonos móviles. Siga esta guía: aquí, pero en lugar de seleccionar "enviarme un sms", seleccione "enviar una notificación de aplicación". Obtenga su id de subprograma (desplácese hasta la parte inferior de la configuración del subprograma para verlo) y utilícelo arriba. Utilice también la clave así creada en la configuración anterior. El evento IFTTT es el nombre que le diste a tu applet, yo le di "carmoving".
Ahora, no hay plataformas de notificaciones en tiempo real de forma gratuita, AFAIK. Si conoce alguno, hágamelo saber. IFTTT tiene un retraso. Este retraso se puede minimizar a unos pocos segundos si utiliza el disparador de correo electrónico. Desafortunadamente, esto no es confiable. El webhook recién creado tiene un retraso de 15 minutos. Pero no queremos esperar 15 minutos para saber que nos están robando el coche, ¿verdad? Esa es la contraseña para pedirle que configure todas las configuraciones anteriores. Si desplaza el código de Python, verá que hay algunas líneas, a saber, 45-53, para automatizar la funcionalidad "verificar ahora" de IFTTT, lo que fuerza una verificación repentina de los desencadenantes y desencadena la notificación en menos de 1 segundo. Eres bienvenido:)
Una vez que haya configurado su código de Python en algún lugar, simplemente ejecútelo. Si eres un usuario profesional, haz que se inicie en el arranque del servidor. Consulte las toneladas de guías gratuitas en línea sobre cómo hacerlo, por ejemplo, esta.
Paso 4: aún más software (la aplicación móvil)
Necesitamos una forma rápida y sencilla de visualizar el seguimiento GPS que mantiene actualizado el servidor en el paso anterior. Posiblemente, tenga que funcionar en todo tipo de teléfonos inteligentes.
Luego, usemos un conjunto de aplicaciones móviles multiplataforma, como Ionic / Cordova. Estoy usando Ionic v1, no lo confunda con Ionic Native o Ionic v2, eso es algo diferente.
Siga estos sencillos pasos para comenzar su primer proyecto en Ionic: aquí.
Luego, debe comenzar un nuevo proyecto basado en el sdk de google maps, como este:
mapas myapp de inicio iónico
Vaya a la carpeta "recursos" y copie la imagen grande del automóvil aquí como "icon.png". Sube en su lugar los iconos pequeños como "car2.png" y "start.png" en algún lugar de tu servidor, como https://yourserver/car2.png. Los necesitará como marcadores en su aplicación.
Utilice los archivos adjuntos index.html (cambie el nombre de index.html.txt a index.html), directives.js y controllers.js, y colóquelos en www (index.html), www / js (todos los js).
agregue su plataforma así:
iónico agregar plaftorm android
construir así:
android de construcción iónica
luego ionic le dirá dónde construyó su.apk que puede instalar en su teléfono móvil.
Para compilar para iOS, necesitará una Mac y Xcode. ionic puede guardar un proyecto de Xcode, que puede abrir en Xcode y compilar para su teléfono. Si no tiene una cuenta de desarrollador de iOS, tendrá que conectar su teléfono a Xcode y configurar su teléfono para el desarrollo para poder instalar la aplicación allí. Esto está fuera del alcance de este instructable.
En los distintos archivos js, necesitará encontrar las líneas correspondientes a "car2.png" y "start.png" y modificarlas con la ruta de sus imágenes. Lo mismo para "plan.json".
¡¡Eso es todo!!
Paso 5: Trabajo futuro
1) He puesto todo en una caja de cartón que puedo esconder en cualquier lugar cerca de la toma USB. Lo mejor sería montar una carcasa mejor debajo del capó del automóvil, con un convertidor 12v-> 5v.
2) Con un sensor bluetooth, podrías "sentir" si estás en el auto, por lo que el sistema GPS no se encenderá.
3) Solo pague por un plan de datos SIM y configure SEGUNDOS en 1 para disfrutar de un seguimiento en tiempo súper real:)
¡Espero que hayas disfrutado de este primer instructivo mío!
Recomendado:
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática Este / Oeste: 11 pasos (con imágenes)
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática de este a oeste: El proyecto: Una oficina de 200 pies cuadrados debe funcionar con baterías. La oficina también debe contener todos los controladores, baterías y componentes necesarios para este sistema. La energía solar y eólica cargará las baterías. Hay un pequeño problema de solo
Sensor meteorológico compacto con enlace de datos GPRS (tarjeta SIM): 4 pasos
Sensor meteorológico compacto con enlace de datos GPRS (tarjeta SIM): resumen del proyecto Se trata de un sensor meteorológico a batería basado en un sensor de temperatura / presión / humedad BME280 y un MCU ATMega328P. Funciona con dos pilas AA de litio tionilo de 3,6 V. Tiene un consumo de sueño ultrabajo de 6 µA. Envía eso
Tutorial del módulo A9G GPS y GPRS - Ai-Thinker - Comandos AT: 7 pasos
Tutorial del módulo A9G GPS y GPRS | Ai-Thinker | AT Commands: ¡Hola, chicos! Akarsh aquí de CETech. Hoy, vamos a pasar por el módulo A9G GPS, GSM y GPRS de AI Thinker. También hay varios otros módulos, como A9 y A6 de AI Thinker, que tienen capacidades GSM y GPRS similares, pero
Cámara de correo electrónico Arduino Security 3G / GPRS con detección de movimiento: 4 pasos
Cámara de correo electrónico Arduino Security 3G / GPRS con detección de movimiento: En este manual, me gustaría contarle acerca de una versión de cómo construir un sistema de vigilancia de seguridad con un detector de movimiento y enviar fotos al buzón a través del escudo 3G / GPRS. otras instrucciones: instrucción 1 e instrucción
Arduino y SIM900 GSM GPRS 3G Registro de temperatura y humedad, Estadísticas móviles: 4 pasos
Arduino y SIM900 GSM GPRS 3G Registro de temperatura y humedad, estadísticas móviles: con Arduino UNO R3, SIM900 Shield Y DHT22 puede registrar datos de temperatura y humedad en exteriores, en habitaciones, invernaderos, laboratorios, salas de refrigeración o cualquier otro lugar completamente gratis. Este ejemplo lo usaremos para registrar la temperatura y la humedad de la habitación. El dispositivo