Passer au contenu principal
Version : TAO v2.x

Étape 5 - Configuration de vos flux de données

ThingPark Enterprise All-in-one prend en charge les principaux protocoles IoT nécessaires pour répondre à vos cas d'utilisation de déploiement :

Pour optimiser son intégration avec les serveurs d'applications externes, ThingPark Enterprise All-in-One intègre un composant Node-RED pour gérer en toute transparence les flux de données.

Ce sujet décrit les tâches de gestion des flux de données de ThingPark version 2.2.0 :

  • Dans cette version, les tâches de gestion de base peuvent être exécutées depuis l'interface graphique TAO sans avoir besoin d'accéder à l'interface utilisateur de Node-RED.
  • Pour les versions antérieures, toutes les tâches de gestion des flux de données sont entièrement gérées via l'interface utilisateur de Node-RED. Pour en savoir plus, consultez Utilisation de Node-RED.
conseil

Pour connaître la version de votre serveur ThingPark Enterprise All-in-one, survolez le logo en haut à gauche de l'interface utilisateur.

Vérification de l'état de vos flux de données

  1. Depuis le panneau gauche de l'interface utilisateur, allez sur Flux de données.

  2. Sous le widget STATUS :

  • Le statut Node-RED détermine si Node-RED fonctionne correctement sur votre serveur ou non. Si le statut n'est pas ACTIF, cliquez sur REDÉMARRER NODE-RED pour tenter de corriger le problème.

  • Le statut du broker MQTT détermine si le broker MQTT local intégré dans le serveur ThingPark fonctionne correctement ou non. Vous pouvez le redémarrer si besoin.

  • Flux Uplink/Downlink est le flux de données par défaut. Il utilise le protocole MQTT et constitue l'interface unique avec le serveur de réseau LoRaWAN.
    Pour un fonctionnement correct de vos flux de données, le statut de ce flux Uplink/Downlink doit toujours rester "Démarré". Contactez votre équipe de support si ce flux a été arrêté accidentellement.

    Ne supprimez jamais le flux Uplink/Downlink de Node-RED, même si vous n'avez pas besoin du protocole MQTT pour interagir avec vos serveurs d'application.

  1. Sous le widget ACTIVATION :

  • Vérifiez l'état d'activation de vos flux de données BACnet et Modbus.
  • Ces flux de données ne sont pas activés par défaut, utilisez les interrupteurs correspondants pour activer un ou les deux flux de données selon vos besoins.

Configuration du flux de données BACnet

Le flux de données BACnet vous permet de partager automatiquement les DATA de vos capteurs LoRaWAN sous forme d'objets BACnet à l'intérieur d'un serveur BACnet intégré. Par défaut, ce serveur utilise le port multicast UDP standard 47808 (BAC0), mais vous pouvez changer le port en vous connectant à Node-RED, comme décrit dans Configuration du serveur BACnet.

Ce flux de données prend en charge trois types d'objets BACnet :

  • Valeur Analogique (notée 'AV') pour les données numériques
  • Valeur Binaire (notée 'BV') pour les données booléennes
  • Valeur de Chaine de Caractères (notée 'SV') pour les données de type chaîne.

La cartographie des données des capteurs LoRaWAN en objets BACnet est complètement automatisée, sans aucune action manuelle de l'utilisateur. Pour en savoir plus sur cette cartographie automatique, consultez Processus de cartographie automatique.

Néanmoins, si vous souhaitez personnaliser cette cartographie automatique pour mieux répondre à vos contraintes de déploiement, suivez les étapes décrites dans Personnalisation de la cartographie.

Les étapes suivantes décrivent comment configurer le flux de données BACnet pour servir le chemin uplink. Si vous souhaitez utiliser le protocole BACnet pour envoyer des paquets de downlink à vos capteurs LoRaWAN, vous devez utiliser l'éditeur Node-RED, comme décrit dans Paquets de downlink.


  1. Depuis le panneau gauche de l'interface utilisateur, allez sur Flux de données.

  2. Dans le widget ACTIVATION, activez le flux BACnet si ce n'est pas déjà le cas.

  3. Dans le widget BACNET, vous pouvez contrôler les paramètres de mappage de vos capteurs LoRaWAN dans des objets BACnet :

  • Nom de l'objet : Chaque donnée extraite des capteurs LoRaWAN est exposée comme un objet BACnet dont l'identifiant est construit à l'aide du DevEUI du capteur (paramètre par défaut), suivi de deux-points : puis du nom de la propriété. Vous pouvez modifier la définition de l'identifiant de l'objet pour utiliser le nom convivial du capteur (qui est le nom du capteur défini dans TAO) plutôt que le DevEUI.

  • Métadonnées LoRaWAN : Vous pouvez librement définir quelles métadonnées LoRaWAN sont exposées en tant qu'objets BACnet.

    • RSSI est l'indicateur de force du signal reçu de chaque paquet uplink LoRaWAN. RSSI mesure la force globale du signal dans la bande passante du canal radio, en additionnant le signal utile, les interférences et le bruit de fond. RSSI est exprimé en dBm.
    • SNR est le rapport signal sur bruit de chaque paquet uplink LoRaWAN. Il fournit une estimation fiable de la qualité de réception de l'uplink. SNR est exprimé en dB.
    • FCntUp est le compteur de trames de chaque paquet uplink LoRaWAN.
    • SpFact est le facteur d'étalement de chaque paquet uplink LoRaWAN. SF7 correspond à la vitesse de données la plus rapide tandis que SF12 correspond à la vitesse de données la plus lente.
  • Ontologie du Payload : Le traitement de l'ontologie est pris en charge par les drivers de payload spécifiques. Il offre une standardisation uniforme des propriétés mesurées. Lorsque l'ontologie est activée et prise en charge par le driver de payload du capteur, une unité associée est fournie et une transformation est appliquée à la valeur pour s'assurer qu'elle correspond à l'unité spécifiée.

    Exemple Tous les capteurs qui exposent une mesure de température avec des drivers prenant en charge l'ontologie fourniront la température de la même manière (même unité, même nom de propriété). Pour plus d'informations sur les drivers de capteurs, voir Drivers/ontologies prises en charge.

Personnalisation de la cartographie

Comme mentionné ci-dessus, la cartographie de LoRaWAN à BACnet est entièrement automatisée par défaut. Vous pouvez modifier cette cartographie par défaut afin de fixer le numéro d'instance d'une propriété et vous assurer que cette propriété est toujours exposée à un numéro d'instance fixe.

Pour ce faire, suivez les étapes ci-dessous :

  1. Exportez votre liste d'objets actuelle vers un fichier csv, en cliquant sur le bouton EXPORTER.

  1. Modifiez l'association du numéro d'instance dans le fichier csv, et enregistrez-le dans votre liste personnalisée. Les recommandations suivantes doivent être respectées :
  • Commencez le numérotage d'instance à partir de 0 pour chaque type (AV,BV,SV).
  • Ne laissez pas de trous dans le schéma de numérotation.
  • Ne changez pas le type pour une propriété spécifique.
  • Créez de nouvelles entrées pour les futures propriétés des capteurs qui ne sont pas encore exposées.
  • Laissez la ligne d'en-tête telle quelle, n'ajoutez pas de colonnes.
  1. Importez ce fichier csv personnalisé sur le serveur, en cliquant sur le bouton IMPORTER.

Le format du fichier d'importation est le même que celui du fichier d'exportation (la valeur et l'unité ne sont pas prises en compte lors de l'importation). Le statut de l'importation s'affiche à l'écran, en cas d'erreurs, l'écran affiche la liste des points à corriger, comme illustré par l'exemple suivant :

-> Une fois l'importation réussie, votre nouvelle cartographie sera alors disponible instantanément.

Configuration du flux de données Modbus

Le flux de données Modbus vous permet d'exposer automatiquement les données de vos capteurs LoRaWAN à l'intérieur d'un serveur Modbus esclave intégré.

Par défaut, ce serveur est disponible sur le port TCP standard 10502. Si besoin, vous pouvez changer de port dans Node-RED, comme décrit dans Personnalisation du serveur Modbus.

Pour mapper vos propriétés LoRaWAN en objets Modbus, vous devez définir manuellement un tableau de correspondance qui spécifie, pour chaque capteur LoRaWAN, quelles propriétés doivent être extraites, quel algorithme de codage doit être appliqué et à quel emplacement elles doivent être écrites sur la matrice de registres de maintien Modbus.

