- Las empresas buscan datos telemáticos personalizados para optimizar operaciones, pero luchan por acceder y procesarlos debido a la salida básica de los rastreadores.
- Una solución de bajo código puede ayudar a procesar y personalizar eficientemente los datos telemáticos para satisfacer necesidades específicas del negocio.
- La herramienta de bajo código de Navixy, basada en el lenguaje de expresiones JEXL, permite a los usuarios procesar datos en tiempo real e históricos, habilitando cálculos personalizados, enriquecimiento de datos y automatización para extender las capacidades del hardware telemático.
Los datos simples que comparten los rastreadores GPS y los sensores pueden no ser suficientes para las empresas en telemática que requieren conocimientos más profundos y manipulación personalizada de datos para abordar sus objetivos y necesidades.
Para ayudar a las empresas a aprovechar al máximo el potencial de los datos telemáticos, Navixy introdujo recientemente el lenguaje IoT Logic Expression. Esta herramienta permite realizar cálculos personalizados y aplicar lógica para extender las capacidades del hardware, enriquecer los datos y automatizar procesos utilizando tanto datos en tiempo real como históricos.
Así es como Andrey Melnik, el Jefe de Soporte Técnico de Navixy, explica el valor de esta herramienta:
El Lenguaje IoT Logic Expression de Navixy es un avance significativo en la gestión de datos telemáticos. A medida que las empresas buscan cada vez más formas de gestionar los datos telemáticos tpara respaldar la toma de decisiones y mejorar las operaciones, la necesidad de herramientas eficientes de gestión de datos se vuelve evidente. Nuestra solución de bajo código permite una manipulación precisa de datos para cada rastreador, dispositivo IoT y sensor, recalculando los valores de datos directos en tiempo real. Esto le brinda una ventaja competitiva al proporcionar los conocimientos necesarios para optimizar las operaciones.
– Andrey Melnik, Jefe de Soporte Técnico en Navixy
Dónde se puede aplicar la lógica en la telemática: comprendiendo el IoT Logic
Antes de abordar el IoT Logic Expression Language, echemos un vistazo general a lo que Navixy IoT Logic es.
Veamos dónde se puede utilizar.
Casos de uso en el mundo real para Navixy IoT Logic.
Monitoreo de nivel de combustible.
Imagine que un cliente desea ser alertado sobre cada cambio anormal en el nivel de combustible. Con Navixy IoT Logic, el programa puede enviar automáticamente comandos específicos para ajustar el sistema y restablecerlo a la normalidad. También notificará a la persona responsable sobre el evento.
Notificaciones de eventos de exceso de velocidad.
Considere otro escenario en el que una empresa desea monitorear en particular eventos de exceso de velocidad.
Mientras que algunos pueden necesitar alertas para cada instancia, otros podrían solo querer notificaciones si el exceso de velocidad supera un límite preestablecido durante más de un minuto. Navixy IoT Logic puede personalizar las notificaciones para ignorar eventos más breves debido a una señal GPS deficiente o adelantamientos, asegurando que cada cliente reciba solo las alertas relevantes.
Para habilitar estos escenarios personalizados, es posible que desee recuperar datos telemáticos específicos, lo cual puede ser un desafío.
La necesidad de una solución universal
De hecho, recuperar dichos datos no sería posible sin expresiones. Los rastreadores normalmente no proporcionan datos complejos o personalizados directamente; suelen compartir únicamente valores sencillos y básicos de los dispositivos y sensores conectados.
Para abordar esto, buscamos una solución que pudiera manejar requisitos detallados de datos, procesando y calculando la información para satisfacer las necesidades específicas de cada negocio. Esta solución debía ser lo suficientemente flexible para procesar datos en tiempo real desde los rastreadores y adaptable a diversos escenarios empresariales. El Lenguaje de Expresiones de Navixy IoT Logic se convirtió en la respuesta, permitiéndonos recuperar, manipular y utilizar datos de manera eficiente en una amplia gama de casos de uso.
¿Qué es el Lenguaje de Expresión Lógica IoT de Navixy?: conozca nuestro lenguaje de expresión universal.
Fue un desafío para el equipo. ¿Cómo podemos explicar a nuestra plataforma cómo recalcular cada valor directo (que llega y que ya se ha recopilado) y hacerlo individualmente para cada rastreador, dispositivo, máquina o incluso para un flujo de rastreadores a la vez, si es necesario? Necesitábamos una herramienta universal aplicable para crear nuestras soluciones y que fuera adecuada para todos. Decidimos tomar la dirección de programación LowCode y desarrollamos el lenguaje de expresión de IoT Logic de Navixy.
El lenguaje de expresión lógica de Navixy IoT se basa en el lenguaje de expresión Java (JEXL), por lo que resultará familiar para los desarrolladores. Su sintaxis utiliza el método "camelCase" para separar palabras en los nombres de funciones.
Por ejemplo: thisIsTheFunctionName
Los flujos de datos de IoT Logic consisten en una secuencia de nodos que representan los pasos de enriquecimiento de datos. El Lenguaje de Expresión Lógica IoT puede utilizarse en dos nodos:
- Initiate attributes
- Logics
Estos nodos le permiten manipular los datos en bruto recibidos de dispositivos, servicios de terceros y otras fuentes de datos, adaptando los datos al formato necesario para el destinatario: Navixy u otra plataforma de terceros.
Funciones de IoT Logic
Al igual que otros lenguajes de expresión, el Lenguaje de Expresión Lógica IoT funciona a través de funciones que son puntos clave para cálculos y otras manipulaciones de datos. Cada función tiene sus parámetros, los cuales le ayudan a obtener los datos necesarios del flujo de datos.
Desglose de funciones y parámetros principales
Hay tres funciones principales que estarán disponibles al inicio del producto IoT Logic:
value()
: Esta función es el método principal para obtener los parámetros recibidos del rastreador y los atributos calculados dentro del producto IoT Logic.genTime()
: Esta función ayuda a obtener la fecha y la hora en que el valor fue generado en el lado del dispositivo.srvTime()
: Esta función devuelve la fecha y la hora en que el valor fue recibido en el servidor de IoT Logic.
Los parámetros son los mismos para todas las funciones:
device parameter/attribute
: cadena con un parámetro del dispositivo que es compatible con el protocolo de comunicación del dispositivo o calculado dentro del flujo creado.index
: entero opcional de 0 a 12. Indica cuántos pasos hacia el pasado debemos retroceder para tomar un valor. Donde 0 significa el valor más reciente (o actual), y 12 significa el valor más antiguo, 12 pasos atrás del más reciente. Si no se especifica, la plataforma usará un índice predeterminado = 0.validation flag
: cadena opcional. Puede tener uno de dos valores: ‘all’ o ‘valid’. Al usar ‘all’, se refiere a los datos históricos, incluidos los valores nulos. Al usar ‘valid’, se refiere al almacenamiento excluyendo los valores nulos. Si no se especifica, la plataforma usará un valor predeterminado = ‘valid’.
Veamos cómo las funciones principales devuelven los datos y algunos ejemplos de uso:
Función | Valor devuelto | Ejemplo |
---|---|---|
value() | Su formato depende del tipo de datos proporcionados por el rastreador en el parámetro. Puede ser texto, booleano, numérico, binario, etc. | value(‘can_fuel’, 1, ‘valid’) |
srvTime() | Devuelve la fecha y la hora en formato Unix-time de cuando el valor fue recibido en el servidor de IoT Logic. | srvTime(‘avl_255’, 0, ‘all’) |
genTime() | Devuelve la fecha y la hora en formato Unix-time de cuando el valor fue generado en el lado del dispositivo. | genTime(‘lat’, 5, ‘valid’) or genTime(‘lat’, 5) |
Trabajar con formatos de tiempo en Navixy IoT Logic
Navixy IoT Logic utiliza el tiempo Unix en milisegundos (ms), un formato estándar en sistemas de TI. Usar este formato garantiza un procesamiento rápido y sencillo de los datos por otros sistemas, ya que la mayoría de los sistemas están familiarizados con él. El tiempo Unix representa el número de milisegundos transcurridos desde la medianoche (00:00:00 UTC) del 1 de enero de 1970.
Por ejemplo, 1490347940000
.
Correcto, – dirá usted – el tiempo Unix es una excelente opción para manipulaciones y almacenamiento. Pero, ¿qué sucede si queremos hacerlo más amigable para los humanos? Puede utilizar una función de tiempo específica para cambiar el formato.
dtFormat('time parameter')
: Esta función cambia el formato de tiempo Unix a ISO 8601. Por ejemplo, convertirá automáticamente el tiempo Unix 1720618553 a ISO 8601 2024-07-10T13:35:53.000 UTC+0.
A continuación se muestra un ejemplo de la función:
dtFormat(genTime('temp_1', 0, 'all'))
Uso de expresiones para el cálculo de atributos
A medida que los datos fluyen hacia IoT Logic, puede aprovechar las expresiones para realizar diversos cálculos sobre sus atributos. Esto le permite derivar nuevas métricas o modificar las existentes en función de los datos entrantes.
Calcular valores para atributos
Una vez que IoT Logic recibe parámetros en el flujo de datos entrante desde los dispositivos, puede realizar cálculos para generar nuevos valores basados en estos datos. Por ejemplo, puede que desee crear un parámetro que calcule la diferencia entre los valores de temperatura más recientes y anteriores. La expresión se vería así:
value('temp_1', 0, 'valid') - value('temp_1', 1, 'valid')
Esta expresión debe ser insertada en un campo específico del nodo. Una vez establecida la expresión, IoT Logic la calculará en tiempo real tan pronto como reciba un paquete de datos de cualquier dispositivo en el flujo de datos.
Además, este nuevo atributo calculado estará disponible para los nodos siguientes, incluidos los próximos nodos con cálculos o lógica.
Calcular fecha y hora para atributos en IoT Logic
Para los atributos creados en el procesamiento del flujo de IoT Logic, los parámetros genTime y srvTime son los mismos y equivalentes a la fecha y hora del servidor de cálculo del valor (tiempo Unix en ms). Este valor se establece por defecto y corresponde a la función corta now(). Además, puede reescribir los valores de fecha y hora de dos maneras:
- Puede ajustar el tiempo por días, horas, minutos o segundos añadiendo milisegundos adicionales a través de la expresión siguiente:
genTime('avl_25', 0, 'valid') + 120000
- Puede calcular el tiempo restando un valor de tiempo de otro:
genTime('avl_25', 0, 'valid') - genTime('avl_25', 1, 'valid')
Después de eso, los valores de tiempo se actualizarán. Además, puede eliminar cualquiera de estos valores de tiempo para los atributos calculados si desea que sean nulos y/o si los valores de fecha/hora no son necesarios para la parte receptora.
El futuro de IoT Logic
Tenemos planes para desarrollar aún más la sintaxis de IoT Logic para ampliar sus capacidades. Todas estas extensiones están relacionadas con lógica, cálculos adicionales y automatización. A continuación, se muestra una lista de funciones futuras para el producto IoT Logic:
- Expresiones lógicas y estructuras if/else;
- Operaciones a nivel de bits;
- Expresiones regulares;
- Extracción de parámetros.
El IoT Logic con el Lenguaje de Expresión Lógica IoT de Navixy hace posible crear soluciones individuales para sus clientes, lo que permitirá abordar diferentes necesidades y casos de negocio de manera rápida.
Conclusión: aprovechar al máximo el potencial de los datos telemáticos
El Lenguaje de Expresión Lógica IoT de Navixy es una herramienta poderosa que busca transformar la forma en que las empresas interactúan con los datos telemáticos. Ayuda a abordar necesidades empresariales únicas y a automatizar eficientemente los procesos de negocio con cálculos personalizados y manipulación de datos en tiempo real. Los usuarios obtienen la flexibilidad para mejorar la precisión de los datos o personalizar alertas, permitiendo a las empresas aprovechar al máximo su potencial telemático. A medida que continuamos mejorando IoT Logic, nuestro compromiso sigue siendo ofrecer soluciones innovadoras para enfrentar los desafíos en evolución en el ámbito de la telemática.