Ir al contenido

Tutorial de Node-RED: Cómo obtener las coordenadas GPS con un widget de mapas

GPS y GPRS TouchBerry Pi 10 y aplicaciones Node-RED
19 de mayo de 2021 por
Tutorial de Node-RED: Cómo obtener las coordenadas GPS con un widget de mapas
Boot & Work Corp. S.L, Fernandez Queralt Martinez

Introducción

Control de datos con TouchBerry Pi Panel PC 10.1"

Node-RED es una herramienta de programación para conectar dispositivos de hardware, APIs y servicios en línea de maneras nuevas e interesantes.

Ofrece un editor basado en el navegador que facilita el cableado de los flujos utilizando la amplia gama de nodos de la paleta que pueden desplegarse en su tiempo de ejecución con un solo clic.

Como es bastante fascinante de usar para proyectos de código abierto, vas a aprender cómo obtener las coordenadas GPS de tu módulo SIM7600E y ponerlas en un Widget de Google Maps en el Dashboard de Node-RED.

Enlaces relacionados

Cómo

conecta Raspberry Pi PLC al Wi-Fi

Leer 

Conceptos básicos sobre

Salidas analógicas de PLC basado en Raspberry Pi

Leer 

Cómo

programar las entradas de interrupción de un PLC de Raspberry Pi con Python

Leer 

Cómo

Encuentra tu PLC industrial que te encaje mejor

Ver 

Raspberry Pi PLC

Familia de productos

Ver 

Touchberry Pi Panel PC

Familia de productos

Ver 

Explicación 

En este blog, aprenderás cómo obtener las coordenadas GPS con un Widget de Mapa de Node-RED. Continuemos con el post siguiente:

👉 Cómo obtener la localización GPS en el Panel PC  Leer >>
 

Instalación y actualización de Node-RED

Para iniciar tu aplicación Node-RED, debes comprobar si ya tienes Node-RED instalado en tu Panel PC Industrial. Si no lo tienes ya instalado, ejecuta el siguiente comando para descargar y ejecutar el script para instalar Node.js, npm y Node-RED en una Raspberry Pi.


sudo apt install build-essential git

 bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

El script anterior:

  • Eliminará la versión preempaquetada de Node-RED y Node.js si está presente.
  • Instalará la versión LTS actual de Node.js usando NodeSource. Si detecta que Node.js ya está instalado desde NodeSource, se asegurará de que sea al menos Node 8, pero de lo contrario lo dejará como está.
  • Instalará la versión más reciente de Node-RED utilizando npm.
  • Opcionalmente, instalará una colección de nodos específicos para Pi.
  • Configurar Node-RED para que se ejecute como un servicio y proporcionar un conjunto de comandos para trabajar con el servicio


Autoinicio en el arranque

Si quieres que Node-RED se ejecute cuando se encienda o reinicie la Pi, puedes habilitar el servicio para que se inicie automáticamente ejecutando el comando:

sudo systemctl enable nodered.service

Para desactivar el servicio, ejecuta el comando:

sudo systemctl disable nodered.service

Para saber más sobre la instalación de Node-RED, consulta el siguiente enlace:  

👉 Ejecutándose en Raspberry Pi   Leer >>


GPSD

GGPSD es un daemon de monitorización que recoge información de GPS, radios DGPS diferenciales o receptores AIS conectados a la máquina anfitriona. Se espera que cada GPS, radio DGPS o receptor AIS esté conectado directamente al host a través de un dispositivo serie USB o RS232. Por lo tanto, para vincular los datos que se obtienen del puerto serie (aquí >>) en Node-RED, solo tienes que descargar algunos nodos de gpsd: node-red-contrib-gpsd

Ve al menú de la pestaña lateral > Haz clic en Manage Palette > Install > Type "gpsd" > Install the node-red-contrib-gpsd package:

GPSD


Instalar los nodos del Mapa

Ahora, vas a instalar algunos nodos para el Widget de Mapa.

Ves a Side Tab Menu > Haz clic en Manage Palette > Instala > Type "web-worldmap" > Instala el paquete node-red-contrib-web-worldmap:


Instalar los nodos del Mapa

                                 

