Tabla de contenido:

Completo sistema antirrobo GPS + GPRS para vehículos basado en Arduino: 5 pasos (con imágenes)
Completo sistema antirrobo GPS + GPRS para vehículos basado en Arduino: 5 pasos (con imágenes)

Video: Completo sistema antirrobo GPS + GPRS para vehículos basado en Arduino: 5 pasos (con imágenes)

Video: Completo sistema antirrobo GPS + GPRS para vehículos basado en Arduino: 5 pasos (con imágenes)
Video: 16º ¿Cómo vigilar tu casa desde el celular? || ARDUINO ONLINE 2024, Noviembre
Anonim
Image
Image
El hardware
El hardware

¡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

El hardware
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)

El software (programa Arduino)
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)

Incluso más software (la aplicación móvil)
Incluso más software (la aplicación móvil)
Incluso más software (la aplicación móvil)
Incluso más software (la aplicación móvil)
Incluso más software (la aplicación móvil)
Incluso más software (la aplicación móvil)
Incluso más software (la aplicación móvil)
Incluso 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: