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 mayo, 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

 

 



Node-RED es una herramienta de programación para conectar dispositivos de hardware, APIs y servicios online de formas 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 interesante su uso 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 Node-RED Dashboard.

TouchBerry Pi 10

Enlaces relacionados

Cómo conectar
un Raspberry PLC industrial al Wi-Fi


Conceptos básicos sobre salidas analógicas
del PLC industrial Raspberry

Leer >>


Cómo encontrar
mi PLC industrial ideal


Leer >>

Cómo programar en Python las entradas de
interrupción del PLC industrial Raspberry

Leer >>

Familia de productos
Touchberry Pi

Leer >>

Familia de productos
Touchberry Pi

Leer >>

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 pre-empaquetada de Node-RED y Node.js si está presente.

  • Instalará la versión actual de Node.js LTS utilizando el NodeSource. Si detecta que Node.js ya está instalado desde NodeSource, se asegurará de que sea al menos Node 8, pero en caso contrario lo dejará solo.

  • Instala la última versión de Node-RED usando npm.

  • Opcionalmente, instal una colección de nodos útiles específicos de Pi.

  • Configure Node-RED para que se ejecute como un servicio y proporcione un conjunto de comandos para trabajar con el servicio.


Autoinicio en el arranque


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

sudo systemctl enable nodered.service

Para desactivar el servicio, ejecute el comando:

sudo systemctl disable nodered.service

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

👉 Ejecutando 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 (Mira cómo aquí >>) a Node-RED, solo tienes que descargar algunos nodos gpsd: node-red-contrib-gpsd

Ve al menú de la pestaña lateral > Haz clic en Gestionar paleta > Instalar > Escribe  "gpsd" > Instala el paquete node-red-contrib-gpsd :

GPSD
















Instalar los nodos del Mapa


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

Ve al menú de la pestaña lateral > Haz clic en Gestionar Paleta > Instala > Escribe "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 de filtrado, 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 tengas todos los datos del GPS, vas a añadir dos nodos del mapa del mundo para que se muestren en el Dashboard correctamente:


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

Si echas un vistazo a la documentación de ayuda de los nodos, el msg.payload mínimo de los nodos del mapa del mundo, debe contener las propiedades name, lat and lo.


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


Así que, como ya obtienes las propiedades lat y lon del GPS, necesitas el msg.payload.name.  Por lo tanto, vamos a añadir un nodo de cambio, y establecer msg.payload.name a "Worldmap" (o cualquier nombre):

Editar el nodo de cambio


Conecta esto al nodo del mapa del mundo como se muestra a continuación:

Nodo del mapa del mundo

Y ve a tu panel de control para comprobar tu mapa con tu ubicación. Tu flujo debería ser 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 superior para aprender a hacerlo con el PLC industrial Raspberry Pi y los PLCs basados en Arduino. ¡Nos vemos allí! :)

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

¿En busca de tu PLC 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 PLC industrial >>

¿Quieres más información?

¡Rellena el formulario!

Tell me more!