Questions fréquentes sur l’accélérateur de solution d’usine connectéeFrequently asked questions for Connected Factory solution accelerator

Voir aussi les questions fréquentes (FAQ) d’ordre général sur les accélérateurs de solution IoT.See also, the general FAQ for IoT solution accelerators.

Où trouver le code source de l’accélérateur de solution ?Where can I find the source code for the solution accelerator?

Le code source est stocké dans le dépôt GitHub suivant :The source code is stored in the following GitHub repository:

Qu’est-ce que l’UA OPC ?What is OPC UA?

OPC UA (Unified Architecture) est un standard d’interopérabilité indépendant de la plateforme et orienté services, qui date de 2008.OPC Unified Architecture (UA), released in 2008, is a platform-independent, service-oriented interoperability standard. OPC UA est utilisé par différents systèmes et dispositifs industriels tels que les PC industriels, les automates programmables industriels et les capteurs.OPC UA is used by various industrial systems and devices such as industry PCs, PLCs, and sensors. OPC UA intègre les fonctionnalités des spécifications OPC Classic dans un seul et même framework extensible avec un dispositif de sécurité intégré.OPC UA integrates the functionality of the OPC Classic specifications into one extensible framework with built-in security. La fondation OPC Foundation est à l’origine de cette norme.It is a standard that is driven by the OPC Foundation. OPC Foundation est une organisation à but non lucratif qui compte plus de 440 membres.The OPC Foundation is a not-for-profit organization with more than 440 members. L’objectif de cette organisation est d’utiliser les spécifications OPC de façon à favoriser une interopérabilité fiable et sécurisée entre les fabricants et les plateformes par les moyens suivants :The goal of the organization is to use OPC specifications to facilitate multi-vendor, multi-platform, secure and reliable interoperability through:

  • InfrastructureInfrastructure
  • SpécificationsSpecifications
  • TechnologyTechnology
  • ProcessusProcesses

Pourquoi le choix de Microsoft s’est-il porté sur OPC UA en matière d’accélérateur de solution d’usine connectée ?Why did Microsoft choose OPC UA for the Connected Factory solution accelerator?

Microsoft a choisi l’UA OPC, car il s’agit d’une norme ouverte, non propriétaire, ne dépendant pas d’une plateforme, reconnue par le secteur et éprouvée.Microsoft chose OPC UA because it is an open, non-proprietary, platform independent, industry-recognized, and proven standard. Elle est exigée pour les solutions d’architecture de référence Industrie 4.0 (RAMI4.0) assurant l’interopérabilité entre un large ensemble de processus de fabrication et les équipements.It is a requirement for Industrie 4.0 (RAMI4.0) reference architecture solutions ensuring interoperability between a broad set of manufacturing processes and equipment. Microsoft constate une demande de solutions Industrie 4.0 chez ses clients.Microsoft sees demand from its customers to build Industrie 4.0 solutions. La prise en charge de l’UA OPC permet de supprimer la barrière empêchant les clients d’atteindre leurs objectifs et leur apporte une valeur commerciale instantanée.Support for OPC UA helps lower the barrier for customers to achieve their goals and provides immediate business value to them.

Comment ajouter une adresse IP publique à la machine virtuelle de simulation ?How do I add a public IP address to the simulation VM?

Vous pouvez ajouter l’adresse IP de deux manières :You have two options to add the IP address:

  • Utilisez le script PowerShell Simulation/Factory/Add-SimulationPublicIp.ps1 dans le dépôt.Use the PowerShell script Simulation/Factory/Add-SimulationPublicIp.ps1 in the repository. Passez le nom de votre déploiement en tant que paramètre.Pass in your deployment name as a parameter. Pour un déploiement local, utilisez <your username>ConnFactoryLocal.For a local deployment, use <your username>ConnFactoryLocal. Le script imprime l’adresse IP de la machine virtuelle.The script prints out the IP address of the VM.

  • Dans le portail Azure, recherchez le groupe de ressources de votre déploiement.In the Azure portal, locate the resource group of your deployment. À moins qu’il s’agisse d’un déploiement local, le groupe de ressources porte le nom que vous avez spécifié comme nom de solution ou de déploiement.Except for a local deployment, the resource group has the name you specified as solution or deployment name. Pour un déploiement local utilisant le script build, le nom du groupe de ressources est <your username>ConnFactoryLocal.For a local deployment using the build script, the name of the resource group is <your username>ConnFactoryLocal. À présent, ajoutez une nouvelle ressource Adresse IP publique au groupe de ressources.Now add a new Public IP address resource to the resource group.