Obtención de coordenadas GPS

Una vez instalado, escribe: gpsd en la barra de búsqueda de nodos, y arrastra y suelta el nodo Adafruit Ultimate GPS a tu flujo. Añade un nodo switch y evalúa la propiedad: msg.payload.class == (string) TPV y conéctalo a un nodo debug así

Obtención de coordenadas GPS

Verás que empezarás a recibir datos inmediatamente, cada segundo. Así que, si quieres controlar ese tiempo, solo tienes que añadir un nodo de retardo entre el nodo GPS del Adafruit Ultimate y el nodo del interruptor, con la configuración que quieras. Por ejemplo, intenta recibir 1 msg cada 5 segundos, y elimina los mensajes intermedios.


Añadir el nodo WorldMap

Una vez que obtengas todos los datos GPS, vas a añadir dos nodos de mapa mundial para que se muestren correctamente en el Dashboard:

Añadir el nodo WorldMap
Añadir el nodo WorldMap

Si miras la documentación de ayuda del nodo, el msg.payload mínimo de los nodos de mapa mundial debe contener las propiedades name, lat y lon:


E.g. { "name": "John", "lat": 41.45, "lon": 1.53 }



Editar el nodo de cambio


Conecta esto al nodo de mapa mundial como se muestra a continuación:

Nodo del mapa del mundo

Y ve a tu Dashboard para verificar tu mapa con tu ubicación! Tu flujo debería verse algo así:

[{"id":"6e545ede.d4925","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"7a97b4c5.876cfc","type":"gpsd","z":"6e545ede.d4925","name":"Adafruit Ultimate GPS","hostname":"0.0.0.0","port":"2947","tpv":true,"sky":true,"info":false,"device":true,"gst":false,"att":false,"x":140,"y":200,"wires":[["6560f5f6.c0ed8c"]]},{"id":"6560f5f6.c0ed8c","type":"switch","z":"6e545ede.d4925","name":"","property":"payload.class","propertyType":"msg","rules":[{"t":"eq","v":"TPV","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":350,"y":200,"wires":[["4d22a0bd.63dda"]]},{"id":"2cf3ed7c.bd6ad2","type":"ui_worldmap","z":"6e545ede.d4925","group":"88f77589.0122d8","order":2,"width":"14","height":"14","name":"Worldmap ","lat":"","lon":"","zoom":"","layer":"OSM grey","cluster":"","maxage":"","usermenu":"show","layers":"show","panit":"true","panlock":"false","zoomlock":"true","hiderightclick":"false","coords":"deg","showgrid":"false","allowFileDrop":"false","path":"/mapui","x":710,"y":120,"wires":[]},{"id":"4d22a0bd.63dda","type":"change","z":"6e545ede.d4925","name":"","rules":[{"t":"set","p":"payload.name","pt":"msg","to":"Worldmap","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":200,"wires":[["23b5e03.345882"]]},{"id":"23b5e03.345882","type":"worldmap","z":"6e545ede.d4925","name":"","lat":"","lon":"","zoom":"","layer":"Esri Satellite","cluster":"","maxage":"","usermenu":"show","layers":"show","panit":"false","panlock":"false","zoomlock":"false","hiderightclick":"false","coords":"none","showgrid":"false","allowFileDrop":"false","path":"/mapui","x":730,"y":200,"wires":[]},{"id":"88f77589.0122d8","type":"ui_group","name":"","tab":"c4c17961.4519f8","order":1,"disp":true,"width":15,"collapse":false},{"id":"c4c17961.4519f8","type":"ui_tab","name":"Location","icon":"dashboard","disabled":false,"hidden":false}]



Comprueba el mapa con tu ubicación


¿Quieres crear proyectos de código abierto?

Haz clic en el enlace para aprender cómo hacerlo con PLCs basados en Raspberry Pi Industrial y Arduino. ¡Nos vemos allí! :)

Buscar en nuestro blog

Tutorial de Node-RED: Cómo obtener las coordenadas GPS con un widget de mapas
Boot & Work Corp. S.L, Fernandez Queralt Martinez 19 de mayo de 2021
Compartir esta publicación

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs