Creación de una aplicación para la lectura de datos gps utilizando una raspberry pi 3, con un módulo GPS GY-NEO-6Mv2
- Raspberry Pi 3 B+
- Raspbian Strech. En este caso se ha instalado utilizando Noobs. Puedes descargarlo desde aquí.
- Python 2.7
- Es necesario la instalación de la librería pynmea2:
pip install pynmea2
En primer lugar, procederemos a clonar el proyecto en la carpeta /home/pi/GPS
Una vez realizado esto, deberemos acceder al archivo de configuración de la raspberry y deberemos habilitar puerto serie y deshabiltar el acceso serial por consola
Para poder controlar el dispositivo de forma remota podemos utilizar algún servicio de DDNS. En este caso, hemos utilizado NO-IP, siguiendo las indicaciones del enlace: Configurar No-Ip
Para que se inicialice automáticamente la lectura de datos, crearemos un script que lance automáticamente la aplicación. Para ello, ejecutamos el siguiente comando. Esto nos crea un documento en la ruta /etc/init.d/ llamado "gps-ini"
sudo nano /etc/init.d/gps-init
Dentro del archivo copiamos el siguiente código:
#! /bin/sh
# /etc/init.d/detector-init
### BEGIN INIT INFO
# Provides:----------gps-init
# Required-Start:----$all
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Inicio automático GPS
# Description: Script para arrancar el lector de gps
### END INIT INFO
# Dependiendo de los parámetros que se le pasen al programa se usa una opción u otra
case "$1" in
start)
echo "Arrancando gps-init"
# Aquí hay que poner el programa que quieras arrancar automáticamente
sh /home/pi/GPS/iniciar_gps.sh
;;
stop)
echo "Deteniendo gps-init"
;;
*)
echo "Modo de uso: /etc/init.d/gps-init {start|stop}"
exit 1
;;
esac
exit 0
Hacemos el script ejecutable con el siguiente comando:
sudo chmod +x /etc/init.d/gps-init
Activamos el arranque automático:
sudo update-rc.d detector-init defaults
Reiniciamos la Raspberry y verificamos que el servicio se ha iniciado correctamente con el comando:
sudo service gps-init status
Cómo ejecutar scripts al iniciar la Raspberry.
El dispositivo está pensado para instalarlo en un vehículo perteneciente a una flota, por lo que, para identificarlo más facilmente se asigna la matrícula del vehículo como hostname de la Raspberry Pi. Para ello en primer lugar ejecutamos el código
sudo nano /etc/hosts
y modificamos la línea que dice “127.0.1.1 raspberrypi”.
Guardamos los cambios y a continuación ejecutamos el comando:
sudo nano /etc/hostname
Guardamos nuevamente los cambios y ya disponemos de la matrícula del vehículo asociada al dispositivo GPS