Notes

Dans les deux cas, veillez à installer les derniers correctifs en suivant les instructions sur le site web Ubuntu.In either case, ensure you install the latest patches by following the instructions on the Ubuntu website. Tenez à jour l’installation aussi longtemps que votre machine virtuelle est accessible via une adresse IP publique.Keep the installation up to date for as long as your VM is accessible through a public IP address.

Comment supprimer l’adresse IP publique de la machine virtuelle de simulation ?How do I remove the public IP address to the simulation VM?

Vous pouvez supprimer l’adresse IP de deux manières :You have two options to remove the IP address:

  • Utilisez le script PowerShell Simulation/Factory/Remove-SimulationPublicIp.ps1 du dépôt.Use the PowerShell script Simulation/Factory/Remove-SimulationPublicIp.ps1 of the repository. Passez le nom de votre déploiement en tant que paramètre.Pass in your deployment name as a parameter. Pour un déploiement local, utilisez <your username>ConnFactoryLocal.For a local deployment, use <your username>ConnFactoryLocal. Le script imprime l’adresse IP de la machine virtuelle.The script prints out the IP address of the VM.

  • Dans le portail Azure, recherchez le groupe de ressources de votre déploiement.In the Azure portal, locate the resource group of your deployment. À moins qu’il s’agisse d’un déploiement local, le groupe de ressources porte le nom que vous avez spécifié comme nom de solution ou de déploiement.Except for a local deployment, the resource group has the name you specified as solution or deployment name. Pour un déploiement local utilisant le script build, le nom du groupe de ressources est <your username>ConnFactoryLocal.For a local deployment using the build script, the name of the resource group is <your username>ConnFactoryLocal. À présent, supprimez la ressource Adresse IP publique du groupe de ressources.Now remove the Public IP address resource from the resource group.

Comment se connecter à la machine virtuelle de simulation ?How do I sign in to the simulation VM?

La connexion à la machine virtuelle de simulation n’est prise en charge que si vous avez déployé votre solution à l’aide du script PowerShell build.ps1 du dépôt.Signing in to the simulation VM is only supported if you have deployed your solution using the PowerShell script build.ps1 in the repository.

Si vous avez déployé la solution à partir de www.azureiotsolutions.com, vous ne pouvez pas vous connecter à la machine virtuelle.If you deployed the solution from www.azureiotsolutions.com, you cannot sign in to the VM. En effet, le mot de passe est généré de façon aléatoire, donc vous ne pouvez pas le réinitialiser.You cannot sign in, because the password is generated randomly and you cannot reset it.

  1. Ajoutez une adresse IP publique à la machine virtuelle.Add a public IP address to the VM. Consultez Comment ajouter une adresse IP publique à la machine virtuelle de simulation ?.See How do I add a public IP address to the simulation VM?
  2. Créez une session SSH sur votre machine virtuelle en utilisant l’adresse IP de la machine virtuelle.Create an SSH session to your VM using the IP address of the VM.
  3. Le nom d’utilisateur à utiliser est docker.The username to use is: docker.
  4. Le mot de passe à utiliser dépend de la version que vous avez utilisée pour le déploiement :The password to use depends on the version you used to deploy:
    • Pour les solutions déployées à l’aide du script build.ps1 avant le 1er juin 2017, le mot de passe est Passw0rd.For solutions deployed using the build.ps1 script before 1 June 2017, the password is: Passw0rd.
    • Pour les solutions déployées à l’aide du script build.ps1 après le 1er juin 2017, le mot de passe est <name of your deployment>.config.user.For solutions deployed using the build.ps1 script after 1 June 2017, you can find the password in the <name of your deployment>.config.user file. Le mot de passe est stocké dans le paramètre VmAdminPassword.The password is stored in the VmAdminPassword setting. Le mot de passe est généré de façon aléatoire au moment du déploiement, sauf si vous le spécifiez à l’aide du paramètre -VmAdminPassword du script build.ps1.The password is generated randomly at deployment time unless you specify it using the build.ps1 script parameter -VmAdminPassword

