Registrando su Dispositivo con Sigfox
Para enviar un mensaje de Sigfox, necesitará registrar su Dispositivo en el Backend de Sigfox. Navegue a https://backend.sigfox.com/activate y encontrará una lista de kits de desarrollo habilitados para Sigfox, elija su kit para continuar.
A continuación, necesitará elegir un Operador de Sigfox para el país en el que activará su Dispositivo. Encuentre su país y seleccione el operador para continuar.
Una vez que su dispositivo esté registrado en el backend de Sigfox, debería verlo en la sección de Dispositivo como se muestra en la imagen a continuación:
Configurando el callback de Sigfox a la Nube de Ubidots
La gestión de los datos entre Sigfox y Ubidots se realiza a través de un "Callback". El dispositivo Sigfox se encargará de leer los sensores y enviar los valores a Sigfox, el mensaje se decodificará utilizando la configuración de carga útil personalizada en las configuraciones de callback para construir la solicitud para enviar el mensaje a Ubidots.
Ahora es el momento de configurar el callback. Vaya a la sección de Dispositivo y haga clic en el dispositivo registrado:
A continuación, verifique la información de su dispositivo y seleccione "CALLBACKS" en el menú a la izquierda de la página, como puede ver a continuación:
Los callbacks de Sigfox le permiten informar datos a un sistema externo como Ubidots. Para configurar un callback a la API de Ubidots, use estos parámetros:
Tipo:
DATA
-UPLINK
Canal:
URL
Configuración de carga útil personalizada:
temperature::float:32:little-endian pressure::uint:8
Patrón de URL:
https://industrial.api.ubidots.com/api/v1.6/devices/{device}/
Usar método HTTP:
POST
Enviar SNI: Marcado
Encabezados:
x-auth-token
-Su Token de Ubidots
Tipo de Contenido:
application/json
Cuerpo:
{ "position":{"value":0,"context":{"lat":"{lat}","lng":"{lng}"}}, "temperature" : {"value":"{customData#temperature}"}, "pressure" : {"value":"{customData#pressure}"}}
NOTA IMPORTANTE: El campo "configuración de carga útil personalizada" le permite especificar cómo le gustaría que Sigfox decodificara la carga útil de su dispositivo. Por ejemplo, puede desear decodificar un byte entrante como un entero sin signo. Un ejemplo de esto es la primera línea del ejemplo a continuación:
int1::uint:8 // Entero sin signo de 8 bits con nombre int1str::char:6 // Cadena de caracteres de 6 letras con nombre strb1::bool:7 // Booleano basado en el valor del bit en la posición 7 con nombre b1
Donde "int1" es el nombre del valor, "uint:8" especifica el tipo de dato y el número de bits, respectivamente. Para saber más sobre cómo construir la configuración de carga útil personalizada, consulte la documentación de sigfox presionando el ícono de pregunta para mostrar ayuda.
La carga útil de Sigfox decodificará el mensaje y se recibirá en el lado de Ubidots sin importar el formato utilizado en él, pero tenga en cuenta que debe establecer el mismo formato en el código de su dispositivo porque, de lo contrario, los datos no serán recibidos por Sigfox. Para verificar si el mensaje se recibió en Sigfox, vaya a la sección de Dispositivo, luego seleccione el ID del dispositivo:
A continuación, en el menú de la izquierda seleccione "mensaje" para visualizar los mensajes recibidos:
Tenga en cuenta que el "customData#..." del campo cuerpo contendrá la información real del sensor, en el ejemplo mostrado como "temperature" y "pressure". Si desea enviar más valores, debe asignarlos en la configuración de carga útil personalizada, luego asignarlos en el cuerpo siguiendo la misma estructura.
Siguiendo esta guía, configuramos dos variables "temperature" como float y "pressure" como uint; Puede usar el formato que desee, pero tenga en cuenta que el dispositivo debe enviar los valores utilizando el mismo formato asignado por usted en la configuración de carga útil personalizada.
La temperatura está configurada como "float" que puede ser de 16, 32 o 64 bits, opcionalmente el endianness para floats de múltiples bytes, y opcionalmente el desplazamiento de bits donde comenzar la lectura del primer byte. Dependiendo de los bits que asigne, podrá enviar 2 valores (16 bits) y 4 valores (32 bits)
temperature::float:32:little-endian
La presión está configurada como "uint", los parámetros son el número de bits a incluir en el valor, opcionalmente el endianness para enteros de múltiples bytes, y opcionalmente el desplazamiento de bits donde comenzar la lectura del primer byte. Con esta configuración podrá enviar 12 valores.
pressure::uint:8
NOTA: Para saber más sobre cómo construir la configuración de carga útil personalizada, consulte la documentación de sigfox presionando el ícono de pregunta para mostrar ayuda.
Después de configurar el callback, debería verse así:
Una vez que verifique el callback, presione "OK". Ahora su callback está listo y habilitado para publicar en la Nube de Ubidots.
NOTA IMPORTANTE DE DESPLIEGUE: Ubidots y Sigfox se comunican a través de URL o Batch URL (utilizado para grandes despliegues). Este tutorial explica el canal estándar de URL. Si tiene una red de sensores a gran escala, comuníquese con sales@ubidots.com para recibir información adicional sobre integraciones de Batch URL.
¡Ahora es el momento de programar su dispositivo! El equipo de Ubidots le proporciona este artículo para comenzar con la Sipy Board:
Una vez que su dispositivo esté listo, vaya a su cuenta de Ubidots para visualizar el nuevo dispositivo creado con las variables.
Tenga en cuenta que la "Etiqueta de API" será la misma que el campo {device} de Sigfox.
NOTA IMPORTANTE: Si desea devolver los mensajes del dispositivo donde al menos un callback ha fallado, consulte la API de Sigfox para saber cómo implementarlo.
Resultado
Ahora es el momento de crear un dashboard para controlar y gestionar las variables de su dispositivo Sigfox. Para aprender más sobre los widgets y eventos de Ubidots, consulte estos tutoriales en video.