Requisitos
Una cuenta activa de Ubidots
Una cuenta activa en la consola TTS
Un teléfono celular que soporte Google Play Store o AppStore, así como Bluetooth.
1. Instalar la aplicación SenseCAP Mate y configurar el rastreador
Escanea el siguiente código QR. Te llevará a la página oficial de descarga de la aplicación SenseCAP Mate de Seeed Studio.
Una vez instalada, activa el Bluetooth en tu celular y lanza la aplicación. Si no tienes una cuenta, tendrás que registrarte para usar la aplicación.
Después de eso, presiona y mantén presionado el botón del rastreador durante al menos 3 segundos o hasta que el LED comience a parpadear. Luego, de la lista de dispositivos, selecciona Tracker T1000
Toca tu dispositivo:
Ve a la pestaña configuración y luego a la pestaña LoRa. Allí selecciona como plataforma Helium y selecciona el plan de frecuencia de acuerdo a tus requisitos, además, asegúrate de copiar el Device EUI, APP EUI y APP Key ya que lo necesitarás en pasos posteriores. Una vez terminado, toca el botón Enviar para guardar la configuración.
2. Registrar el rastreador en TTS LNS
Inicia sesión en tu consola TTN y ve a tus aplicaciones, luego, crea o selecciona la aplicación en la que deseas colocar el dispositivo y haz clic en +Agregar dispositivo final:
Selecciona Ingresar detalles del dispositivo final manualmente en la sección Método de entrada y luego selecciona la configuración como Plan de frecuencia, versión de LoRaWAN, etc. de acuerdo a tu configuración/requisitos.
Después de llenar el JoinEUI( anteriormente APPEUI) Registrar dispositivo final :
Después de completar este paso, tu dispositivo ya estará registrado en TTS LNS.
3. Configurar el formateador de Payload
Ve a Formateadores de Payload->Uplink. Luego, en el menú desplegable etiquetado como Tipo de formateador, selecciona Formateador Javascript personalizado y pega el decodificador oficial para este dispositivo proporcionado por Seeed Studio. Después de pegar el decodificador, desplázate hacia abajo y presiona el botón Guardar cambios .
4. Crear el Plugin y Decodificador de Ubidots
Ve a tu cuenta de Ubidots en la sección Dispositivos y haz clic en Plugins, luego crea un nuevo plugin de The Things Stack :
Completa los campos requeridos para crear el plugin, como el tipo de dispositivo Ubidots y el Token de Ubidots. Una vez creado el plugin, ve a la sección del decodificador, elimina todo el código y reemplázalo por el siguiente:
const HOTSPOT_INFO = false;function handleErrorIfExists(data){ const error = 'error' in data; if (error) { const errorMsg = { "error": { "value": data.errorCode, "context" : { "reason": data.error } } }; return errorMsg; } return false;}function addLat(lat, ubidotsPayload){ ubidotsPayload.position.context.lat = lat;}function addLng(lng, ubidotsPayload){ ubidotsPayload.position.context.lng = lng;}const coordinateActions = { "Longitude": addLng, "Latitude": addLat,}const assignPayloadKeys = (data, ubidotsPayload) => { const { type, measurementValue } = data; if (type === "Longitude" || type === "Latitude") { if (!ubidotsPayload.position) { ubidotsPayload.position = { "value": 1, "context": { "lat": undefined, "lng": undefined } }; } coordinateActions[type](measurementValue, ubidotsPayload); } else if (data.type === "Timestamp") { ubidotsPayload.timestamp = data.measurementValue; } else { ubidotsPayload[type] = measurementValue; }};function buildUbidotsPayload(data){ const ubidotsPayload = {}; data.forEach(innerData => { innerData.forEach(innerInnerData => { assignPayloadKeys(innerInnerData, ubidotsPayload); }); }); return ubidotsPayload;}async function formatPayload(args){ const data = args.uplink_message.decoded_payload.messages; let ubidotsPayload = {}; const error = handleErrorIfExists(data[0][0]); if (error) return error; if (HOTSPOT_INFO) { const { hotspots, port, fcnt } = args; const { snr, rssi } = hotspots[0]; Object.assign(ubidotsPayload, { SNR: snr, RSSI: rssi, port, 'Frame Counter': fcnt }); } ubidotsPayload = buildUbidotsPayload(data); console.log(ubidotsPayload); return ubidotsPayload;};module.exports = { formatPayload };
5. Conectar la integración a Ubidots
Ve a la aplicación creada en TTN y haz clic en Integraciones en el lado izquierdo de la pantalla. Luego, haz clic en Webhooks y luego en +Agregar webhook:
Busca el webhook de Ubidots entre los diferentes socios:
Edita la siguiente configuración:
Webhook ID: establece un nombre significativo, debe ser solo en minúsculas
Plugin ID: es la última porción de la “URL de Endpoint HTTPs” de tu plugin de Ubidots después de la “/” Por ejemplo, si la URL de tu endpoint es “https://dataplugin.ubidots.com/api/web-hook/lN4s2dlb4IgPgpp4Xeoq02stXcE=” entonces tu ID de plugin es “lN4s2dlb4IgPgpp4Xeoq02stXcE=”
Ubidots Token: tu Token de Ubidots.
Desplázate hacia abajo hasta el botón “Crear webhook de Ubidots” y haz clic en él.
Después de completar este paso, los datos deberían estar llegando al plugin de Ubidots así como al dispositivo.