Tirer le meilleur parti de la gestion des données télématiques avec le langage d'expression logique IoT de Navixy

    Navixy IoT Logic Expression Language for telematics data management

    Principaux enseignements

    • Les entreprises recherchent des données télématiques personnalisées pour optimiser leurs opérations, mais elles ont du mal à y accéder et à les traiter en raison des données de base fournies par les systèmes de suivi.
    • Une solution à code basique peut aider à traiter efficacement et à adapter les données télématiques pour répondre aux besoins spécifiques de l'entreprise.
    • L**'outil low-code de Navixy, basé sur le langage d'expression JEXL**, permet aux utilisateurs de traiter des données historiques et en temps réel, de réaliser des calculs personnalisés, d'enrichir les données et d'automatiser l'extension des capacités du matériel télématique.

    Les données directes que les traceurs et les capteurs GPS partagent peuvent ne pas être suffisantes pour les entreprises du secteur de la télématique qui ont besoin d'une vision plus approfondie et d'une manipulation personnalisée des données pour atteindre leurs objectifs et répondre à leurs besoins.

    Pour aider les entreprises à exploiter pleinement le potentiel des données télématiques, Navixy a récemment introduit le langage d'expression logique IoT. Cet outil permet d'effectuer des calculs et une logique personnalisés pour étendre les capacités du matériel, enrichir les données et automatiser les processus à l'aide de données historiques et en temps réel.

    Voici comment Andrey Melnik, responsable de l'assistance technique chez Navixy, explique la valeur de cet outil :

    Navixy IoT Logic Expression Language est une avancée significative dans la gestion des données télématiques. Comme les entreprises cherchent de plus en plus à traiter les données télématiques pour soutenir la prise de décision et améliorer les opérations, le besoin d'outils de gestion de données efficaces devient évident. Notre solution à code bas permet une manipulation précise des données pour chaque tracker, dispositif IoT et capteur, en recalculant les valeurs de données directes en temps réel. Elle vous donne un avantage concurrentiel en fournissant les informations nécessaires à l'optimisation des opérations.

    - Andrey Melnik, responsable de l'assistance technique chez Navixy

    Utilisation de la logique dans la télématique : comprendre la logique IoT

    Avant d'aborder le langage d'expression IoT Logic, voyons d'un point de vue général ce qu'est Navixy IoT Logic.

    Navixy IoT Logic est un outil de gestion de données télématiques qui simplifie le traitement des données des appareils connectés en éliminant le besoin de développer des systèmes complexes de décodage et de traitement. Il gère efficacement plusieurs protocoles d'appareils, récupère les données historiques, effectue des calculs et crée des expressions logiques à des fins diverses. Cela inclut la création d'attributs personnalisés pour étendre les capacités du matériel, enrichir les données et automatiser les processus commerciaux, offrant ainsi une solution complète pour la gestion des données télématiques.

    Voyons maintenant où il peut être utilisé.

    Cas d'utilisation réels pour Navixy IoT Logic

    Surveillance du niveau de carburant

    Imaginez un client qui souhaite être alerté à chaque changement anormal du niveau de carburant. Avec Navixy IoT Logic, le programme peut envoyer automatiquement des commandes spécifiques pour ajuster le système et le ramener à la normale. Il informera également la personne responsable de l'événement.

    Accélérer les notifications d'événements

    Considérez un autre scénario dans lequel une entreprise souhaite surveiller des excès de vitesse particuliers. Alors que certains peuvent avoir besoin d'alertes pour chaque cas, d'autres peuvent ne vouloir des notifications que si l'excès de vitesse dépasse une limite prédéfinie pendant plus d'une minute. Navixy IoT Logic peut adapter les notifications pour ignorer les événements plus courts dus à un mauvais signal GPS ou à un dépassement, en veillant à ce que chaque client ne reçoive que des alertes pertinentes.

    Pour activer ces scénarios personnalisés, vous pourriez vouloir récupérer des données télématiques spécifiques, ce qui peut s'avérer difficile.

    Le besoin d'une solution universelle

    En fait, l'extraction de ces données ne serait pas possible sans expressions. Les traceurs ne fournissent généralement pas de données complexes ou personnalisées directement, ils ne partagent généralement que des valeurs de base simples provenant d'appareils et de capteurs connectés.

    Pour y remédier, nous avons cherché une solution capable de gérer des données détaillées, de les traiter et de les calculer pour répondre aux besoins individuels de l'entreprise. Cette solution devait être suffisamment flexible pour traiter les données en temps réel des trackers et s'adapter à des scénarios commerciaux variés. Navixy IoT Logic Expression Language est devenu la réponse, nous permettant de récupérer, manipuler et utiliser les données efficacement à travers divers cas d'utilisation.

    Qu'est-ce que le Navixy IoT Logic Expression Language : découvrez notre langage d'expression universel.

    C'était un défi pour l'équipe. Comment expliquer à notre plateforme comment recalculer chaque valeur directe - entrante et déjà collectée - et le faire individuellement pour chaque tracker, appareil, machine, ou même pour un flux de trackers à la fois, si nécessaire ? Nous avions besoin d'un outil universel applicable à la création de nos solutions et convenant à tout le monde. Nous avons décidé de prendre la direction de la programmation LowCode et avons développé le Navixy IoT Logic Expression Language.

    Le langage d'expression Navixy IoT Logic est basé sur le langage d'expression Java (JEXL), il sera donc familier aux développeurs. Sa syntaxe utilise la méthode "camelCase" pour séparer les mots dans les noms de fonctions.

    Par exemple : thisIsTheFunctionName

    Les flux de données IoT Logic consistent en une séquence de nœuds représentant les étapes de l'enrichissement des données. Le langage d'expression IoT Logic peut être utilisé dans deux nœuds :

    • Initier les attributs
    • Logique

    Ces nœuds vous permettent de manipuler les données brutes entrantes reçues des appareils, des services tiers et d'autres sources de données en amenant les données au format nécessaire pour le destinataire - Navixy ou une autre plate-forme tierce.

    Fonctions EL IoT Logic

    Comme d'autres langages d'expression, le langage d'expression IoT Logic fonctionne via des fonctions qui sont des points clés pour les calculs et autres manipulations de données. Chaque fonction possède ses propres paramètres qui vous aident à obtenir les données nécessaires à partir du flux de données.

    Décomposition des fonctions principales et des paramètres

    Trois fonctions principales sont disponibles dès le lancement du produit IoT Logic :

    • value(): Cette fonction est la principale méthode pour obtenir les paramètres reçus du tracker et les attributs calculés dans le produit IoT Logic.
    • genTime(): Cette fonction permet d'obtenir la date et l'heure auxquelles la valeur a été générée du côté de l'appareil.
    • srvTime(): Cette fonction renvoie la date et l'heure auxquelles la valeur a été reçue sur le serveur IoT Logic.

    Les paramètres sont les mêmes pour toutes les fonctions :

    • paramètre/attribut de l'appareil: chaîne de caractères contenant le paramètre de l'appareil pris en charge par le protocole de communication de l'appareil ou calculé dans le flux créé.
    • index: int facultatif compris entre 0 et 12. Indique le nombre d'étapes dans le passé à franchir pour obtenir une valeur. Où 0 signifie la valeur la plus récente (ou actuelle), 12 signifie 12 valeurs en arrière de la plus récente. S'il n'est pas spécifié, la plateforme utilisera un index par défaut = 0.
    • drapeau de validation: chaîne de caractères facultative. Il peut prendre l'une des deux valeurs suivantes : 'all' ou 'valid'. Lorsque vous utilisez 'all', cela signifie que les données historiques incluent les valeurs nulles. Lorsque vous utilisez "valide", cela signifie que le stockage exclut les valeurs nulles. Si vous ne le précisez pas, la plateforme utilisera un drapeau par défaut = 'valide'.

    Voyons comment les fonctions principales renvoient les données et les exemples d'utilisation :

    | Fonction | Valeur de retour | Exemple | | --------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | | valeur() | Son format dépend du type de données fournies par un traqueur dans le paramètre. Il peut s'agir de texte, de booléen, de numérique, de binaire, etc. | srvTime() | Renvoie la date et l'heure au format Unix du moment où la valeur a été reçue sur le serveur IoT Logic. | srvTime('avl_255', 0, 'all') | | genTime() | Renvoie la date et l'heure au format Unix du moment où la valeur a été générée du côté de l'appareil. | genTime('lat', 5, 'valid') ou genTime('lat', 5) |

    Travailler avec des formats de temps dans la logique Navixy IoT

    Navixy IoT Logic utilise le temps Unix en millisecondes (ms), un format standard dans les systèmes informatiques. L'utilisation de ce format permet un traitement rapide et facile des données par d'autres systèmes, car la plupart d'entre eux le connaissent. Le temps Unix représente le nombre de millisecondes écoulées depuis minuit (00:00:00 UTC) le 1er janvier 1970.

    Par exemple, 1490347940000.

    D'accord, - dites-vous - le temps Unix est une excellente option pour les manipulations et le stockage. Mais qu'en est-il si nous voulons le rendre plus convivial ? Vous pouvez utiliser une fonction temporelle particulière pour modifier le format.

    dtFormat('time parameter'): Cette fonction modifie le format de l'heure Unix en ISO 8601. Par exemple, elle recalculera automatiquement le temps Unix 1720618553 en ISO 8601 2024-07-10T13:35:53.000 UTC+0.

    Vous trouverez ci-dessous un exemple de la fonction :

    dtFormat(genTime('temp_1', 0, 'all'))

    Utilisation d'expressions pour le calcul des attributs

    Au fur et à mesure que les données affluent dans IoT Logic, vous pouvez utiliser des expressions pour effectuer divers calculs sur vos attributs. Cela vous permet de dériver de nouvelles métriques ou de modifier les métriques existantes en fonction des données entrantes.

    Calculer les valeurs des attributs

    Lorsque IoT Logic reçoit des paramètres dans le flux de données entrantes des appareils, vous pouvez effectuer des calculs pour générer de nouvelles valeurs sur la base de ces données. Par exemple, vous pouvez créer un paramètre qui calcule la différence entre la dernière valeur de température et la précédente. L'expression ressemblerait à ceci :

    value('temp_1', 0, 'valide') - value('temp_1', 1, 'valide')

    Cette expression doit être insérée dans un champ spécifique du nœud. Une fois l'expression définie, IoT Logic la calculera en temps réel dès qu'il recevra un paquet de données de n'importe quel appareil dans le flux de données.

    De plus, ce nouvel attribut calculé sera disponible pour les nœuds suivants, y compris les nœuds suivants avec des calculs ou de la logique.

    IoT Logic Expression Lamguage: initial attributes

    Calculer la date et l'heure pour les attributs dans IoT Logic

    Pour les attributs créés dans le traitement de flux IoT Logic, les paramètres genTime et srvTime sont identiques et équivalents à la valeur de calcul de la date et de l'heure du serveur (temps Unix en ms). Cette valeur est définie par défaut et correspond à la fonction courte now(). De plus, vous pouvez réécrire les valeurs de la date et de l'heure de deux manières :

    • Vous pouvez décaler l'heure de quelques jours, heures, minutes ou secondes en ajoutant des millisecondes supplémentaires à l'aide de l'expression ci-dessous :

    genTime('avl_25', 0, 'valid') + 120000

    • Vous pouvez calculer l'heure en soustrayant une valeur temporelle d'une autre :

    genTime('avl_25', 0, 'valid') - genTime('avl_25', 1, 'valid')

    Ensuite, les valeurs temporelles seront mises à jour. Vous pouvez également supprimer toutes ces valeurs temporelles pour les attributs calculés si vous souhaitez qu'elles soient nulles ou si les valeurs de date et d'heure ne sont pas nécessaires pour le destinataire.

    L'avenir de IoT Logic

    Nous avons l'intention de développer davantage la syntaxe d'IoT Logic afin d'étendre encore davantage vos capacités. Toutes ces extensions concernent la logique, les calculs supplémentaires et l'automatisation. Vous trouverez ci-dessous une liste des fonctions à venir pour le produit IoT Logic :

    • Expressions logiques et structures if/else ;
    • Opérations sur les bits ;
    • Expressions régulières ;
    • Extraction de paramètres.

    L'IoT Logic avec Navixy IoT Logic Expression Language permet de créer des solutions individuelles pour vos clients, qui répondront rapidement à différents besoins et cas d'affaires.

    Conclusion : exploiter pleinement le potentiel des données télématiques

    Navixy IoT Logic Expression Language est un outil puissant qui vise à transformer la façon dont les entreprises interagissent avec les données télématiques. Il permet de répondre aux besoins uniques des entreprises et d'automatiser efficacement les processus métier grâce à des calculs personnalisés et à la manipulation des données en temps réel. Les utilisateurs ont la possibilité d'améliorer la précision des données ou de personnaliser les alertes, ce qui permet aux entreprises d'exploiter pleinement leurs données télématiques. Alors que nous continuons à améliorer IoT Logic, notre engagement reste de fournir des solutions innovantes pour répondre aux défis évolutifs de la télématique.

    Vous voulez savoir comment répondre à vos besoins en utilisant le langage d'expression IoT Logic de Navixy ? Contactez notre équipe pour en savoir plus sur son utilisation pratique.

    Partager l'article