Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar sensores UnaBell IoT a Ubidots
Conectar sensores UnaBell IoT a Ubidots

Aprende a conectar el botón inteligente UnaBiz a Ubidots.

Santiago Pachon Robayo avatar
Escrito por Santiago Pachon Robayo
Actualizado hace más de una semana

El UnaBell es un botón inteligente alimentado por batería que puede durar hasta 10,000 pulsaciones sin necesidad de carga. Siguiendo esta guía, podrás decodificar los datos del UnaBell para detectar y contar pulsaciones cortas/largas.

La funcionalidad del UnaBell depende de su configuración de Modo, puede ser:

  • Modo temporizador: Cuenta el número de pulsaciones cortas/largas durante un período de tiempo.

  • Modo evento: Detecta pulsaciones cortas y largas.

Requisitos

1. Entendiendo los datos

Así es como se decodifican los datos según la documentación para obtener el número de pulsaciones. Es importante tener en cuenta que la decodificación depende del modo en el que esté configurado el sensor.

1.1. Datos del modo temporizador

La siguiente estructura de carga útil es un ejemplo de los datos que se envían de Sigfox a Ubidots específicamente para un sensor UnaBell configurado para el Modo Temporizador.

{"device_id": "416A7B""data": "018b0b0a0b0b0a0202030201" }

Datos de muestra del Sensor Sigfox:

  • 0x01 - Modo Byte #0

  • 0x8b - Intervalo Byte #1

  • 0x0bPulsación corta 1/5 Byte #2

  • 0x0a - Pulsación corta 2/5 Byte #3

  • 0x0b - Pulsación corta 3/5 Byte #4

  • 0x0b - Pulsación corta 4/5 Byte #5

  • 0x0a - Pulsación corta 5/5 Byte #6

  • 0x02 - Pulsación larga 1/5 Byte #7

  • 0x02 - Pulsación larga 2/5 Byte #8

  • 0x03 - Pulsación larga 3/5 Byte #9

  • 0x02- Pulsación larga 4/5 Byte #10

  • 0x01 - Pulsación larga 5/5 Byte #11

Bytes en total: 12

NOTA: Como puedes notar, la pulsación corta y la pulsación larga tienen cinco partes de 1 byte cada una. Esto significa que en total, la pulsación corta tiene 5 bytes y lo mismo se aplica para la pulsación larga.

1.2. Datos del modo evento

La siguiente estructura de carga útil es un ejemplo de los datos que se envían de Sigfox a Ubidots específicamente para un sensor UnaBell configurado para el Modo Evento.

{"device_id": "416A7B""data": "0201", }

Datos de muestra del Sensor Sigfox: 0201

  • 0x02 - Modo Byte #0

  • 0x01 - Estado Byte #1

Bytes en total: 2

NOTA: El estado de la pulsación representa una forma de definir qué tipo de pulsación (corta o larga) fue detectada, puede ser:

  • 0x00: Pulsación corta

  • 0x01 : Pulsación larga

2. Función de decodificación en el Plugin de Sigfox

Paso 1: Ve al plugin de Sigfox y abre la opción de Decodificador.

image.png

Paso 2: Encuentra la sección de función de decodificación. Aquí es donde comenzaremos a decodificar los datos que provienen del UnaBell.

image.png

Paso 3: Copia y pega el código a continuación en el editor de código reemplazando la función decode_data().

def decode_data(hex_array):    payload = {}    status = hex_array[0]      if status == 0 or status == 4:        voltage = (int(hex_array[1:3].hex(), 16))/1000        payload["voltage"] = voltage    elif status == 1:        payload["short_press"] = int(hex_array[2:7].hex(), 16)        payload["long_press"] = int(hex_array[7:12].hex(), 16)    elif status == 2:        payload["state"] = int(hex_array[1:2].hex(), 16)    return payload

Guarda el código haciendo clic en el botón "SALVAR & HACER VIVO".

Otros usuarios también encontraron útil...

¿Ha quedado contestada tu pregunta?