Configuration du flux de conservation des données - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration du flux de conservation des données

Le flux de rétention des données peut être utilisé pour maintenir la visibilité opérationnelle à la périphérie. Cela est utile lors de perturbations du réseau ou lorsque vous avez besoin d'un accès immédiat à vos données. Ce flux s'abonne au broker MQTT pour recevoir les données de l'appareil, les convertit au format InfluxDB® et les stocke localement. En mettant en œuvre ce flux, vous créez un magasin de données local résilient auquel les opérateurs peuvent accéder sans dépendre du cloud, ce qui permet une surveillance en temps réel et une prise de décision à la périphérie.

Le flux se compose de trois éléments clés qui fonctionnent ensemble pour garantir que vos données sont correctement capturées et stockées :

  • Client d'abonnement MQTT - Reçoit les données du courtier, ce qui vous permet de capturer toutes les données industrielles pertinentes

  • Translateur InfluxDB - Convertit la AWS IoT SiteWise charge utile au format InfluxDB, préparant les données pour un stockage efficace des séries chronologiques

  • Rédacteur InfluxDB - Gère le stockage local, garantissant la persistance et la disponibilité des données pour les applications locales

Flux de conservation des données Node-Red

Configuration du client d'abonnement MQTT

  • Configurez le client d'abonnement MQTT dans Node-RED pour recevoir les données du courtier MQTT EMQX en AWS IoT SiteWise important l'exemple ci-dessous.

    Exemple : MQTT dans le nœud
    [ { "id": "string", "type": "mqtt in", "z": "string", "name": "Subscribe to MQTT broker", "topic": "/Renton/WindFarm/Turbine/WindSpeed", "qos": "1", "datatype": "auto-detect", "broker": "string", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 290, "y": 340, "wires": [ [ "string" ] ] }, { "id": "string", "type": "mqtt-broker", "name": "emqx", "broker": "127.0.0.1", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "5", "keepalive": 15, "cleansession": true, "autoUnsubscribe": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" } ]

Cet abonnement garantit que toutes les données pertinentes publiées au courtier sont capturées pour un stockage local, fournissant ainsi un enregistrement complet de vos opérations industrielles. Le nœud utilise les mêmes paramètres de connexion MQTT que la Configuration de l'éditeur MQTT section, avec les paramètres d'abonnement suivants :

  • Sujet — /Renton/WindFarm/Turbine/WindSpeed

  • QoS — 1

Pour plus d'informations, consultez la section Connect to an MQTT Broker dans la Node-REDdocumentation.

Configurer le traducteur InfluxDB

InfluxDB organise les données à l'aide de balises pour l'indexation et de champs pour les valeurs. Cette organisation optimise les performances des requêtes et l'efficacité du stockage des données chronologiques. Importez l'exemple de nœud de fonction qui contient le JavaScript code pour convertir la AWS IoT SiteWise charge utile au format InfluxDB. Le traducteur divise les propriétés en deux groupes :

  • Tags — Propriétés de qualité et de nom pour une indexation efficace

  • Champs — Horodatage (en millisecondes depuis l'époque) et valeur

Exemple : Nœud de fonction permettant de traduire en une charge utile InfluxDB
[ { "id": "string", "type": "function", "z": "string", "name": "Translate to InfluxDB payload", "func": "let data = msg.payload;\n\nlet timeInSeconds = data.propertyValues[0].timestamp.timeInSeconds;\nlet offsetInNanos = data.propertyValues[0].timestamp.offsetInNanos;\nlet timestampInMilliseconds = (timeInSeconds * 1000) + (offsetInNanos / 1000000);\n\nmsg.payload = [\n {\n \"timestamp(milliseconds_since_epoch)\": timestampInMilliseconds,\n \"value\": data.propertyValues[0].value.doubleValue\n },\n {\n \"name\": data.propertyAlias,\n \"quality\": data.propertyValues[0].quality\n }\n]\n\nreturn msg", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 560, "y": 340, "wires": [ [ "string" ] ] } ]

Pour des options de configuration supplémentaires, consultez node-red-contrib-influxdble référentiel Node-RED. GitHub

Configurer le rédacteur InfluxDB

Le nœud d'écriture InfluxDB est le dernier composant de votre flux de rétention de données, chargé de stocker vos données industrielles dans la base de données InfluxDB locale. Ce stockage local est important pour maintenir la visibilité opérationnelle en cas de perturbation du réseau et pour fournir un accès immédiat aux données pour les applications critiques.

  1. Installez le node-red-contrib-influxdb package via l'option Gérer la palette. Ce paquet fournit les nœuds nécessaires pour connecter Node-RED à InfluxDB.

  2. Ajoutez un nœud de sortie InfluxDB à votre flux. Ce nœud gérera l'écriture réelle des données dans votre base de données InfluxDB.

  3. Configurez les propriétés du serveur pour établir une connexion sécurisée à votre instance InfluxDB :

    1. Définir la version sur 2.0 - Cela indique que vous vous connectez à InfluxDB v2.x, qui utilise une API différente de celle des versions précédentes

    2. Définissez l'URL sur http://127.0.0.1:8086 - Cela pointe vers votre instance InfluxDB locale

    3. Entrez votre jeton d'authentification InfluxDB. Ce jeton sécurisé autorise la connexion à votre base de données. Vous avez généré le jeton au cours de la Configurer le stockage local avec InfluxDB procédure.

  4. Spécifiez les paramètres de l'emplacement de stockage pour définir où et comment vos données seront stockées :

    1. Entrez le nom de votre organisation InfluxDB — L'organisation est un espace de travail pour un groupe d'utilisateurs, auquel appartiennent vos buckets et tableaux de bord. Pour plus d'informations, voir Gérer les organisations dans le InfluxData Documentation.

    2. Spécifiez le bucket InfluxDB (par exemple,WindFarmData) — Le bucket est équivalent à une base de données dans les systèmes traditionnels, servant de conteneur pour vos données de séries chronologiques

    3. Définir la mesure InfluxDB (par exemple,TurbineData) — La mesure est similaire à une table dans les bases de données relationnelles, organisant les points de données associés

Note

Trouvez le nom de votre organisation dans la barre latérale gauche de l'instance InfluxDB. Les concepts d'organisation, de compartiment et de mesure sont fondamentaux pour le modèle d'organisation des données d'InfluxDB. Pour plus d'informations, consultez la documentation InfluxDB.

Déployer et vérifier le flux de rétention

Après avoir configuré tous les composants du flux de rétention des données, vous devez déployer le système et vérifier qu'il fonctionne correctement. Cette vérification garantit que vos données industrielles sont correctement stockées localement pour un accès et une analyse immédiats.

  1. Connectez les trois nœuds comme indiqué dans le diagramme du flux de conservation des données. Cela crée un pipeline complet allant de l'abonnement aux données au stockage local.

    Flux de conservation des données Node-Red
  2. Choisissez Déployer pour appliquer vos modifications et activer le flux. Cela lance le processus de collecte et de stockage des données.

  3. Utilisez l'explorateur de données InfluxDB pour interroger et visualiser vos données. Cet outil vous permet de vérifier que les données sont correctement stockées et de créer des visualisations initiales de vos séries chronologiques.

    Dans l'explorateur de données, vous devriez être en mesure de voir les mesures de la vitesse du vent enregistrées au fil du temps, afin de confirmer que l'ensemble du pipeline, de la génération des données au stockage local, fonctionne correctement.

    Pour plus d'informations, consultez la section Requête dans l'explorateur de données dans le InfluxData Documentation.

Avec le flux de publication et le flux de rétention des données déployés, vous disposez désormais d'un système complet qui envoie les données vers le AWS IoT SiteWise cloud tout en conservant une copie locale pour un accès et une résilience immédiats. Cette approche à double voie vous permet de bénéficier des avantages de l'analyse et du stockage basés sur le cloud tout en maintenant une visibilité opérationnelle à la périphérie.