Domande frequenti sulla soluzione preconfigurata di connected factory di IoT SuiteFrequently asked questions for IoT Suite connected factory preconfigured solution

Vedere anche le domande frequenti generali su IoT Suite.See also, the general FAQ for IoT Suite.

Dove è possibile visualizzare il codice sorgente per la soluzione preconfigurata?Where can I find the source code for the preconfigured solution?

Il codice sorgente è archiviato nel repository di GitHub seguente:The source code is stored in the following GitHub repository:

Che cos'è OPC UA?What is OPC UA?

OPC Unified Architecture (UA), rilasciato nel 2008, è uno standard di interoperabilità indipendente dalla piattaforma e orientato ai servizi.OPC Unified Architecture (UA), released in 2008, is a platform-independent, service-oriented interoperability standard. OPC UA viene anche usato da svariati sistemi e dispositivi di settore, ad esempio PC, PLC e sensori.OPC UA is used by various industrial systems and devices such as industry PCs, PLCs, and sensors. OPC UA integra la funzionalità delle specifiche OPC Classic in un unico framework estendibile con sicurezza predefinita.OPC UA integrates the functionality of the OPC Classic specifications into one extensible framework with built-in security. È uno standard definito da OPC Foundation.It is a standard that is driven by the OPC Foundation. OPC Foundation è un'organizzazione no profit che conta più di 440 membri.The OPC Foundation is a not-for-profit organization with more than 440 members. L'obiettivo dell'organizzazione è di usare le specifiche OPC per realizzare un'interoperabilità sicura e affidabile multifornitore e multipiattaforma tramite:The goal of the organization is to use OPC specifications to facilitate multi-vendor, multi-platform, secure and reliable interoperability through:

  • InfrastrutturaInfrastructure
  • SpecificheSpecifications
  • TecnologiaTechnology
  • ProcessiProcesses

Perché Microsoft ha scelto OPC UA per la soluzione preconfigurata di connected factory?Why did Microsoft choose OPC UA for the connected factory preconfigured solution?

Microsoft ha scelto OPC UA perché è uno standard aperto, non proprietario, indipendente dalla piattaforma, riconosciuto nel settore e collaudato.Microsoft chose OPC UA because it is an open, non-proprietary, platform independent, industry-recognized, and proven standard. È un requisito per le soluzioni basate sull'architettura di riferimento Industrie 4.0 (RAMI4.0) che assicurano l'interoperabilità tra un'ampia serie di processi e attrezzature di produzione.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 è consapevole della richiesta dei clienti di creare soluzioni Industrie 4.0.Microsoft sees demand from our customers to build Industrie 4.0 solutions. Il supporto per OPC UA consente di agevolare i clienti nel raggiungimento degli obiettivi e offre immediatamente valore aggiunto.Support for OPC UA helps lower the barrier for customers to achieve their goals and provides immediate business value to them.

Come è possibile aggiungere un indirizzo IP pubblico alla macchina virtuale di simulazione?How do I add a public IP address to the simulation VM?

Sono disponibili due opzioni per aggiungere l'indirizzo IP:You have two options to add the IP address:

  • Usare lo script di PowerShell Simulation/Factory/Add-SimulationPublicIp.ps1 nel repository.Use the PowerShell script Simulation/Factory/Add-SimulationPublicIp.ps1 in the repository. Passare il nome della distribuzione come parametro.Pass in your deployment name as a parameter. Per una distribuzione locale, usare <your username>ConnFactoryLocal.For a local deployment, use <your username>ConnFactoryLocal. Lo visualizza l'indirizzo IP della VM.The script prints out the IP address of the VM.

  • Nel portale di Azure individuare il gruppo di risorse della distribuzione.In the Azure portal, locate the resource group of your deployment. Fatta eccezione per una distribuzione locale, il gruppo di risorse ha il nome specificato come nome della soluzione o della distribuzione.Except for a local deployment, the resource group has the name you specified as solution or deployment name. Per una distribuzione locale che usa lo script di compilazione, il nome del gruppo di risorse è <your username>ConnFactoryLocal.For a local deployment using the build script, the name of the resource group is <your username>ConnFactoryLocal. Aggiungere ora una nuova risorsa Indirizzo IP pubblico al gruppo di risorse.Now add a new Public IP address resource to the resource group.

Nota

In entrambi i casi, assicurarsi di installare le patch più recenti seguendo le istruzioni del sito Web Ubuntu.In either case, ensure you install the latest patches by following the instructions on the Ubuntu website. Mantenere l'installazione aggiornata finché la VM è accessibile tramite un indirizzo IP pubblico.Keep the installation up to date for as long as your VM is accessible through a public IP address.

