Los mensajes de bajada permiten la gestión y configuración remota de dispositivos. Ejemplos de esto son los dispositivos finales que utilizan Helium como servidor de red y el protocolo de comunicación LoRaWAN.
Para reenviar mensajes desde la nube a los dispositivos finales, Helium proporciona un endpoint de API que se puede activar mediante una solicitud HTTP POST. Siguiendo esta guía, podrás enviar mensajes desde la plataforma Ubidots a un dispositivo conectado a Helium utilizando el módulo de eventos y un downlink de Helium.
Requisitos
Una cuenta de Ubidots
Una cuenta de Helium
Gateway de Helium y dispositivos que ya están transmitiendo datos a Helium y Ubidots (ver Plugins: Conectar Helium a Ubidots)
Una variable de Control dentro de tu dispositivo en Ubidots para activar el evento de bajada.
Configurar un evento de bajada en Ubidots a Helium
Las instrucciones a continuación muestran cómo usar Ubidots para generar un evento que envía un mensaje de bajada al backend de Helium, permitiéndote controlar dispositivos desde la interfaz de usuario de Ubidots.
Paso 1: Abre el módulo de eventos ubicado en el menú desplegable de Datos.
Paso 2: Crea un nuevo evento y configura la condición para que se active según los valores de la variable de control.
Paso 3: A continuación, en la sección de Acciones, crea una acción "WebHook".
Paso 4: Configura el webhook de la siguiente manera:
Método = POST
La URL que necesitas obtenerla de la integración de Helium en sí. Por ejemplo:
Ten en cuenta que deberás reemplazar "{:optional_device_id}" con el ID específico del dispositivo que deseas dirigir. Idealmente, si el evento es activado por el mismo dispositivo que deseas dirigir en Helium, entonces en lugar de "{:optional_device_id}" deberías poner el marcador de etiqueta del Dispositivo del evento de la siguiente manera.
3. En la sección del cuerpo, necesitas ingresar una carga útil de la siguiente manera:
{ "payload_raw": "SGVsbG8sIHdvcmxkIQ==", "port": 1, "confirmed": false }
Ten en cuenta que debes ingresar el puerto y payload_raw, según tus dispositivos.
NOTA IMPORTANTE: el valor de payload_raw está en formato base64. Para referencia adicional sobre el esquema JSON de bajada, consulta aquí.