Implementando OpenRemote en reComputer R1x Gestionar Dispositivos IoT en el Edge
Introducción
OpenRemote es una plataforma IoT de código abierto diseñada para simplificar la conexión y gestión de dispositivos en red. En el corazón del sistema está el Manager, una aplicación Java sin interfaz gráfica que actúa como un broker de contexto IoT, capturando y gestionando los estados de los activos en tiempo real. A través del modelado dinámico de activos, puede representar varios componentes de su entorno—como edificios, habitaciones y sensores—adaptándolo a sus necesidades específicas. Las reglas escritas en Groovy, JavaScript o JSON desencadenan acciones basadas en cambios de estado de activos o secuencias de eventos. Estas reglas pueden, por ejemplo, notificar a los usuarios cuando se cumplen ciertos umbrales, como cuando la humedad aumenta en una habitación. La plataforma soporta dispositivos en red a través de Agents, que interfaz con APIs de terceros y protocolos de servicio, y pueden estar co-ubicados con el manager o instalados en gateways edge. Al implementar OpenRemote en dispositivos Recomputer R1000 y R1100 alimentados por Raspberry Pi, puede gestionar su ecosistema IoT en el edge, proporcionando control eficiente y localizado sobre sus dispositivos.
Instalando Docker y Docker-Compose
Siga estos pasos para instalar Docker y Docker-Compose en su sistema Ubuntu:
1. Actualizar Paquetes del Sistema
Primero, actualice la lista de paquetes y actualice los paquetes instalados para asegurar que su sistema esté actualizado.
sudo apt update
sudo apt upgrade
2. Instalar Docker
A continuación, descargue e instale Docker usando el script de instalación oficial. Esto instalará automáticamente Docker y todas sus dependencias.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
3. Agregar su Usuario al Grupo Docker
Por defecto, Docker requiere privilegios de root. Para ejecutar comandos Docker sin sudo
, agregue su usuario al grupo Docker:
sudo usermod -aG docker ${USER}
Después de ejecutar este comando, cierre sesión y vuelva a iniciar sesión, o reinicie su sistema para que los cambios surtan efecto.
4. Reiniciar Sistema
Reinicie su sistema para asegurar que los cambios surtan efecto y su usuario sea agregado al grupo Docker.
sudo reboot
5. Probar Instalación de Docker
Después de reiniciar, verifique la instalación de Docker ejecutando la imagen hello-world
, que confirmará que Docker está funcionando correctamente.
docker run hello-world
6. Instalar Docker-Compose
Finalmente, instale Docker-Compose, que es una herramienta para definir y ejecutar aplicaciones Docker multi-contenedor. Para instalarlo, ejecute:
sudo apt install docker-compose
Instalando OpenRemote en Recomputer R1000 / R1100
1. Descargar el Archivo Docker Compose
Obtenga el archivo oficial docker-compose.yml
directamente del repositorio de OpenRemote:
wget https://raw.githubusercontent.com/openremote/openremote/master/docker-compose.yml
2. Navegar al Directorio
Cambie al directorio donde se encuentra el archivo YAML:
cd /path/to/yaml
3. Descargar Imágenes Docker
Descargue las imágenes Docker requeridas:
docker-compose pull
4. Iniciar OpenRemote
Ejecute OpenRemote usando Docker Compose:
docker-compose -p openremote up
Esto lanzará el OpenRemote Manager y los servicios de soporte.
5. Acceder a OpenRemote
Una vez iniciado, puede iniciar sesión en el OpenRemote Manager con las credenciales predeterminadas:
- Username:
admin
- Password:
secret
Ahora tiene OpenRemote ejecutándose en su Recomputer R1000 / R1100 como una plataforma IoT edge para gestionar y controlar sus dispositivos conectados.
Trabajando con Protocolo HTTP
Siga estos pasos para integrar la API de OpenWeatherMap con OpenRemote en su Recomputer R1000 / R1100. Esta guía cubre cómo crear un Agent para los datos meteorológicos, vincularlo a un activo y configurar la configuración.
Obtener Clave API de OpenWeatherMap
Para usar la API de OpenWeatherMap, necesita una clave API gratuita. Regístrese para una cuenta gratuita en OpenWeatherMap y obtenga su clave API.
Crear el Agent
Crear el HTTP API Agent
- Navegue a la página Assets.
- Haga clic en el icono + en la parte superior de la lista de activos a la izquierda para agregar un nuevo Agent o Asset.
- En el diálogo que aparece, seleccione HTTP Agent de la lista.
- Name:
HTTP API Agent
- Haga clic en Add.
El agent ahora está creado con atributos preconfigurados. Necesitará configurarlo para conectarse a la API de OpenWeatherMap.
Configurar el HTTP API Agent
Ahora que el HTTP API Agent está creado, configúrelo con los siguientes detalles:
-
Base URI:
https://api.openweathermap.org/data/2.5/
(No olvide enviar el valor haciendo clic en el botón send a la derecha o presionando Enter.) -
Request Query Parameters:
Ingrese la clave API de su cuenta de OpenWeatherMap y configure los parámetros como sigue:
{
"appid": ["YOUR_API_KEY"],
"q": ["Rotterdam,nl"],
"units": ["metric"]
}
Haga clic en Save para confirmar la configuración.
Crear el Weather Asset
Agregar un Nuevo Weather Asset
- Haga clic en el icono + para agregar un activo.
- Seleccione Weather Asset de la lista.
- Name:
Weather Rotterdam
- Haga clic en Add.
El weather asset ahora aparecerá en la lista como hijo del HTTP API Agent. Puede cambiar su padre si lo desea.
Agregar los Agent Links
Modificar Configuración del Asset Vaya al Modify Mode haciendo clic en el interruptor en la parte superior de la página del activo. En este modo, puede alterar los atributos de un activo y configurar sus ajustes.
Configurar el Atributo Humidity
-
Expanda el atributo humidity.
-
Haga clic en Add configuration item y seleccione Agent link.
-
Seleccione el HTTP API Agent.
-
Agregue los siguientes parámetros:
- Polling millis:
60000
(sondear cada minuto) - Path:
weather
- Value filters:
JsonPathFilter-2
- Path (JSON):
$.main.humidity
- Polling millis:
Configurar el Atributo Temperature:
-
Expanda el atributo temperature.
-
Haga clic en Add configuration item y seleccione Agent link.
-
Seleccione el HTTP API Agent.
-
Agregue los siguientes parámetros:
- Polling millis:
60000
(sondear cada minuto) - Path:
weather
- Value filters:
JsonPathFilter-2
- Path (JSON):
$.main.temp
- Polling millis:
Haga clic en Save en la parte superior derecha para aplicar estos cambios.
Ver Datos Meteorológicos en Vivo
Una vez que haya agregado los atributos, cambie al View Mode para ver los datos meteorológicos en vivo. Ahora tiene la temperatura y humedad actual para Rotterdam vinculadas al weather asset.
MQTT Agent con Integración de ChirpStack LoRaWAN Gateway
Este tutorial le guiará a través del proceso de integrar un MQTT Agent con ChirpStack y configurarlo en su manager OpenRemote para uso con dispositivos como el Dragino LHT65 y sensores SenseCap S210x. Antes de proceder, asegúrese de haber instalado ChirpStack en su dispositivo ReComputer R1X y emparejado un dispositivo (ej., SenseCap S210X). Para detalles de instalación de ChirpStack, consulte la guía oficial ChirpStack LoRa Gateway on ReComputer R1X.
Prerrequisitos
- OpenRemote Manager UI ejecutándose.
- ChirpStack LoRaWAN Gateway instalado en su dispositivo ReComputer R1X.
- Un dispositivo LoRaWAN SenseCap S210X.
Crear el OpenRemote MQTT Agent
-
Iniciar sesión en el OpenRemote Manager UI:
Abra su navegador y vaya al OpenRemote Manager UI -
Navegar a la Página Assets:
En el lado izquierdo de la página, haga clic en la pestaña Assets. -
Crear un nuevo MQTT Agent:
- Haga clic en el botón + en el árbol de activos a la izquierda.
- En el diálogo Add asset, seleccione MQTT Agent de la lista de tipos de activos.
- Nombre el activo ChirpStack MQTT Agent.
- Haga clic en ADD para crear el activo.
- Configurar el MQTT Agent:
- Haga clic en Modify para editar la configuración del activo.
- Configure los siguientes atributos:
- Host: La dirección IP de su servidor ChirpStack (ej.,
10.0.0.208
). - Port:
1883
(puerto MQTT predeterminado).
- Host: La dirección IP de su servidor ChirpStack (ej.,
- Haga clic en SAVE para guardar sus cambios.
Crear el OpenRemote LoRaWAN Device Asset
- Agregar un nuevo LoRaWAN Device:
- En la página Assets, haga clic en + en el árbol de activos a la izquierda.
- En el diálogo Add asset, seleccione Thing Asset.
- Nombre el activo S2101 (o el nombre específico de su dispositivo).
- Haga clic en ADD para crear el activo.
-
Modificar el Asset del Dispositivo:
- Haz clic en Modify para editar la configuración del asset.
-
Agregar un Atributo Personalizado para Temperatura:
- Haz clic en ADD ATTRIBUTE para agregar un nuevo atributo.
- En el diálogo Add attribute, configura lo siguiente:
- Type: Custom attribute
- Name: Temperature
- Value type: Number
- Haz clic en ADD para guardar el atributo.
- Agregar Elementos de Configuración para MQTT Agent:
- Expande el atributo Temperature y haz clic en ADD CONFIGURATION ITEMS.
- En el diálogo Add configuration items, configura como sigue:
- Select: Agent link
- Haz clic en ADD para crear el enlace al MQTT Agent.
- Expande el elemento de configuración Agent link y establece el Agent ID:
- Agent ID: ChirpStack MQTT Agent.
- Haz clic en ADD para guardar el enlace del Agent.
Configurar Suscripción MQTT para Datos del Sensor
-
Agregar un Parámetro para el Tópico MQTT:
- Haz clic en ADD PARAMETER para agregar un nuevo elemento de configuración.
- En el diálogo Add parameter, selecciona Subscription Topic y haz clic en ADD.
-
Configurar el Tópico de Suscripción MQTT:
- Edita el campo Subscription Topic con el siguiente formato de tópico MQTT de ChirpStack:
application/+/device/+/event/up
- Este tópico se suscribirá a los datos entrantes del sensor desde el dispositivo LoRaWAN.
- Edita el campo Subscription Topic con el siguiente formato de tópico MQTT de ChirpStack:
-
Agregar Filtros de Valor:
- Haz clic en ADD para agregar un nuevo parámetro Value Filters.
- Expande la sección Value Filters y haz clic en ADD ITEM.
- En el diálogo Add item, selecciona JSON Path y haz clic en ADD.
-
Configurar la Ruta JSON para Datos del Sensor:
- Expande el elemento JSON Path recién creado y establece el Path a:
$.object.messages[?(@.measurementId==4097)].measurementValue
- Este es un ejemplo para el decodificador de datos SenseCap S2101. Ajusta la ruta según sea necesario para tu dispositivo específico.
- Habilita la opción Return First.
- Expande el elemento JSON Path recién creado y establece el Path a:
-
Guardar Configuración:
- Una vez que todas las configuraciones estén establecidas, haz clic en SAVE para finalizar la configuración.
Probar la Integración
-
Verificar la Comunicación MQTT:
Asegúrate de que el MQTT Agent esté conectado al servidor ChirpStack y que el tópicoapplication/+/device/+/event/up
esté recibiendo datos. -
Monitorear la Temperatura:
El SenseCap S2101 (o tu dispositivo configurado) ahora debería enviar lecturas de temperatura, y el administrador de OpenRemote mostrará estos valores bajo el atributo Temperature.
Soporte Técnico y Discusión del Producto
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.