note

Seuls les uplinks via Modbus sont actuellement pris en charge, les downlinks via Modbus ne sont pas encore implémentés. Pour le chemin downlink, vous pouvez vous appuyer sur les protocoles MQTT ou HTTP.


  1. Depuis le panneau gauche de l'interface utilisateur, allez sur Flux de données.

  2. Dans le widget ACTIVATION, activez le flux Modbus si ce n'est pas déjà le cas.

  3. Préparez le fichier csv contenant vos règles de mapping d'objets. Pour en savoir plus, consultez Cartographie des objets.

  4. Dans le widget MODBUS, importez le fichier de mapping csv que vous avez préparé à l'étape précédente.

-> Une fois l'importation réussie, votre nouvelle cartographie sera alors disponible instantanément.

Cartographie des objets

Pour chaque propriété que vous souhaitez extraire du message uplink, vous devez fournir un objet composé des champs suivants :

  • DevEUI est le DevEUI du capteur LoRaWAN.
  • Attribut se réfère au nom de la propriété telle qu'extraite de l'uplink LoRaWAN. Voir ci-dessous pour en savoir plus sur la définition d'un attribut pour chaque propriété mesurée.
  • DataType : l'opération Modbus à appliquer. Voir ci-dessous pour en savoir plus sur les types pris en charge.
  • adresse : numéro d'emplacement du registre modbus.

Vous pouvez télécharger le fichier d'exemple depuis l'interface utilisateur pour connaître le format attendu du fichier à importer.

Comment définir les attributs ?

Chaque propriété - que vous devez mapper à un objet Modbus - doit être associée à un attribut pertinent dans votre fichier de mapping csv.

Pour ce faire, vous devez d'abord découvrir les différentes propriétés rapportées par vos capteurs LoRaWAN dans les uplink payloads.

conseil

Vous pouvez utiliser un client MQTT, tel que MQTTX ou mosquitto_sub, pour récupérer les paquets d'uplink rapportés par vos capteurs et découvrir quelles propriétés sont incluses dans leurs payloads.

Prenons l'exemple suivant d'un capteur rapportant le paquet d'uplink suivant :

{
"DevEUI_uplink": {
"Time": "2024-09-24T13:51:10.920+00:00",
"DevEUI": "20635F0106000244",
"FPort": 17,
"FCntUp": 101,
"LrrSNR": 5.5,
...
"LrrRSSI": -30.6,
...
"payload": {
"messageType": "HEARTBEAT",
"trackingMode": "PERMANENT_TRACKING",
"batteryVoltage": 4.05,
"levels": {
"power": 3,
"state": "on"
}
},
"points": {
"temperature": {
"unitId": "Cel",
"record": 28.3
},
...
}
}
}

-> Nous avons reçu un DevEUI_uplink avec :

  • LrrSNR = 5,5 dB
  • LrrRSSI = -30,6 dBm
  • batterieVoltage = 4,05 V
  • power = 3
  • température = 28,3°C

Si vous souhaitez exporter les métadonnées LoRaWAN, telles que le compteur de trames uplink (FCntUp), RSSI ou SNR uplink, l'attribut correspondant doit utiliser exactement le même nom que les métadonnées LoRaWAN, c'est-à-dire FCntUp, LrrSNR, LrrRSSI...

Sous payload et/ou points, l'attribut correspondant à chaque propriété doit utiliser le nom de la propriété. Par exemple, modeSuivi, batterieVoltage... Utilisez le caractère souligné _ pour représenter les sous-niveaux : par exemple, niveaux_power, température_record.

DataTypes pris en charge

  • float : l'opération modbus est FC 16, écrivez 2 registres : 4 octets.
  • int : l'opération modbus est FC 16, écrivez 1 registre : 2 octets.
  • uint ou uint32 : l'opération modbus est FC 16, écrivez 2 registres : 4 octets.
  • hex : l'opération modbus est FC 16, écrivez n registres : n*2 octets, (pour "0A0B0C", cela consommera 2 registres, le premier contenant 0A0B, le deuxième contenant 000C).