sábado, abril 24, 2021

Cómo configurar un módulo GPS en Raspberry Pi Zero en tus proyectos de Maker

Hace unos días publiqué por aquí, en El lado del mal, un articulo sobre cómo modificar y configurar una Raspberry Pi Zero cómo una cámara de salpicadero para nuestro coche o como cámara de vigilancia, las llamadas Dashcams. Para el artículo de hoy os dejo otro sencillo y entretenido proyecto de Maker, cuyo objetivo es ver cómo implementar un módulo GPS en una Raspberry Pi Zero para tenerla localizada en cualquier momento, ya sea para mejorar nuestra Dashcam o para cualquier otra aplicación donde la ubicación del dispositivo tenga importancia, como por ejemplo colocar un localizador en nuestro coche.

Figura 1: Cómo configurar un módulo GPS en Raspberry Pi Zero
en tus proyectos de Maker

Por si quieres, antes de comenzar con este nuevo proyecto, os dejo aquí la lista de otros proyectos con Raspberry Pi y Raspberry Pi Zero que ya hemos ido publicando por aquí, y que son una buena fuente de entrenamiento para ver diferentes tipos de cosas que podemos construir.

- Raspberry Pi: Cómo construir un medidor ambiental
- Raspberry Pi: Dirtytooth para Raspberry Pi v2.0
- Raspberry Pi: Una VPN para navegar por redes WiFi con portales cautivos
- Raspberry Pi: Pi Guardian con Latch, Bots en Telegram y "ojos"
- Raspberry Pi: Latch My Car
- Rapsberry Pi: Tu servicio VPN con OpenVPN, Latch y Virus Total
- Raspberry Pi: Latch en OpenWRTPara el proyecto de hoy, si no estáis familiarizados con el uso de este tipo de módulos para Raspberry Pi no os preocupéis, son fáciles de configurar y su funcionamiento es bastante sencillo. El módulo GPS dispone de una antena que junto al receptor es capaz de triangular su posición de manera bastante precisa vía satélite, también disponen de una pequeña batería para asegurarnos de que la información se guarde en la memoria en caso de dejar de recibir corriente repentinamente y un diodo led que nos indicará si el módulo está funcionando correctamente (led encendido) o si está dando algún fallo (led parpadea).


Para configurar el módulo el primer paso será preparar nuestra Raspberry Pi, para ello es necesario activar el puerto serie desde la configuración. Utilizando el comando “sudo raspi-config” abriremos el menú de configuración y buscaremos el apartado “Interfacing Options” y dentro de él seleccionaremos la opción “Serial”. 

A continuación, se nos mostrarán dos mensajes, en el primero “Would you like a login shell to be accessible over serial?” seleccionaremos “NO” y en el segundo “Would you like the serial porthardware to be eneabled?” seleccionaremos “YES”. Después de esto nos preguntará que si queremos reiniciar la placa y también seleccionaremos la opción “NO” lo que nos llevará de vuelta al terminal.

Figura 3: Herramienta de configuración de Raspberry Pi

Una vez estemos en el terminal apagaremos nuestra Raspberry Pi con el comando “sudo shutdown -h now” y procederemos a conectar el módulo GPS a la placa. En este paso es de vital importancia asegurarnos de que conectamos el módulo a un pin de 3,3 voltios para asegurarnos de que nuestra placa no sufra daños, como en la imagen que se muestra a continuación.

Figura 4: Esquema de las conexiones del módulo GPS para Raspberry Pi

Cuando ya tengamos el módulo GPS conectado a la Raspberry Pi solo nos quedará comprobar que funcione correctamente, para ello la forma mas sencilla de hacerlo será a través del comando “sudo cat/dev/serial0”. Esto hará que se muestren en pantalla varias líneas de código (que comenzarán por $GP…) lo que significa que existe comunicación a través del puerto serie.

Para salir de esta pantalla solo hay que pulsar “CTRL+Z”. La comunicación a través del puerto serie puede verse entorpecida por el servicio “getty”, por lo tanto, si lo desactivamos nos aseguraremos de que todo funcione correctamente, para ello solo tendremos que usar los siguientes comandos: “sudo systemctl stop serial-getty@ttyS0.service” y “sudo systemctl disable serial-getty@ttyS0.service”.

Figura 6: Ejemplo de comunicación con módulo GPS

Con el módulo GPS ya integrado y funcionando solo nos queda instalar algunos módulos para poder interpretar y trabajar con la información recogida por la Raspberry Pi. Comenzaremos instalando los modulos python-serial y psutil utilizando los comandos:
  • sudo apt install python-serial
  • sudo pip install psutil
Otro de los módulos fundamentales será el de pynmea2 que es el que dará sentido a toda la información recogida por el GPS, para ello usaremos el comando:
  • sudo pip install pynmea2
Para terminar solo nos queda crear un script enfocado al uso que queramos darle a nuestra Raspberry Pi con GPS. Por ejemplo, como os comentamos hace unos días en el artículo de la Raspberry Pi Zero Dashcam, se podría añadir una función que nos indicase las coordenadas a tiempo real en nuestros videos o simplemente se podría utilizar como un localizador para nuestros vehículos en caso de robo, a nuestro drone o a cualquier otro proyecto de maker que hagas con tu Raspberry Pi.

Saludos,

Autor: Sergio Sancho, Security Researcher en Ideas Locas.

No hay comentarios:

Publicar un comentario