Comment arrêter et démarrer tous les processus Docker dans la machine virtuelle de simulation ?How do I stop and start all docker processes in the simulation VM?

  1. Connectez-vous à la machine virtuelle de simulation.Sign in to the simulation VM. Consultez Comment se connecter à la machine virtuelle de simulation ?.See How do I sign in to the simulation VM?
  2. Pour identifier les conteneurs actifs, exécutez docker ps.To check which containers are active, run: docker ps.
  3. Pour arrêter tous les conteneurs de simulation, exécutez ./stopsimulation.To stop all simulation containers, run: ./stopsimulation.
  4. Pour démarrer tous les conteneurs de simulation :To start all simulation containers:
    • Exportez une variable shell sous le nom IOTHUB_CONNECTIONSTRING.Export a shell variable with the name IOTHUB_CONNECTIONSTRING. Utilisez la valeur du paramètre IotHubOwnerConnectionString du fichier <name of your deployment>.config.user.Use the value of the IotHubOwnerConnectionString setting in the <name of your deployment>.config.user file. Par exemple :For example:

      export IOTHUB_CONNECTIONSTRING="HostName={yourdeployment}.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey={your key}"
      
    • Exécutez ./startsimulation.Run ./startsimulation.

Comment mettre à jour la simulation dans la machine virtuelle ?How do I update the simulation in the VM?

Si vous avez apporté des modifications à la simulation, vous pouvez utiliser le script PowerShell build.ps1 du dépôt en utilisant la commande updatedimulation.If you have made any changes to the simulation, you can use the PowerShell script build.ps1 in the repository using the updatedimulation command. Ce script génère tous les composants de simulation, arrête la simulation dans la machine virtuelle, puis les charge, les installe et les démarre.This script builds all the simulation components, stops the simulation in the VM, uploads, installs, and starts them.

Comment identifier la chaîne de connexion du hub IoT utilisé par ma solution ?How do I find out the connection string of the IoT hub used by my solution?

Si vous avez déployé votre solution avec le script build.ps1 du dépôt, la chaîne de connexion est la valeur de IotHubOwnerConnectionString du fichier <name of your deployment>.config.user.If you deployed your solution with the build.ps1 script in the repository, the connection string is the value of IotHubOwnerConnectionString in the <name of your deployment>.config.user file.

Vous pouvez aussi trouver la chaîne de connexion dans le portail Azure.You can also find the connection string using the Azure portal. Dans la ressource IoT Hub du groupe de ressources de votre déploiement, recherchez les paramètres de chaîne de connexion.In the IoT Hub resource in the resource group of your deployment, locate the connection string settings.

Quels sont les appareils IoT Hub utilisés par la simulation d’usine connectée ?Which IoT Hub devices does the Connected Factory simulation use?

La simulation inscrit elle-même les appareils suivants :The simulation self registers the following devices:

  • proxy.beijing.corp.contosoproxy.beijing.corp.contoso
  • proxy.capetown.corp.contosoproxy.capetown.corp.contoso
  • proxy.mumbai.corp.contosoproxy.mumbai.corp.contoso
  • proxy.munich0.corp.contosoproxy.munich0.corp.contoso
  • proxy.rio.corp.contosoproxy.rio.corp.contoso
  • proxy.seattle.corp.contosoproxy.seattle.corp.contoso
  • publisher.beijing.corp.contosopublisher.beijing.corp.contoso
  • publisher.capetown.corp.contosopublisher.capetown.corp.contoso
  • publisher.mumbai.corp.contosopublisher.mumbai.corp.contoso
  • publisher.munich0.corp.contosopublisher.munich0.corp.contoso
  • publisher.rio.corp.contosopublisher.rio.corp.contoso
  • publisher.seattle.corp.contosopublisher.seattle.corp.contoso

À l’aide de l’outil DeviceExplorer ou de l’extension IoT pour Azure CLI, vous pouvez identifier les appareils inscrits auprès du hub IoT utilisé par votre solution.Using the DeviceExplorer or the IoT extension for Azure CLI tool, you can check which devices are registered with the IoT hub your solution is using. Pour utiliser l’explorateur d’appareils, vous avez besoin de la chaîne de connexion du hub IoT de votre déploiement.To use device explorer, you need the connection string for the IoT hub in your deployment. Pour utiliser l’extension IoT pour Azure CLI, vous avez besoin de votre nom d’IoT Hub.To use the IoT extension for Azure CLI, you need your IoT Hub name.

