Introducción
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
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
Ve al menú de la pestaña lateral > Haz clic en Manage Palette > Install > Type "gpsd" > Install the node-red-contrib-gpsd package:
.jpg?access_token=375d4233-2c89-4153-914b-16f328edc367)
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:

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:


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 }
Conecta esto al nodo de mapa mundial como se muestra a continuación:
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}]