Come è possibile rimuovere l'indirizzo IP pubblico alla macchina virtuale di simulazione?How do I remove the public IP address to the simulation VM?

Sono disponibili due opzioni per rimuovere l'indirizzo IP:You have two options to remove the IP address:

  • Usare lo script di PowerShell Simulation/Factory/Remove-SimulationPublicIp.ps1 del repository.Use the PowerShell script Simulation/Factory/Remove-SimulationPublicIp.ps1 of the repository. Passare il nome della distribuzione come parametro.Pass in your deployment name as a parameter. Per una distribuzione locale, usare <your username>ConnFactoryLocal.For a local deployment, use <your username>ConnFactoryLocal. Lo visualizza l'indirizzo IP della VM.The script prints out the IP address of the VM.

  • Nel portale di Azure individuare il gruppo di risorse della distribuzione.In the Azure portal, locate the resource group of your deployment. Fatta eccezione per una distribuzione locale, il gruppo di risorse ha il nome specificato come nome della soluzione o della distribuzione.Except for a local deployment, the resource group has the name you specified as solution or deployment name. Per una distribuzione locale che usa lo script di compilazione, il nome del gruppo di risorse è <your username>ConnFactoryLocal.For a local deployment using the build script, the name of the resource group is <your username>ConnFactoryLocal. Rimuovere ora la risorsa Indirizzo IP pubblico dal gruppo di risorse.Now remove the Public IP address resource from the resource group.

Come è possibile accedere alla VM di simulazione?How do I sign in to the simulation VM?

L'accesso alla VM di simulazione è supportato solo se la soluzione è stata distribuita usando lo script di PowerShell build.ps1 nel repository.Signing in to the simulation VM is only supported if you have deployed your solution using the PowerShell script build.ps1 in the repository.

Se la soluzione è stata distribuita da www.azureiotsuite.com, non è possibile accedere alla VMIf you deployed the solution from www.azureiotsuite.com, you cannot sign in to the VM. perché la password viene generata in modo casuale e non è possibile reimpostarla.You cannot sign in, because the password is generated randomly and you cannot reset it.

  1. Aggiungere un indirizzo IP pubblico alla VM.Add a public IP address to the VM. Vedere Come è possibile aggiungere un indirizzo IP pubblico alla macchina virtuale di simulazione?See How do I add a public IP address to the simulation VM?
  2. Creare una sessione SSH per la macchina virtuale usando l'indirizzo IP della macchina virtuale.Create an SSH session to your VM using the IP address of the VM.
  3. Il nome utente da usare è: docker.The username to use is: docker.
  4. La password da usare dipende dalla versione usata per la distribuzione:The password to use depends on the version you used to deploy:
    • Per le soluzioni distribuite usando lo script build.ps1 prima dell'1 giugno 2017, la password è: Passw0rd.For solutions deployed using the build.ps1 script before 1 June 2017, the password is: Passw0rd.
    • Per le soluzioni distribuite usando lo script build.ps1 dopo l'1 giugno 2017, è possibile trovare la password nel file <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. La password viene archiviata nell'impostazione VmAdminPassword.The password is stored in the VmAdminPassword setting. La password viene generata in modo casuale in fase di distribuzione a meno che non la si specifichi usando il parametro -VmAdminPassword dello script build.ps1The password is generated randomly at deployment time unless you specify it using the build.ps1 script parameter -VmAdminPassword

Come è possibile arrestare e avviare tutti i processi docker nella VM di simulazione?How do I stop and start all docker processes in the simulation VM?

  1. Accedere alla VM di simulazione.Sign in to the simulation VM. Vedere Come è possibile accedere alla VM di simulazione?See How do I sign in to the simulation VM?
  2. Per controllare quali sono i contenitori attivi, eseguire: docker ps.To check which containers are active, run: docker ps.
  3. Per arrestare tutti i contenitori della simulazione, eseguire: ./stopsimulation.To stop all simulation containers, run: ./stopsimulation.
  4. Per avviare tutti i contenitori della simulazione:To start all simulation containers:

    • Esportare una variabile della shell con il nome IOTHUB_CONNECTIONSTRING.Export a shell variable with the name IOTHUB_CONNECTIONSTRING. Usare il valore dell'impostazione IotHubOwnerConnectionString nel file <name of your deployment>.config.user.Use the value of the IotHubOwnerConnectionString setting in the <name of your deployment>.config.user file. ad esempio:For example:

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

Come è possibile aggiornare la simulazione nella VM?How do I update the simulation in the VM?