Comment obtenir les données de journal des composants de simulation ?How can I get log data from the simulation components?

Tous les composants de la simulation enregistrent des informations dans des fichiers journaux.All components in the simulation log information in to log files. Ces fichiers se trouvent dans la machine virtuelle dans le dossier home/docker/Logs.These files can be found in the VM in the folder home/docker/Logs. Pour récupérer les journaux d’activité, vous pouvez utiliser le script PowerShell Simulation/Factory/Get-SimulationLogs.ps1 du dépôt.To retrieve the logs, you can use the PowerShell script Simulation/Factory/Get-SimulationLogs.ps1 in the repository.

Ce script doit se connecter à la machine virtuelle.This script needs to sign in to the VM. Vous serez peut-être amené à fournir des informations d’identification pour vous connecter.You may need to provide credentials for the sign-in. Pour savoir comment trouver les informations d’identification, consultez Comment se connecter à la machine virtuelle de simulation ?.See How do I sign in to the simulation VM? to find the credentials.

Le script ajoute une adresse IP publique à la machine virtuelle, si elle n’en dispose pas déjà d’une, puis la supprime.The script adds/removes a public IP address to the VM, if it does not yet have one and removes it. Le script place tous les fichiers journaux dans une archive et télécharge celle-ci sur votre station de travail de développement.The script puts all log files in an archive and downloads the archive to your development workstation.

Vous pouvez aussi vous connecter à la machine virtuelle via SSH et inspecter les fichiers journaux au moment de l’exécution.Alternatively log in to the VM via SSH and inspect the log files at runtime.

Comment vérifier si la simulation envoie des données vers le cloud ?How can I check if the simulation is sending data to the cloud?

Avec l’outil DeviceExplorer ou la commande d’extension CLI Azure IoT monitor-events, vous pouvez inspecter les données envoyées à IoT Hub à partir de certains appareils.With the DeviceExplorer or the Azure IoT CLI Extension monitor-events command, you can inspect the data sent to IoT Hub from certain devices. Pour utiliser ces outils, vous devez connaître la chaîne de connexion du hub IoT de votre déploiement.To use these tools, you need to know the connection string for the IoT hub in your deployment. Consultez Comment identifier la chaîne de connexion du hub IoT utilisé par ma solution ?.See How do I find out the connection string of the IoT hub used by my solution?

Inspecter les données envoyées par l’un des appareils serveur de publication :Inspect the data sent by one of the publisher devices:

  • publisher.beijing.corp.contosopublisher.beijing.corp.contoso
  • publisher.capetown.corp.contosopublisher.capetown.corp.contoso
  • publisher.mumbai.corp.contosopublisher.mumbai.corp.contoso
  • publisher.munich0.corp.contosopublisher.munich0.corp.contoso
  • publisher.rio.corp.contosopublisher.rio.corp.contoso
  • publisher.seattle.corp.contosopublisher.seattle.corp.contoso

Si vous constatez qu’aucune donnée n’a été envoyée à IoT Hub, c’est qu’il y a un problème au niveau de la simulation.If you see no data sent to IoT Hub, then there is an issue with the simulation. La première étape d’analyse que vous devez effectuer consiste à analyser les fichiers journaux des composants de simulation.As a first analysis step you should analyze the log files of the simulation components. Consultez Comment obtenir les données de journal des composants de simulation ?.See How can I get log data from the simulation components? Ensuite, essayez d’arrêter et de démarrer la simulation et si aucune donnée n’est toujours envoyée, mettez entièrement à jour la simulation.Next, try to stop and start the simulation and if there's still no data sent, update the simulation completely. Consultez Comment mettre à jour la simulation dans la machine virtuelle ?.See How do I update the simulation in the VM?

Comment activer une carte interactive dans ma solution d’usine connectée ?How do I enable an interactive map in my Connected Factory solution?

Pour activer une carte interactive dans votre solution d’usine connectée, vous devez disposer d’un compte Azure Maps.To enable an interactive map in your Connected Factory solution, you must have an Azure Maps account.

Lors du déploiement à partir de www.azureiotsolutions.com, le processus de déploiement ajoute un compte Azure Maps au groupe de ressources qui contient les services d’accélérateur de solution.When deploying from www.azureiotsolutions.com, the deployment process adds an Azure Maps account to the resource group that contains the solution accelerator services.

