El Gateway Telemático IoT Syrus (Syrus 4G) ofrece una solución de productividad de flotas y gestión de activos de próxima generación, desarrollada por Digital Communications Technologies (DCT), un proveedor mundial de dispositivos de infraestructura física inalámbrica para la gestión de activos móviles con inteligencia procesable completamente gestionada a través de APIs.
Requisitos
1. Configuración del Gateway Telemático IoT Syrus 4G
NOTA: Por favor asegúrate de tener la última versión de Apex OS
Paso 1: Prepara tu sistema:
Ve a la Herramienta de Gestión (http://192.168.9.2 si estás a través de un cable USB), selecciona Sistema y confirma que estás actualizado.
Ahora ve a Administrador de Aplicaciones y verifica si hay actualizaciones y asegúrate de tener instalada la última versión de la aplicación SyrusJS:
Paso 2: Crea una instancia:
En el administrador de aplicaciones despliega el menú de SyrusJS, esto te mostrará todas las versiones instaladas de la aplicación, selecciona la más reciente y crea una nueva instancia:
Nombra tu instancia y selecciona el botón Crear Instancia:
Ahora tienes tu instancia creada:
Paso 3: Crea tus archivos de configuración
Debes crear dos archivos en cualquier aplicación de bloc de notas (notepad++, sublime, vscode, etc.), puedes nombrarlos como desees, pero la extensión debe ser: syrus.conf
El primero contiene los datos de destino, protocolo, formato de salida, URI MQTT, nombre de usuario y temas, aquí hay un ejemplo:
### DESTINOSdefine destination ubidots json mqtt://industrial.api.ubidots.com:1883 protocol="mqtt"username="[YOUR_TOKEN]"subscribe="/v1.6/devices/syrus4g"publish="/v1.6/devices/[YOUR_DEVICE_LABEL]"
Reemplaza [YOUR_TOKEN] por tu Token de Cuenta de Ubidots y [YOUR_DEVICE_LABEL] con la etiqueta que deseas que tenga el dispositivo en Ubidots, ten en cuenta que solo puedes usar letras minúsculas.
NOTA: Para más información, consulta este artículo: https://syrus.pegasusgateway.com/syrdocs/syrus4/syruslang/#destinations
El segundo archivo contiene todos los eventos que se enviarán a Ubidots a través de MQTT, aquí hay un ejemplo, esto enviará eventos de Encendido/Apagado de Ignición y puntos de seguimiento cada minuto:
####### ###### ####### ###### ####################### INICIO DEL EVENTO MQTT ###########define variable constant_1 1define fieldset ubidots fields="ident":$modem.imei,position.context.lat:$gnss.latitude,position.context.lng:$gnss.longitude,position.value:$variables.constant_1,"position.direction":$gnss.heading,"position.hdop":$gnss.hdop,"position.pdop":$gnss.pdop,"position.vdop":$gnss.vdop,"position.speed":$gnss.mph,"position.altitude":$gnss.altitude,"event.enum":code,"can.engine.rpm":$ecu.rpm,"can.throttle.pedal.level":$ecu.accel_pedal_position,"can.engine.temperature":$ecu.coolant_temp,"can.fuel.consumed":$ecu.fuel_total,"can.intake.map":$ecu.intake_manif_pressure,"can.vehicle.speed":$ecu.fe6c_7-8,"can.fuel.temperature":$ecu.fuel_temp,"can.engine.load":$ecu.engine_load,"can.engine.torque":$ecu.actual_engine_torque,"can.catalyst.outlet.temp":$ecu.aftmt_catalyst_outlet_gas_temp,"can.fuel.rate":$ecu.fuel_rate,"can.engine.hours":$ecu.hours_total,"can.ambient.temp":$ecu.ambient_air_temp,"can.oil.pressure":$ecu.oil_pressuredefine group ubidotsset destinations group=ubidots ubidotsdefine tracking_resolution ubidots_tracking 5m 25deg 1000mtsdefine signal ignitionON min_duration=5s $io.ign == truedefine signal ignitionOFF min_duration=5s $io.ign == falsedefine event ignitionONmqtt group=ubidots fieldset=ubidots ack=seq label=ignonmqtt code=102 trigger=ignitionONdefine event ignitionOFFmqtt group=ubidots fieldset=ubidots ack=seq label=ignoffmqtt code=103 trigger=ignitionOFF# Define tracking event, a single tracking resolution signal that can be controlled by different actionsdefine event trackingOffMqtt group=ubidots fieldset=ubidots ack=seq label=prdtst code=100 trigger=@tracking_resolution.ubidots_tracking.signal,ignitionOFF,anddefine event trackingOnMqtt group=ubidots fieldset=ubidots ack=seq label=trckpnt code=101 trigger=@tracking_resolution.ubidots_tracking.time,ignitionON,anddefine event trackingHeadingMqtt group=ubidots fieldset=ubidots ack=seq label=heading code=140 trigger=@tracking_resolution.ubidots_tracking.heading,ignitionON,anddefine event trackingDistanceMqtt group=ubidots fieldset=ubidots ack=seq label=distance code=141 trigger=@tracking_resolution.ubidots_tracking.distance,ignitionON,and############ FIN DEL EVENTO MQTT ################## ###### ####### ###### #######define event trackingOnMqtt group=mqtt fieldset=mqtt ack=seq label=trckpnt code=101 trigger=@tracking_resolution.mqtt_tracking.time,ignitionON,anddefine event trackingHeadingMqtt group=mqtt fieldset=mqtt ack=seq label=heading code=140 trigger=@tracking_resolution.mqtt_tracking.heading,ignitionON,anddefine event trackingDistanceMqtt group=mqtt fieldset=mqtt ack=seq label=distance code=141 trigger=@tracking_resolution.mqtt_tracking.distance,ignitionON,and############ FIN DEL EVENTO MQTT ################## ###### ####### ###### #######
NOTA: Si necesitas más información sobre cómo configurar más eventos, consulta la documentación de SyrusLang: https://syrus.pegasusgateway.com/syrdocs/syrus4/syruslang
Paso 4: Sube tus archivos de configuración
Selecciona tu instancia creada:
Ve a la pestaña de Carpeta de Datos:
Selecciona Subir Archivo:
Busca en tu disco local los archivos de configuración anteriores creados y súbelos uno por uno:
Ve a la pestaña de Configuración, despliega Configuración y Archivo de Destino, selecciona tus elementos actualizados previamente y haz clic en el botón Guardar:
Paso 5: Inicia tu instancia
Finalmente, regresa a la pestaña de Información y haz clic en el botón Iniciar:
Paso 6: Verifica tus datos en el Dispositivo Ubidots
Las variables reportadas deberían ser creadas automáticamente de acuerdo con la configuración del fieldset:
Ahora puedes diseñar tus propios tableros con los datos de Syrus 4G: