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

Aprende a conectar el sensor de movimiento PIR de UnaBiz a Ubidots.

Santiago Pachon Robayo avatar
Escrito por Santiago Pachon Robayo
Actualizado hace más de 3 meses

Siguiendo esta guía, podrás decodificar los datos del sensor UnaMotion para contar y detectar el movimiento humano dentro de su alcance de monitoreo.

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

  • Modo temporizador: Contar el número de movimientos humanos durante un período de tiempo.

  • Modo de evento: Detectar movimiento humano.

Requisitos

1. Entendiendo los datos

Así es como se están decodificando los datos según la documentación para contar el número de movimientos o detectar movimiento. Es importante tener en cuenta que la decodificación depende del modo en el que el sensor está configurado.

1.1. Datos del modo temporizador

La siguiente estructura de carga útil es un ejemplo de los datos enviados desde Sigfox a Ubidots específicamente para un sensor UnaMotion configurado para el Modo Temporizador.

{"device_id": "41DAD4""data": "018b05050707050605060102", }

Datos de muestra del sensor Sigfox: 018b05050707050605060102

  • 0x01 - Modo Byte #0

  • 0x8b - Intervalo Byte #1

  • 0x05 - Movimiento 1/10 Byte #2

  • 0x05 - Movimiento 2/10 Byte #3

  • 0x07 - Movimiento 3/10 Byte #4

  • 0x07 - Movimiento 4/10 Byte #5

  • 0x05 - Movimiento 5/10 Byte #6

  • 0x06 - Movimiento 6/10 Byte #7

  • 0x05 - Movimiento 7/10 Byte #8

  • 0x06 - Movimiento 8/10 Byte #9

  • 0x01 - Movimiento 9/10 Byte #10

  • 0x02 - Movimiento 10/10 Byte #11

Bytes en total: 12

1.2. Datos del modo de evento

La siguiente estructura de carga útil es un ejemplo de los datos enviados desde Sigfox a Ubidots específicamente para un sensor UnaMotion configurado para el Modo de Evento.

{"device_id": "41DAD4""data": "0201", }

Datos de muestra del sensor Sigfox: 0201

  • 0x02 - Modo Byte #0

  • 0x01 - Estado Byte #1

Bytes en total: 2

NOTA: El byte de estado representa una forma de detectar movimiento, puede ser:

  • 0x00 : No se detectó movimiento

  • 0x01: Movimiento detectado

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 UnaMotion.


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["motion_count"] = int(hex_array[2: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 "GUARDAR & HACER VIVO".

Otros usuarios también encontraron útil...

¿Ha quedado contestada tu pregunta?