

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 manuelle des intégrations open source (Windows)
<a name="windows-manual-setup"></a>

Utilisez ce guide pour créer manuellement un seau de séries chronologiques pour les données de vitesse du vent qui se connecte à Grafana® et à Node-RED®.

 Installez et configurez manuellement Node-RED, InfluxDB® et Grafana pour contrôler la configuration de votre déploiement. Microsoft Windows Vous pouvez stocker et gérer les données de séries chronologiques de vos appareils à l'aide d'InfluxDB.

## Prérequis de configuration manuelle
<a name="windows-open-source-prerequisites"></a>

Avant de commencer, remplissez les conditions suivantes :

**Note**  
Exécutez tous les services (SiteWise Edge, InfluxDB, Node-red et Grafana) sur le même hôte.
+ Installez une passerelle V3 compatible MQTT. Pour de plus amples informations, veuillez consulter [Passerelles V3 compatibles MQTT pour Edge AWS IoT SiteWise](mqtt-enabled-v3-gateway.md).
+ Installez et exécutez ces services localement :
  + InfluxDB OSS v2. Pour les étapes d'installation, voir [Installer InfluxDB](https://docs.influxdata.com/influxdb/v2/install/).
  + Nœud rouge. Pour les étapes d'installation, voir [Installer Node-RED localement.](https://nodered.org/docs/getting-started/local)
  + Grafana. Pour les étapes d'installation, voir [Installer Grafana](https://grafana.com/docs/grafana/latest/setup-grafana/installation/).

# Configurer le stockage local avec InfluxDB
<a name="windows-influxdb-setup"></a>

Avec InfluxDB®, vous pouvez stocker des données de séries chronologiques à partir de vos appareils localement. L'objectif de la capacité de stockage local est de maintenir la visibilité opérationnelle en cas de perturbation du réseau et de réduire le temps de latence pour les applications critiques. Vous pouvez effectuer des analyses et des visualisations à la périphérie tout en ayant la possibilité de transférer les données de manière sélective vers le cloud.

Dans cette section, vous allez créer un bucket de séries chronologiques pour les données de vitesse du vent des éoliennes et générer un jeton d'API pour la connectivité Grafana® et Node-RED®. Le bucket InfluxDB sert de conteneur de stockage dédié pour vos données de séries chronologiques, comme une base de données dans les systèmes traditionnels. Le jeton API permet un accès programmatique sécurisé à vos données.

**Pour configurer InfluxDB**

1. Après avoir effectué les étapes préalables et vérifié que tous les outils s'exécutent sur le même hôte, ouvrez votre navigateur Web et accédez à [http://127.0.0.1:8086](http://127.0.0.1:8086).

1. (Facultatif) Activez le chiffrement TLS pour améliorer la sécurité. Pour plus d'informations, voir [Activer le chiffrement TLS](https://docs.influxdata.com/influxdb/v2/admin/security/enable-tls/) dans le *InfluxData Documentation*.

1. Créez un bucket InfluxDB de série chronologique pour stocker les données de Node-RED. Le bucket servira de conteneur dédié aux données de votre parc éolien, ce qui vous permettra d'organiser et de gérer les politiques de rétention spécifiques à cet ensemble de données. Pour plus d'informations, consultez la section [Gérer les compartiments](https://docs.influxdata.com/influxdb/v2/admin/buckets/) dans le *InfluxData Documentation*.

1. (Facultatif) Configurez la période de conservation des données pour votre emplacement périphérique. La définition de périodes de conservation appropriées permet de gérer efficacement les ressources de stockage en supprimant automatiquement les anciennes données qui ne sont plus nécessaires aux opérations locales.

   Pour plus d'informations sur la conservation des données, voir [Conservation des données dans InfluxDB](https://docs.influxdata.com/influxdb/v2/reference/internals/data-retention/) dans le. *InfluxData Documentation*

1. Générez un jeton d'API pour le bucket. Ce jeton permettra une communication sécurisée entre InfluxDB et d'autres composants tels que Node-RED et Grafana. Ainsi, seuls les services autorisés peuvent lire ou écrire dans votre magasin de données. Pour plus d'informations, consultez la section [Créer un jeton](https://docs.influxdata.com/influxdb/cloud/admin/tokens/create-token/) dans le *InfluxData Documentation*.

Une fois ces étapes terminées, vous pouvez stocker les données de séries chronologiques dans votre instance InfluxDB, fournissant ainsi une base pour la persistance et l'analyse des données locales dans votre environnement périphérique.

# Configurer les flux Node-RED pour AWS IoT SiteWise l'intégration des données
<a name="windows-nodered-config"></a>

Avec Node-RED®, vous pouvez implémenter deux flux pour gérer les données entre vos appareils et. AWS IoT SiteWise Ces flux fonctionnent ensemble pour créer une solution complète de gestion des données qui gère à la fois les flux de données locaux et cloud.
+ **Flux de publication des données** : publie dans le cloud. Le flux de publication des données envoie des données à AWS IoT SiteWise. Ce flux simule un dispositif de turbine en générant des données de capteur, en les traduisant au AWS IoT SiteWise format et en les publiant sur le broker SiteWise Edge MQTT. Cela vous permet de tirer parti des capacités AWS IoT SiteWise du cloud pour le stockage, l'analyse et l'intégration avec d'autres AWS services.

  Pour de plus amples informations, veuillez consulter [Configuration du flux de publication des données](windows-nodered-data-publish-flow.md).
+ **Flux de rétention des données** — Stocke les données à la périphérie. Le flux de rétention des données s'abonne au broker SiteWise Edge MQTT pour recevoir les données, les traduire au format InfluxDB® et les stocker localement à des fins de surveillance. Ce stockage local fournit un accès immédiat aux données opérationnelles, réduit le temps de latence pour les applications critiques et garantit la continuité en cas de perturbation du réseau.

  Pour de plus amples informations, veuillez consulter [Configuration du flux de conservation des données](windows-nodered-data-retention-flow.md).

Ces deux flux fonctionnent ensemble pour garantir que les données sont à la fois envoyées AWS IoT SiteWise et stockées localement pour un accès immédiat.

[Pour accéder à votre console Node-RED, rendez-vous sur http://127.0.0.1:1880.](http://127.0.0.1:1880) Pour plus d'informations sur l'activation du protocole TLS, consultez la section [Activer le chiffrement TLS.](https://docs.influxdata.com/influxdb/v2/admin/security/enable-tls/)

# Configuration du flux de publication des données
<a name="windows-nodered-data-publish-flow"></a>

Le flux de publication des données utilise trois nœuds pour créer un pipeline qui envoie vos données industrielles vers le cloud. Ce flux est essentiel pour permettre l'analyse basée sur le cloud, le stockage à long terme et l'intégration avec d'autres AWS services. Tout d'abord, les données de l'appareil simulé sont envoyées au broker SiteWise Edge MQTT. La passerelle récupère les données auprès du courtier, ce qui permet de les transmettre au AWS IoT SiteWise cloud, où vous pouvez tirer parti de puissantes fonctionnalités d'analyse et de visualisation.
+ **Entrée de données** - Reçoit les données de l'appareil à partir de votre équipement industriel ou de vos simulateurs
+ **Traducteur de données pour AWS IoT SiteWise** : traduit les données au AWS IoT SiteWise format pour garantir la compatibilité avec la passerelle SiteWise Edge
+ **Éditeur MQTT** : publie les données sur le courtier SiteWise Edge MQTT, les mettant à la disposition des consommateurs locaux et du cloud

![\[Schéma illustrant le flux de publication de données Node-RED. Il envoie les données de l'appareil simulées au courtier SiteWise Edge MQTT pour qu'elles soient récupérées par SiteWise Edge Gateway, puis sur le AWS IoT SiteWise cloud.\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/images/gateway-open-source-nodered-publish-flow.png)


## Configuration du nœud de saisie de données
<a name="windows-nodered-data-input-config"></a>

Dans cet exemple, le nœud de saisie de données utilise un dispositif d'éolienne simulé qui génère des données sur la vitesse du vent. Ce nœud sert de point d'entrée pour vos données industrielles, qu'elles proviennent de sources simulées (comme dans notre exemple) ou d'équipements industriels réels dans des environnements de production.

Nous utilisons un format JSON personnalisé pour la charge utile des données afin de fournir une structure standardisée qui fonctionne efficacement avec les outils de traitement locaux et le service AWS IoT SiteWise cloud. Ce format inclut des métadonnées essentielles telles que les horodatages et les indicateurs de qualité, ainsi que les valeurs de mesure réelles, permettant une gestion complète des données et un suivi de la qualité tout au long de votre pipeline. Importez le nœud d'injection pour recevoir des données simulées dans ce format JSON standardisé avec des horodatages, des indicateurs de qualité et des valeurs.

*Pour plus d'informations sur le nœud d'injection Node-RED, consultez la section [Inject](https://nodered.org/docs/user-guide/nodes#inject) de la Node-RED documentation.*

Le simulateur de turbine génère des données sur la vitesse du vent chaque seconde dans ce format JSON standardisé :

**Example : Charge utile de données sur les turbines**  

```
{
    name: string,         // Property name/identifier
    timestamp: number,    // Epoch time in nanoseconds
    quality: "GOOD" | "UNCERTAIN" | "BAD",
    value: number | string | boolean
}
```

Ce format présente plusieurs avantages :
+ Le `name` champ identifie la propriété ou la mesure spécifique, ce qui vous permet de suivre plusieurs points de données à partir du même appareil
+ La valeur `timestamp` en nanosecondes garantit un suivi précis du temps pour une analyse historique précise
+ L'`quality`indicateur vous aide à filtrer et à gérer les données en fonction de leur fiabilité
+ Le `value` champ flexible prend en charge différents types de données pour s'adapter aux différentes sorties de capteurs

**Example : Nœud d'injection d'un simulateur de turbine**  

```
[
    {
        "id": "string",
        "type": "inject",
        "z": "string",
        "name": "Turbine Simulator",
        "props": [
            {
                "p": "payload.timestamp",
                "v": "",
                "vt": "date"
            },
            {
                "p": "payload.quality",
                "v": "GOOD",
                "vt": "str"
            },
            {
                "p": "payload.value",
                "v": "$random()",
                "vt": "jsonata"
            },
            {
                "p": "payload.name",
                "v": "/Renton/WindFarm/Turbine/WindSpeed",
                "vt": "str"
            }
        ],
        "repeat": "1",
        "crontab": "",
        "once": false,
        "onceDelay": "",
        "topic": "",
        "x": 270,
        "y": 200,
        "wires": [
            [
                "string"
            ]
        ]
    }
]
```

## Configuration d'un nœud pour la traduction des données
<a name="windows-nodered-sitewiseise-translator-config"></a>

La passerelle SiteWise Edge nécessite des données dans un format spécifique pour garantir la compatibilité avec AWS IoT SiteWise le cloud. Le nœud de traduction est un composant important qui convertit vos données d'entrée au format de AWS IoT SiteWise charge utile requis. Cette étape de traduction garantit que vos données industrielles peuvent être correctement traitées, stockées et analysées ultérieurement dans l'environnement AWS IoT SiteWise cloud.

En normalisant le format des données à ce stade, vous permettez l'intégration entre vos appareils périphériques et le service cloud, où vous pouvez utiliser les fonctionnalités de modélisation, d'analyse et de visualisation des actifs. Utilisez cette structure :

**Example : Structure de charge utile pour l'analyse des données SiteWise Edge**  

```
{
  "propertyAlias": "string",  
  "propertyValues": [
    {
      "value": { 
          "booleanValue": boolean, 
          "doubleValue": number, 
          "integerValue": number,
          "stringValue": "string" 
     },
      "timestamp": {
          "timeInSeconds": number,
          "offsetInNanos": number
      },
      "quality": "GOOD" | "UNCERTAIN" | "BAD",
  }]
}
```

**Note**  
Faites correspondre le `propertyAlias` à votre hiérarchie de sujets MQTT (par exemple,`/Renton/WindFarm/Turbine/WindSpeed`). Cela garantit que vos données sont correctement associées à la propriété d'actif appropriée dans AWS IoT SiteWise. Pour plus d'informations, consultez le concept « Alias de flux de données » dans[AWS IoT SiteWise concepts](concept-overview.md). 

1. Importez le nœud de fonction d'exemple pour la traduction de AWS IoT SiteWise la charge utile. Cette fonction gère la conversion de votre format d'entrée standardisé vers un format AWS IoT SiteWise compatible, garantissant ainsi un formatage d'horodatage, des indicateurs de qualité et une saisie de valeur appropriés.

   ```
   [
       {
           "id": "string",
           "type": "function",
           "z": "string",
           "name": "Translate to SiteWise payload",
           "func": "let input = msg.payload;\nlet output = {};\n\noutput[\"propertyAlias\"] = input.name;\n\nlet propertyVal = {}\n\nlet timeInSeconds = Math.floor(input.timestamp / 1000);\nlet offsetInNanos = (input.timestamp % 1000) * 1000000;\n\npropertyVal[\"timestamp\"] = {\n    \"timeInSeconds\": timeInSeconds,\n    \"offsetInNanos\": offsetInNanos,\n};\n\npropertyVal[\"quality\"] = input.quality\n\nlet typeNameConverter = {\n    \"number\": (x) => Number.isInteger(x) ? \"integerValue\" : \"doubleValue\",\n    \"boolean\": (x) => \"booleanValue\",\n    \"string\": (x) => \"stringValue\", \n}\nlet typeName = typeNameConverter[typeof input.value](input.value)\npropertyVal[\"value\"] = {}\npropertyVal[\"value\"][typeName] = input.value;\n\noutput[\"propertyValues\"] = [propertyVal]\n\nreturn {\n    payload: JSON.stringify(output)\n};",
           "outputs": 1,
           "timeout": "",
           "noerr": 0,
           "initialize": "",
           "finalize": "",
           "libs": [],
           "x": 530,
           "y": 200,
           "wires": [
               [
                   "string"
               ]
           ]
       }
   ]
   ```

1. Vérifiez que le JavaScript code traduit correctement les données de vitesse du vent. La fonction exécute plusieurs tâches importantes :
   + Extrait le nom de la propriété de l'entrée et le définit comme PropertyAlias
   + Convertit l'horodatage en millisecondes au format requis en secondes et nanosecondes
   + Préserve l'indicateur de qualité pour le suivi de la fiabilité des données
   + Détecte automatiquement le type de valeur et le formate en fonction des AWS IoT SiteWise besoins

1. Connectez le nœud à votre flux, en le liant entre le nœud d'entrée de données et l'éditeur MQTT.

Pour obtenir des conseils sur la rédaction d'une fonction spécifique aux besoins de votre entreprise, consultez la section [Fonctions d'écriture](https://nodered.org/docs/user-guide/writing-functions) dans la *Node-REDdocumentation*

## Configuration de l'éditeur MQTT
<a name="windows-nodered-mqtt-publisher-config"></a>

Après la traduction, les données sont prêtes à être publiées sur le broker SiteWise Edge MQTT.

Configurez l'éditeur MQTT avec les paramètres suivants pour envoyer des données au courtier SiteWise Edge MQTT :

**Pour importer le nœud MQTT sortant**

1. Importez un nœud de configuration MQTT en utilisant`"type": "mqtt out"`. Les nœuds de sortie MQTT vous permettent de partager la configuration d'un broker.

1. Entrez des paires clé-valeur pour les informations relatives à la connexion au courtier MQTT et au routage des messages.

Importez le `mqtt out` nœud d'exemple.

**Example**  

```
[
    {
        "id": "string",
        "type": "mqtt out",
        "z": "string",
        "name": "Publish to MQTT broker",
        "topic": "/Renton/WindFarm/Turbine/WindSpeed",
        "qos": "1",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "string",
        "x": 830,
        "y": 200,
        "wires": []
    },
    {
        "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": ""
    }
]
```

L'exemple de nœud de sortie MQTT crée la connexion MQTT avec les informations suivantes :
+ Serveur : `127.0.0.1`
+ Port : `1883`
+ Protocole : `MQTT V5`

Le nœud de sortie MQTT configure ensuite le routage des messages avec les informations suivantes :
+ Sujet: `/Renton/WindFarm/Turbine/WindSpeed`
+ QoS : `1`

## Déployer et vérifier les nœuds
<a name="windows-verify-deployment"></a>

Après avoir configuré les trois nœuds du flux de publication des données, procédez comme suit pour déployer le flux et vérifier que les données sont correctement transmises à AWS IoT SiteWise

**Pour déployer et vérifier les connexions**

1. Connectez les trois nœuds comme indiqué dans le flux de publication des données.  
![\[Data publish flow diagram showing input from turbine simulator to AWS IoT SiteWise to MQTT broker.\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/images/gateway-open-source-nodered-publish-flow.png)

1. Choisissez **Déployer** pour appliquer toutes les modifications de connexion aux nœuds.

1. Accédez à la [AWS IoT SiteWise console](https://console.aws.amazon.com/iotsitewise/) et choisissez **Data streams**.

1. Assurez-vous que le **préfixe Alias** est sélectionné dans le menu déroulant. Recherchez ensuite l'`/Renton/WindFarm/Turbine/WindSpeed`alias.

Si vous voyez le bon alias dans votre recherche, cela signifie que vous avez déployé le flux et vérifié la transmission des données.

# Configuration du flux de conservation des données
<a name="windows-nodered-data-retention-flow"></a>

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\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/images/gateway-open-source-nodered-data-retention.png)


## Configuration du client d'abonnement MQTT
<a name="windows-nodered-mqtt-subscriber"></a>
+ 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.  
**Example : 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 auprès du 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](windows-nodered-data-publish-flow.md#windows-nodered-mqtt-publisher-config) 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](https://cookbook.nodered.org/mqtt/connect-to-broker) dans la *Node-REDdocumentation*.

## Configurer le traducteur InfluxDB
<a name="windows-nodered-influxdb-translator"></a>

InfluxDB organise les données à l'aide de [balises](https://docs.influxdata.com/influxdb/v1/concepts/glossary/#tag) pour l'indexation et de [champs](https://docs.influxdata.com/influxdb/v1/concepts/glossary/#field) 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

**Example : 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-influxdb](https://github.com/mblackstock/node-red-contrib-influxdb)le référentiel Node-RED. GitHub 

## Configurer le rédacteur InfluxDB
<a name="windows-nodered-influxdb-writer"></a>

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.

1. 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.

1. 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

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

   1. 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](windows-influxdb-setup.md) procédure.

1. 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](https://docs.influxdata.com/influxdb/v2/admin/organizations/) dans le *InfluxData Documentation*.

   1. 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

   1. 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.](https://docs.influxdata.com/influxdb/v2/admin/organizations/)

## Déployer et vérifier le flux de rétention
<a name="windows-nodered-retention-deploy"></a>

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\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/images/gateway-open-source-nodered-data-retention.png)

1. Choisissez **Déployer** pour appliquer vos modifications et activer le flux. Cela lance le processus de collecte et de stockage des données.

1. 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](https://docs.influxdata.com/influxdb/v2/query-data/execute-queries/data-explorer/) 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.

# Configurer Grafana pour Edge SiteWise
<a name="windows-grafana"></a>

 Grafana® vous permet de créer des tableaux de bord de surveillance locaux en temps réel pour vos données industrielles. En visualisant les données stockées dans InfluxDB®, vous pouvez fournir aux opérateurs des informations immédiates sur les performances des équipements, l'efficacité des processus et les problèmes potentiels. Cette visibilité à la périphérie est importante pour les opérations urgentes et pour assurer la continuité en cas de perturbations du réseau.

## Configuration de la source de données
<a name="windows-grafana-data-source-config"></a>

La connexion de Grafana à votre base de données InfluxDB crée une puissante couche de visualisation pour vos données industrielles. Cette connexion permet de créer des tableaux de bord de surveillance en temps réel que les opérateurs peuvent utiliser pour prendre des décisions éclairées sans dépendre du cloud.

1. Accédez à votre instance Grafana localement en accédant à [http://127.0.0.1:3000](http://127.0.0.1:3000) dans votre navigateur. *Si l'activation du protocole TLS est requise, vous pouvez consulter la section [Configurer Grafana HTTPS pour un trafic Web sécurisé](https://grafana.com/docs/grafana/latest/setup-grafana/set-up-https/) dans Grafana Labs la documentation.*

1. Ajoutez une source de données InfluxDB pointant vers le bucket de séries chronologiques InfluxDB dans lequel Node-RED écrit les données. Par exemple, `WindFarmData`. Cette connexion établit le lien entre vos données stockées et la plateforme de visualisation.

1. *Pour des instructions détaillées, voir [Configurer la source de données InfluxDB](https://grafana.com/docs/grafana/latest/datasources/influxdb/configure-influxdb-data-source/) dans la Grafana Labs documentation.*

### Création d'un tableau de bord Grafana pour les données Edge SiteWise
<a name="windows-grafana-create-dashboard"></a>

La création d'un tableau de bord est la dernière étape de la création de votre solution de surveillance locale. Les tableaux de bord fournissent des représentations visuelles de vos données industrielles, ce qui permet d'identifier plus facilement les tendances, les anomalies et les problèmes potentiels en un coup d'œil.
+ Suivez le guide pour créer un tableau de bord. Pour plus d'informations, consultez la section [Création de votre premier tableau de bord](https://grafana.com/docs/grafana/latest/getting-started/build-first-dashboard/) dans la *Grafana Labsdocumentation*. Ce modèle suppose que votre compartiment porte un nom `WindFarmData` et que la mesure l'est`TurbineData`.

  Vous pouvez également utiliser le guide de démarrage rapide en important l'exemple de modèle de tableau de bord fourni pour créer rapidement un tableau de bord avec un diagramme chronologique pour les données générées par Node-RED dans la section précédente. Ce modèle fournit un point de départ que vous pouvez personnaliser pour répondre à vos besoins de surveillance spécifiques.

  ```
  {
    "__inputs": [
      {
        "name": "DS_WINDFARM-DEMO",
        "label": "windfarm-demo",
        "description": "",
        "type": "datasource",
        "pluginId": "influxdb",
        "pluginName": "InfluxDB"
      }
    ],
    "__elements": {},
    "__requires": [
      {
        "type": "grafana",
        "id": "grafana",
        "name": "Grafana",
        "version": "11.6.0-pre"
      },
      {
        "type": "datasource",
        "id": "influxdb",
        "name": "InfluxDB",
        "version": "1.0.0"
      },
      {
        "type": "panel",
        "id": "timeseries",
        "name": "Time series",
        "version": ""
      }
    ],
    "annotations": {
      "list": [
        {
          "builtIn": 1,
          "datasource": {
            "type": "grafana",
            "uid": "-- Grafana --"
          },
          "enable": true,
          "hide": true,
          "iconColor": "rgba(0, 211, 255, 1)",
          "name": "Annotations & Alerts",
          "type": "dashboard"
        }
      ]
    },
    "editable": true,
    "fiscalYearStartMonth": 0,
    "graphTooltip": 0,
    "id": null,
    "links": [],
    "panels": [
      {
        "datasource": {
          "type": "influxdb",
          "uid": "${DS_WINDFARM-DEMO}"
        },
        "fieldConfig": {
          "defaults": {
            "color": {
              "mode": "palette-classic"
            },
            "custom": {
              "axisBorderShow": false,
              "axisCenteredZero": false,
              "axisColorMode": "text",
              "axisLabel": "",
              "axisPlacement": "auto",
              "barAlignment": 0,
              "barWidthFactor": 0.6,
              "drawStyle": "line",
              "fillOpacity": 0,
              "gradientMode": "none",
              "hideFrom": {
                "legend": false,
                "tooltip": false,
                "viz": false
              },
              "insertNulls": false,
              "lineInterpolation": "linear",
              "lineWidth": 1,
              "pointSize": 5,
              "scaleDistribution": {
                "type": "linear"
              },
              "showPoints": "auto",
              "spanNulls": false,
              "stacking": {
                "group": "A",
                "mode": "none"
              },
              "thresholdsStyle": {
                "mode": "off"
              }
            },
            "mappings": [],
            "thresholds": {
              "mode": "absolute",
              "steps": [
                {
                  "color": "green"
                },
                {
                  "color": "red",
                  "value": 80
                }
              ]
            }
          },
          "overrides": []
        },
        "gridPos": {
          "h": 8,
          "w": 12,
          "x": 0,
          "y": 0
        },
        "id": 1,
        "options": {
          "legend": {
            "calcs": [],
            "displayMode": "list",
            "placement": "bottom",
            "showLegend": true
          },
          "tooltip": {
            "hideZeros": false,
            "mode": "single",
            "sort": "none"
          }
        },
        "pluginVersion": "11.6.0-pre",
        "targets": [
          {
            "datasource": {
              "type": "influxdb",
              "uid": "${DS_WINDFARM-DEMO}"
            },
            "query": "from(bucket: \"WindFarmData\")\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"TurbineData\")\n  |> filter(fn: (r) => r[\"_field\"] == \"value\")\n  |> filter(fn: (r) => r[\"name\"] == \"/Renton/WindFarm/Turbine/WindSpeed\")\n  |> filter(fn: (r) => r[\"quality\"] == \"GOOD\")\n  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n  |> yield(name: \"mean\")",
            "refId": "A"
          }
        ],
        "title": "Panel Title",
        "type": "timeseries"
      }
    ],
    "schemaVersion": 41,
    "tags": [],
    "templating": {
      "list": []
    },
    "time": {
      "from": "now-6h",
      "to": "now"
    },
    "timepicker": {},
    "timezone": "browser",
    "title": "demo dashboard",
    "uid": "fejc0t08o6d4wb",
    "version": 1,
    "weekStart": ""
  }
  ```