Quand vous procédez au déploiement à l’aide du script build.ps1 dans le dépôt GitHub d’usine connectée, affectez à la variable d’environnement $env:MapApiQueryKey dans la fenêtre de build la clé de votre compte Azure Maps.When you deploy using the build.ps1 script in the Connected Factory GitHub repository set the environment variable $env:MapApiQueryKey in the build window to the key of your Azure Maps account. La carte interactive est ensuite automatiquement activée.The interactive map is then enabled automatically.

Vous pouvez également ajouter une clé de compte Azure Maps à votre accélérateur de solution après le déploiement.You can also add an Azure Maps account key to your solution accelerator after deployment. Accédez au portail Azure, puis à la ressource App Service dans le déploiement de votre solution d’usine connectée.Navigate to the Azure portal and access the App Service resource in your Connected Factory deployment. Accédez aux Paramètres de l’application, où vous trouverez une section Paramètres de l’application.Navigate to Application settings, where you find a section Application settings. Affectez la valeur MapApiQueryKey à la clé de votre compte Azure Maps.Set the MapApiQueryKey to the key of your Azure Maps account. Enregistrez les paramètres, puis accédez à la Vue d’ensemble et redémarrez App Service.Save the settings and then navigate to Overview and restart the App Service.

Comment créer un compte Azure Maps ?How do I create an Azure Maps account?

Consultez Guide pratique sur la gestion de votre compte et de vos clés Azure Maps.See, How to manage your Azure Maps account and keys.

Comment obtenir votre clé de compte Azure MapsHow to obtain your Azure Maps account key

Consultez Guide pratique sur la gestion de votre compte et de vos clés Azure Maps.See, How to manage your Azure Maps account and keys.

Comment activer la carte interactive pendant un débogage local ?How do enable the interactive map while debugging locally?

Pour activer la carte interactive pendant un débogage local, affectez la valeur de la QueryKey copiée précédemment au paramètre MapApiQueryKey dans les fichiers local.user.config et <yourdeploymentname>.user.config à la racine de votre déploiement.To enable the interactive map while you are debugging locally, set the value of the setting MapApiQueryKey in the files local.user.config and <yourdeploymentname>.user.config in the root of your deployment to the value of the QueryKey you copied previously.

Comment utiliser une autre image sur la page d’accueil du tableau de bord ?How do I use a different image at the home page of my dashboard?

Pour modifier l’image statique qui s’affiche sur la page d’accueil du tableau de bord, remplacez l’image WebApp\Content\img\world.jpg.To change the static image shown io the home page of the dashboard, replace the image WebApp\Content\img\world.jpg. Ensuite, régénérez et redéployez l’application WebApp.Then rebuild and redeploy the WebApp.

Comment utiliser des appareils d’un autre type qu’OPC UA avec la solution d’usine connectée ?How do I use non OPC UA devices with Connected Factory?

Pour envoyer des données de télémétrie à la solution d’usine connectée à partir d’appareils d’un autre type qu’OPC UA :To send telemetry data from non OPC UA devices to Connected Factory:

  1. Configurez une nouvelle station dans la topologie d’usine connectée dans le fichier ContosoTopologyDescription.json.Configure a new station in the Connected Factory topology in the ContosoTopologyDescription.json file.

  2. Ingérez les données de télémétrie dans un format JSON compatible avec la solution d’usine connectée :Ingest the telemetry data in Connected Factory compatible JSON format:

    [
      {
        "ApplicationUri": "<the_value_of_OpcUri_of_your_station",
        "DisplayName": "<name_of_the_datapoint>",
        "NodeId": "value_of_NodeId_of_your_datapoint_in_the_station",
        "Value": {
          "Value": <datapoint_value>,
          "SourceTimestamp": "<timestamp>"
        }
      }
    ]
    
  3. Le format de <timestamp> est 2017-12-08T19:24:51.886753Z.The format of <timestamp> is: 2017-12-08T19:24:51.886753Z

  4. Redémarrez l’App Service d’usine connectée.Restart the Connected Factory App Service.

Étapes suivantesNext steps

Vous pouvez également explorer certaines des autres fonctionnalités et capacités des accélérateurs de solution IoT :You can also explore some of the other features and capabilities of the IoT solution accelerators: