Usare l'estensione IoT per l'interfaccia della riga di comando di Azure per la gestione dei dispositivi dell'hub IoT di Azure
Questo articolo illustra come usare l'estensione IoT per l'interfaccia della riga di comando di Azure con varie opzioni di gestione nel computer di sviluppo. L'estensione IoT per l'interfaccia della riga di comando di Azure è un'estensione IoT open source che aggiunge alle funzionalità dell'interfaccia della riga di comando di Azure. L'interfaccia della riga di comando di Azure include i comandi per interagire con gli endpoint di gestione e Resource Manager di Azure. Ad esempio, è possibile usare l'interfaccia della riga di comando di Azure per creare una macchina virtuale o un hub IoT di Azure. Un'estensione dell'interfaccia della riga di comando di Azure consente a un servizio di Azure di aumentare le potenzialità dell'interfaccia e all'utente di accedere a funzionalità aggiuntive specifiche del servizio. L'estensione IoT offre agli sviluppatori IoT l'accesso da riga di comando a tutte le funzionalità del servizio Device Provisioning hub IoT, IoT Edge e hub IoT device provisioning.
Opzione di gestione | Attività |
---|---|
Metodi diretti | Far eseguire un'attività al dispositivo, quale l'avvio o l'arresto dell'invio di messaggi o il riavvio del dispositivo. |
Proprietà desiderate del dispositivo gemello | Impostare determinati stati di un dispositivo, ad esempio impostare la luce verde per un LED o impostare l'intervallo di invio dei dati di telemetria su 30 minuti. |
Proprietà segnalate del dispositivo gemello | Ottenere lo stato restituito da un dispositivo. Ad esempio, il dispositivo segnala che il LED sta lampeggiando. |
Tag dei dispositivi gemelli | Archiviare i metadati specifici del dispositivo nel cloud, ad esempio il percorso di distribuzione di un distributore automatico. |
Query del dispositivo gemello | Eseguire query su tutti i dispositivi gemelli per identificare quelli che si trovano in una determinata condizione, ad esempio i dispositivi disponibili per l'uso. |
Per altre informazioni sulle differenze e sull'uso di queste opzioni, vedere Device-to-cloud communication guidance (Indicazioni sulla comunicazione da dispositivo a cloud) e Cloud-to-device communication guidance (Indicazioni sulla comunicazione da cloud a dispositivo).
I dispositivi gemelli sono documenti JSON nei quali vengono archiviate informazioni sullo stato dei dispositivi (metadati, configurazioni e condizioni). L'hub IoT rende permanente un dispositivo gemello per ogni dispositivo che si connette. Per altre informazioni sui dispositivi gemelli, vedere Introduzione ai dispositivi gemelli.
Nota
Questo articolo usa la versione più recente dell'estensione Azure IoT, denominata azure-iot
. La versione legacy viene chiamata azure-cli-iot-ext
. Deve essere installata solo una versione alla volta. È possibile usare il comando az extension list
per convalidare le estensioni attualmente installate.
Usare az extension remove --name azure-cli-iot-ext
per rimuovere la versione legacy dell'estensione.
Usare az extension add --name azure-iot
per aggiungere la nuova versione dell'estensione.
Per visualizzare le estensioni installate, usare az extension list
.
Nota
Le funzionalità descritte in questo articolo sono disponibili solo nel livello Standard dell'hub IoT. Per altre informazioni sui livelli di hub IoT standard e standard, vedere Scegliere il livello di hub IoT appropriato per la soluzione.
Prerequisiti
Completare l'esercitazione sul simulatore online Raspberry Pi o una delle esercitazioni sul dispositivo. Ad esempio, è possibile passare a Raspberry Pi con Node.js o a uno degli argomenti di avvio rapido Inviare dati di telemetria . Questi articoli illustrano i requisiti seguenti:
- Una sottoscrizione di Azure attiva.
- Un hub IoT di Azure nella sottoscrizione.
- Un'applicazione client che invia messaggi ad Azure IoT hub.
Verificare che il dispositivo sia in esecuzione con l'applicazione client durante questa esercitazione.
L'interfaccia della riga di comando di Azure. Se è necessario eseguire l'installazione, vedere Installare l'interfaccia della riga di comando di Azure. La versione dell'interfaccia della riga di comando di Azure deve essere 2.0.70 o successiva. Usare il comando
az –version
per verificare.
Nota
Questo articolo usa la versione più recente dell'estensione Azure IoT, denominata azure-iot
. La versione legacy viene chiamata azure-cli-iot-ext
. Deve essere installata solo una versione alla volta. È possibile usare il comando az extension list
per convalidare le estensioni attualmente installate.
Usare az extension remove --name azure-cli-iot-ext
per rimuovere la versione legacy dell'estensione.
Usare az extension add --name azure-iot
per aggiungere la nuova versione dell'estensione.
Per visualizzare le estensioni installate, usare az extension list
.
- Installare l'estensione IoT. Il modo più semplice è quello di eseguire
az extension add --name azure-iot
. Il file Leggimi dell'estensione IoT illustra diverse modalità per installare l'estensione.
Accedere con l'account Azure
Accedere al proprio account di Azure usando il comando seguente:
az login
Metodi diretti
az iot hub invoke-device-method --device-id <your device id> \
--hub-name <your hub name> \
--method-name <the method name> \
--method-payload <the method payload>
Proprietà desiderate nel dispositivo gemello
Impostare l'intervallo di proprietà desiderato su 3000 eseguendo il comando seguente:
az iot hub device-twin update -n <your hub name> \
-d <your device id> --set properties.desired.interval=3000
Questa proprietà può essere letta dal dispositivo.
Proprietà segnalate del dispositivo gemello
Ottenere le proprietà segnalate del dispositivo eseguendo il comando seguente:
az iot hub device-twin show -n <your hub name> -d <your device id>
Una delle proprietà segnalate del dispositivo gemello è $metadata.$lastUpdated, che mostra l'ultima volta che l'app del dispositivo ha aggiornato il set di proprietà segnalate.
Tag del dispositivo gemello
Visualizzare i tag e le proprietà del dispositivo eseguendo il comando seguente:
az iot hub device-twin show --hub-name <your hub name> --device-id <your device id>
Aggiungere il campo role = temperature&humidity al dispositivo eseguendo il comando seguente:
az iot hub device-twin update \
--hub-name <your hub name> \
--device-id <your device id> \
--set tags='{"role":"temperature&humidity"}'
Query del dispositivo gemello
Eseguire una query su tutti i dispositivi con il tag role = 'temperature&humidity' eseguendo il comando seguente:
az iot hub query --hub-name <your hub name> \
--query-command "SELECT * FROM devices WHERE tags.role = 'temperature&humidity'"
Eseguire una query su tutti i dispositivi, tranne quelli con il tag 'temperature&humidity' eseguendo il comando seguente:
az iot hub query --hub-name <your hub name> \
--query-command "SELECT * FROM devices WHERE tags.role != 'temperature&humidity'"
Passaggi successivi
È stato appreso come monitorare i messaggi da dispositivo a cloud e inviare messaggi da cloud a dispositivo tra il dispositivo IoT e l'hub IoT di Azure.
Per altre informazioni sulle attività iniziali con l'hub IoT di Azure e per esplorare tutti gli scenari IoT estesi, vedere:
Gestire i dispositivi con l'estensione hub IoT di Azure per Visual Studio Code
Usare Power BI per visualizzare i dati dei sensori in tempo reale dall'hub IoT
Usare un’app Web per visualizzare i dati dei sensori in tempo reale dall'hub IoT
Usare App per la logica per il monitoraggio remoto e le notifiche