Se sono state apportate modifiche alla simulazione, è possibile usare lo script di PowerShell build.ps1 nel repository eseguendo il comando 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. Questo script compila tutti i componenti della simulazione, arresta la simulazione nella VM, li carica, li installa e li avvia.This script builds all the simulation components, stops the simulation in the VM, uploads, installs, and starts them.

Come è possibile trovare la stringa di connessione dell'hub IoT usato dalla soluzione?How do I find out the connection string of the IoT hub used by my solution?

Se la soluzione è stata distribuita con lo script build.ps1 nel repository, la stringa di connessione è il valore di IotHubOwnerConnectionString nel file <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.

Per trovare la stringa di connessione, è anche possibile usare il portale di Azure.You can also find the connection string using the Azure portal. Nella risorsa Hub IoT del gruppo di risorse della distribuzione individuare le impostazioni della stringa di connessione.In the IoT Hub resource in the resource group of your deployment, locate the connection string settings.

Quali dispositivi dell'hub IoT usa la simulazione di connected factory?Which IoT Hub devices does the Connected factory simulation use?

La simulazione registra automaticamente i dispositivi seguenti: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

Con lo strumento DeviceExplorer o iothub-explorer, è possibile controllare quali dispositivi sono registrati con l'hub IoT usato dalla soluzione.Using the DeviceExplorer or iothub-explorer tool, you can check which devices are registered with the IoT hub your solution is using. Per usare questi strumenti, è necessaria la stringa di connessione per l'hub IoT della distribuzione.To use these tools, you need the connection string for the IoT hub in your deployment.

Come è possibile ottenere i dati dei log dai componenti della simulazione?How can I get log data from the simulation components?

Tutti i componenti della simulazione registrano informazioni nei file di log,All components in the simulation log information in to log files. disponibili nella cartella home/docker/Logs della VM.These files can be found in the VM in the folder home/docker/Logs. Per recuperare i log, è possibile usare lo script di PowerShell Simulation/Factory/Get-SimulationLogs.ps1 nel repository.To retrieve the logs, you can use the PowerShell script Simulation/Factory/Get-SimulationLogs.ps1 in the repository.

È necessario che questo script acceda alla VM.This script needs to sign in to the VM. Potrebbe essere necessario specificare le credenziali per l'accesso.You may need to provide credentials for the sign-in. Vedere Come è possibile accedere alla VM di simulazione? per trovare le credenziali.See How do I sign in to the simulation VM? to find the credentials.

Lo script aggiunge/rimuove un indirizzo IP pubblico nella VM, se non ne è già presente uno che viene rimosso.The script adds/removes a public IP address to the VM, if it does not yet have one and removes it. Lo script inserisce tutti i file di log in un archivio che scarica nella workstation di sviluppo.The script puts all log files in an archive and downloads the archive to your development workstation.

In alternativa, accedere alla VM tramite SSH ed esaminare i file di log in fase di esecuzione.Alternatively log in to the VM via SSH and inspect the log files at runtime.

Come è possibile controllare se la simulazione sta inviando dati al cloud?How can I check if the simulation is sending data to the cloud?

Con lo strumento DeviceExplorer o iothub-explorer, è possibile controllare i dati inviati all'hub IoT da determinati dispositivi.With the DeviceExplorer or the iothub-explorer tool, you can inspect the data sent to IoT Hub from certain devices. Per usare questi strumenti, è necessario conoscere la stringa di connessione per l'hub IoT della distribuzione.To use these tools, you need to know the connection string for the IoT hub in your deployment. Vedere Come è possibile trovare la stringa di connessione dell'hub IoT usato dalla soluzione?See How do I find out the connection string of the IoT hub used by my solution?

Esaminare i dati inviati da uno dei dispositivi di pubblicazione: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

Se non vengono visualizzati dati inviati all'hub IoT, si è verificato un problema con la simulazione.If you see no data sent to IoT Hub, then there is an issue with the simulation. Come primo passaggio è consigliabile analizzare i file di log dei componenti della simulazione.As a first analysis step you should analyze the log files of the simulation components. Vedere Come è possibile ottenere i dati dei log dai componenti della simulazione?See How can I get log data from the simulation components? Provare quindi ad arrestare e avviare la simulazione e, se non sono ancora presenti dati inviati, aggiornare la simulazione completamente.Next, try to stop and start the simulation and if there's still no data sent, update the simulation completely. Vedere Come è possibile aggiornare la simulazione nella VM?See How do I update the simulation in the VM?

Passaggi successiviNext steps

È anche possibile esplorare alcune altre funzionalità delle soluzioni preconfigurate di IoT Suite:You can also explore some of the other features and capabilities of the IoT Suite preconfigured solutions: