Guida introduttiva: Configurare il cluster
In questa guida introduttiva si configurano le risorse seguenti nel cluster Operazioni IoT di Azure:
- Endpoint asset che definisce una connessione a un server OPC PLC simulato che simula un forno in un panificio.
- Asset che rappresenta il forno e definisce i punti dati esposti dal forno.
- Flusso di dati che modifica i messaggi dal forno simulato.
Un asset è un dispositivo fisico o un'entità logica che rappresenta un dispositivo, un computer, un sistema o un processo. Ad esempio, un asset fisico può essere una pompa, un motore, un serbatoio o una linea di produzione. Un asset logico definito può avere proprietà, trasmettere dati di telemetria o generare eventi.
I server OPC UA sono applicazioni software che comunicano con gli asset. Tag OPC UA sono punti dati esposti dai server OPC UA. I tag OPC UA possono fornire dati in tempo reale o cronologici sullo stato, le prestazioni, la qualità o la condizione degli asset.
In questa guida introduttiva si usa un file Bicep per configurare l'istanza di Operazioni IoT di Azure.
Prerequisiti
Disporre di un'istanza delle operazioni IoT di Azure distribuite in un cluster Kubernetes. La guida introduttiva: Eseguire operazioni IoT di Azure in GitHub Codespaces con K3s fornisce istruzioni semplici per distribuire un'istanza di Operazioni IoT di Azure che è possibile usare per le guide introduttive.
Se non diversamente specificato, è possibile eseguire i comandi della console in questa guida introduttiva in un ambiente Bash o PowerShell.
Quale problema risolveremo?
I dati esposti dai server OPC UA possono avere una struttura complessa e possono essere difficili da comprendere. Le operazioni di Azure IoT consentono di modellare gli asset OPC UA come tag, eventi e proprietà. Questa modellazione semplifica la comprensione dei dati e l'uso nei processi downstream, ad esempio il broker MQTT e i flussi di dati. I flussi di dati consentono di modificare e instradare i dati ai servizi cloud, ad esempio Hub eventi di Azure. In questo argomento di avvio rapido il flusso di dati modifica i nomi di alcuni campi nel payload e aggiunge un ID risorsa ai messaggi.
Distribuire il simulatore OPC PLC
Questa guida introduttiva usa il simulatore OPC PLC per generare dati di esempio. Per distribuire il simulatore OPC PLC, eseguire il comando seguente:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/main/samples/quickstarts/opc-plc-deployment.yaml
Attenzione
Questa configurazione usa un certificato di istanza dell'applicazione autofirmato. Non usare questa configurazione in un ambiente di produzione. Per altre informazioni, vedere Configurare l'infrastruttura di certificati OPC UA per il connettore per OPC UA.
Impostare le variabili di ambiente
Se si usa l'ambiente Codespaces, le variabili di ambiente necessarie sono già impostate ed è possibile ignorare questo passaggio. In caso contrario, impostare le variabili di ambiente seguenti nella shell:
# Your subscription ID
SUBSCRIPTION_ID=<subscription-id>
# The name of the resource group where your Kubernetes cluster is deployed
RESOURCE_GROUP=<resource-group-name>
# The name of your Kubernetes cluster
CLUSTER_NAME=<kubernetes-cluster-name>
Configurare il cluster
Eseguire i comandi seguenti per scaricare ed eseguire il file Bicep che configura l'istanza di Azure IoT Operations. Il file Bicep:
- Aggiunge un endpoint di asset che si connette al simulatore OPC PLC.
- Aggiunge un asset che rappresenta il forno e definisce i punti dati esposti dal forno.
- Aggiunge un flusso di dati che modifica i messaggi dal forno simulato.
- Crea un'istanza di Hub eventi di Azure per ricevere i dati.
wget https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/main/samples/quickstarts/quickstart.bicep -O quickstart.bicep
AIO_EXTENSION_NAME=$(az k8s-extension list -g $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type connectedClusters --query "[?extensionType == 'microsoft.iotoperations'].id" -o tsv | awk -F'/' '{print $NF}')
AIO_INSTANCE_NAME=$(az iot ops list -g $RESOURCE_GROUP --query "[0].name" -o tsv)
CUSTOM_LOCATION_NAME=$(az iot ops list -g $RESOURCE_GROUP --query "[0].extendedLocation.name" -o tsv | awk -F'/' '{print $NF}')
az deployment group create --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP --template-file quickstart.bicep --parameters clusterName=$CLUSTER_NAME customLocationName=$CUSTOM_LOCATION_NAME aioExtensionName=$AIO_EXTENSION_NAME aioInstanceName=$AIO_INSTANCE_NAME
Rivedi configurazione
Il file Bicep ha configurato le risorse seguenti:
- Endpoint dell'asset che si connette al simulatore OPC PLC.
- Asset che rappresenta il forno e definisce i punti dati esposti dal forno.
- Due flussi di dati che elaborano i messaggi dal forno simulato.
- Spazio dei nomi Hub eventi di Azure che contiene un hub di destinazione per i flussi di dati.
Per visualizzare l'endpoint dell'asset, l'asset e i flussi di dati, passare all'interfaccia utente dell'esperienza operativa nel browser e accedere con le credenziali dell'ID Microsoft Entra. Poiché si usa una nuova distribuzione, non sono ancora presenti siti. È possibile trovare il cluster creato nella guida introduttiva precedente selezionando Visualizza istanze non firmate. Nell'esperienza operativa un'istanza rappresenta un cluster in cui sono state distribuite le Operazioni di Azure IoT.
L'endpoint dell'asset definisce la connessione al simulatore OPC PLC:
L'asset del forno definisce i punti dati esposti dal forno:
I flussi di dati definiscono il modo in cui i messaggi del forno simulato vengono elaborati e indirizzati a Hub eventi nel cloud:
Lo screenshot seguente mostra come viene configurato il flusso di dati di conversione della temperatura:
Verificare che i dati vengano trasmessi a Hub eventi
Per verificare che i dati vengano trasmessi al cloud, è possibile visualizzare l'istanza di Hub eventi nella portale di Azure. Potrebbe essere necessario attendere alcuni minuti prima che il flusso di dati venga avviato e che i messaggi vengano trasmessi all'hub eventi.
La configurazione bicep applicata in precedenza ha creato uno spazio dei nomi e un hub di Hub eventi usati come destinazione dal flusso di dati. Per visualizzare lo spazio dei nomi e l'hub, passare al gruppo di risorse nel portale di Azure che contiene l'istanza di Operazioni IoT e quindi selezionare lo spazio dei nomi di Hub eventi.
Se i messaggi vengono trasmessi all'istanza, è possibile visualizzare il conteggio dei messaggi in arrivo nella pagina Panoramica dell'istanza:
Se i messaggi vengono trasmessi, è possibile usare il Esplora dati per visualizzare i messaggi:
Suggerimento
Potrebbe essere necessario assegnare se stessi al ruolo ricevitore di dati Hub eventi di Azure per lo spazio dei nomi di Hub eventi per visualizzare i messaggi.
Come abbiamo risolto il problema?
In questa guida introduttiva è stato usato un file bicep per configurare l'istanza di Operazioni IoT di Azure con un endpoint di asset, un asset e un flusso di dati. La configurazione elabora e indirizza i dati da un forno simulato. Il flusso di dati nella configurazione indirizza i messaggi a un'istanza di Hub eventi di Azure.
Pulire le risorse
Se si continua con la guida introduttiva successiva, mantenere tutte le risorse.
Se si vuole rimuovere la distribuzione di Operazioni IoT di Azure ma mantenere il cluster, usare il comando az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Per eliminare tutte le risorse create per questa guida introduttiva, eliminare il cluster Kubernetes in cui sono state distribuite le operazioni IoT di Azure e quindi rimuovere il gruppo di risorse di Azure che conteneva il cluster.
Se per questi argomenti della guida introduttiva è stato usato Codespaces, eliminare Codespace da GitHub.
Passaggio successivo
Per informazioni su come creare un dashboard di Microsoft Fabric per ottenere informazioni dettagliate dai dati del forno, vedere Esercitazione: Ottenere informazioni dettagliate dai dati elaborati.