Primero necesitamos crear una cuenta en Ubidots. Ir al siguiente link:
https://stem.ubidots.com/accounts/signin/
y seleccionar Ubidots STEM. Seguir los pasos hasta crear nuestra cuenta. Una vez accedemos, tendremos el panel principal
Para conectar nuestros dispositivos Sigfox, debemos crear un conector, para esto ir a la pestaña DEVICES y despues PLUGINS
Seleccionamos CREATE DATA PLUGIN
ahora escogemos el plugin de SIGFOX
despues nos apareceran las instrucciones para la configuraion del callback. Damos clic en siguiente
en la seccion de "Ubidots Token", hacemos clic y seleccionaremos DEFAULT TOKEN. Damos clic en siguiente
Podemos cambiar el nombre y descripcion de nuestro plugin. Damos clic en finalizar
Una vez terminado, veremos nuestro plugin.
Damos clic sobre nuestro plugin e iremos a la pestaña DECODER. Alli veremos la URL que necesitamos copiar para la configuracion del callback
Para la configuracion del callback, vamos a nuestra cuenta de backend, en la pestaña DEVICE y damos clic en el ID de nuestro dispositivo o tarjeta
nos aparecerá la información de nuestro dispositivo. Hacemos clic en el nombre que apararece en la parte de "Device type"
Nos aparecerá la informacion del device type y en la seccion del lado izquierdo, en la pestaña de CALLBACKS y despues en la parte superior derecha en la opcion NEW
Seleccionamos CUSTOM CALLBACK
Ahora debemos configurar el callback.
-
Pegamos la URL que obtuvimos de ubidots
-
Seleccionamos POST como metodo http
-
Escribimos "application/json" en el content type
-
Pegamos el siguiente json en el body
{ "device_id" : "{device}", "data" : "{data}" }
damos clic en OK y si no hay ningun error, veremos nuestro callback creado
para comprobar que no hay ningun error, esperamos a que nuestro dispositivo transmita un nuevo mensaje. Si todo estuvo bien, el estatus del callback se pondrá de color verde, indicando que el dato se entregó correctamente a Ubidots
tambien podemos corroborarlo llendo a nuestra cuenta de ubidots, en nuestro plugin, en la pestaña LOGS, donde veremos los datos del mensaje o mensajes enviados despues de la creacion del callback
enseguida, si vamos a la pestaña de DEVICES, veremos que se creó un dispositivo con el ID de nuestra tarjeta o dispositivo
si hacemos clic sobre el dispositivo, este no tendrá ninguna variable. Esto es porque falta agregar codigo en Python para la decodificacion del dato en hexadecimal de los mensajes
Para ello, vamos a nuestro plugin, en la pestaña DECODER y en la seccion DECODING FUNCTION debemos realizar la decodificacion de los datos contenidos en cada mensaje
En este ejemplo, cada mensaje contiene 4 variables con el siguiente orden y formatos:
- latitud
- tamaño : 4 bytes
- tipo : flotante
- endianness: little endian
- longitud
- tamaño : 4 bytes
- tipo : flotante
- endianness: little endian
- temperatura
- tamaño : 1 byte
- tipo : entero sin signo
- bateria
- tamaño : 1 byte
- tipo : entero sin signo
considerando lo anterior, tenemos el codigo siguiente
(codigo)[https://github.com/Iotnet/Callback-Ubidots/blob/main/codigo%20ejemplo]
(dependiendo de la estructura de los mensajes, cambia el código requerido para la decodificación)
Ponemos nuestro codigo y damos clic en SAVE & MAKE LIVE para guardar los cambios
para probar nuestro codigo, podemos ir a los mensajes de nuestro dispositivo, dar clic en el icono de estatus de callback en uno de los mensajes y copiar el json con los datos
una vez copiamos el json, lo pegamos en el recuadro de TEST PAYLOAD y damos clic en TEST RUN
enseguida aparecerá la consola y comenzara a correr nuestro codigo. Despues de unos segundos, si nuestro codigo es correcto, veremos en el recuadro de LOG, las variables y sus valores, asi como la leyenda "Response [200]", lo que indica que las variables se guardaron en el dispositivo exitosamente. Igualmente, del lado izquierdo veremos la confirmacion de cada variable con la respuesta 201
Ahora si regresamos al dispositivo dentro de Ubidots, veremos las variables que se crearon por medio del codigo
Si seleccionamos alguna de ellas, veremos los datos de los mensajes que se han recibido
Ahora que los datos se estaran almacenando dentro del dispositivo en Ubidots, es necesario crear el dashboard donde mostrar la informacion. Para esto debemos ir a la pestaña DATA y despues a DASHBOARDS
seleccionamos ADD NEW DASHBOARD
nos aparecerá un recuadro donde podremos configurar varias opciones de visualizacion del dashboard. UNa vez terminamos, damos clic en finalizar
posteriormente ya podremos agregar los widgets como mapas, graficas, indicadores, etc. para mostrar la informacion de nuestro dispositivo
Adicionalmente, podemos descargar la aplicacion de Ubidots para nuestro celular y poder visualizar nuestro dashboard































