Collegare il gateway Azure IoT Edge alla soluzione preconfigurata di monitoraggio remoto e inviare dati di telemetria simulati

In questa esercitazione viene illustrato come usare Azure IoT Edge per simulare dati relativi alla temperatura e all'umidità da inviare alla soluzione preconfigurata di monitoraggio remoto. L'esercitazione usa:

  • Azure IoT Edge per implementare un gateway di esempio.
  • La soluzione preconfigurata di monitoraggio remoto IoT Suite come back-end basato su cloud.

Panoramica

In questa esercitazione si completa la procedura seguente:

  • Distribuire un'istanza della soluzione preconfigurata di monitoraggio remoto nella sottoscrizione di Azure. Questo passaggio distribuisce e configura automaticamente più servizi di Azure.
  • Configurare il dispositivo di gateway Intel NUC per la comunicazione con il computer e la soluzione di monitoraggio remoto.
  • Configurare il gateway IoT Edge per inviare dati di telemetria simulati che è possibile visualizzare nel dashboard della soluzione.

Prerequisiti

Per completare l'esercitazione, è necessaria una sottoscrizione di Azure attiva.

Nota

Se non si dispone di un account, è possibile creare un account di valutazione gratuita in pochi minuti. Per informazioni dettagliate, vedere la pagina relativa alla versione di valutazione gratuita di Azure.

Requisiti software

È necessario un client SSH nel computer desktop per poter accedere in remoto alla riga di comando in Intel NUC.

  • Windows non include un client SSH. È consigliabile usare PuTTY.
  • La maggior parte delle distribuzioni Linux e Mac OS includono l'utilità SSH della riga di comando.

Requisiti hardware

Un computer desktop per potersi connettere in remoto alla riga di comando in Intel NUC.

Kit gateway commerciale IoT. Questa esercitazione usa gli elementi seguenti del kit:

  • Intel® NUC Kit DE3815TYKE con 4 GB di memoria e scheda di espansione Bluetooth
  • Alimentatore

Effettuare il provisioning della soluzione

Se nel proprio account non è già stato effettuato il provisioning della soluzione preconfigurata per il monitoraggio remoto:

  1. Accedere a azureiotsuite.com con le credenziali dell'account Azure e fare clic su + per creare una soluzione.
  2. Fare clic su Seleziona nel riquadro Remote monitoring (Monitoraggio remoto).
  3. Immettere un valore in Nome soluzione per la soluzione preconfigurata di monitoraggio remoto.
  4. Selezionare l'area e la sottoscrizione che si desidera usare per il provisioning della soluzione.
  5. Fare clic su Crea soluzione per iniziare il processo di provisioning. In genere il processo richiede alcuni minuti.

Attendere il completamento del processo di provisioning.

  1. Fare clic sul riquadro della soluzione con stato Provisioning.
  2. Notare gli stati Provisioning man mano che i servizi di Azure vengono distribuiti nella sottoscrizione di Azure.
  3. Al termine del provisioning, lo stato cambierà in Pronto.
  4. Fare clic sul riquadro per visualizzare i dettagli della soluzione nel riquadro di destra.

Nota

In caso di problemi di distribuzione della soluzione preconfigurata, vedere Autorizzazioni per il sito azureiotsuite.com e le domande frequenti. Se i problemi persistono, creare un ticket di servizio nel portale.

Se ci sono dettagli importanti non elencati per la soluzione, è possibile inviare suggerimenti sulle funzionalità usando i suggerimenti degli utenti.

Avviso

La soluzione di monitoraggio remoto esegue il provisioning di un set di servizi di Azure nella sottoscrizione di Azure. La distribuzione riflette un'architettura enterprise reale. Per evitare costi di consumo di Azure non necessari, eliminare l'istanza della soluzione preconfigurata in azureiotsuite.com al completamento. Se la soluzione preconfigurata occorre nuovamente, è possibile ricrearla facilmente. Per altre informazioni sulla riduzione del consumo durante l'esecuzione della soluzione di monitoraggio remoto, vedere Configuring Azure IoT Suite preconfigured solutions for demo purposes (Configurazione di soluzioni preconfigurate di Azure IoT Suite per scopi dimostrativi).

Visualizzare il dashboard della soluzione

Il dashboard della soluzione consente di gestire la soluzione distribuita. Ad esempio, è possibile visualizzare dati di telemetria, aggiungere dispositivi e richiamare metodi.

  1. Al termine del provisioning, quando il riquadro della soluzione preconfigurata indica Pronto, scegliere Avvia per aprire il portale della soluzione di monitoraggio remoto in una nuova scheda.

    Avviare la soluzione preconfigurata

  2. Per impostazione predefinita, il portale della soluzione visualizza il dashboard. Passare ad altre aree del portale della soluzione usando il menu sul lato sinistro della pagina.

    Dashboard della soluzione preconfigurata per il monitoraggio remoto

Aggiungere un dispositivo

Per connettere un dispositivo alla soluzione preconfigurata, è necessario che identifichi se stesso nell'hub IoT mediante delle credenziali valide. È possibile recuperare le credenziali del dispositivo dal dashboard della soluzione. Le istruzioni per includere le credenziali del dispositivo nell'applicazione client sono illustrate più avanti in questa esercitazione.

Per aggiungere un dispositivo alla soluzione per il monitoraggio remoto, completare i passaggi seguenti nel dashboard della soluzione:

  1. Nell'angolo inferiore sinistro del dashboard fare clic su Aggiungi un dispositivo.

    Aggiungere un dispositivo

  2. Nel pannello Dispositivo personalizzato fare clic su Aggiungi nuovo.

    Aggiungere un dispositivo personalizzato

  3. Scegliere Let me define my own Device ID (Desidero definire il mio ID dispositivo). Immettere un ID dispositivo, ad esempio device01, fare clic su Verifica ID per verificare che il nome non sia già stato usato nella soluzione e quindi fare clic su Crea per effettuare il provisioning del dispositivo.

    Aggiungere un ID dispositivo

  4. Annotare le credenziali del dispositivo (ID dispositivo, Nome host hub IoT e Chiave dispositivo). Questi valori sono necessari per consentire all'applicazione client in Intel NUC di connettersi alla soluzione per il monitoraggio remoto. Fare quindi clic su Done.

    Vedere le credenziali del dispositivo

  5. Selezionare il dispositivo nell'elenco dei dispositivi nel dashboard della soluzione. Nel pannello Dettagli dispositivo fare clic su Attiva dispositivo. Lo stato del dispositivo è ora In esecuzione. La soluzione per il monitoraggio remoto può ora ricevere i dati di telemetria dal dispositivo e richiamare i metodi sul dispositivo.

Ripetere i passaggi precedenti per aggiungere un secondo dispositivo tramite un ID di dispositivo, ad esempio device02. Nell'esempio vengono inviati dati da due dispositivi simulati nel gateway alla soluzione di monitoraggio remoto.

Preparare Intel NUC

Per completare la configurazione dell'hardware, è necessario:

  • Connettere Intel NUC all'alimentatore incluso nel kit.
  • Connettere Intel NUC alla rete con un cavo Ethernet.

La configurazione hardware del dispositivo gateway Intel NUC è completata.

Accedere al terminale

Per accedere all'ambiente di un terminale in Intel NUC sono disponibili due opzioni:

  • Se a Intel NUC sono connessi una tastiera e un monitor, è possibile accedere direttamente alla shell. Le credenziali predefinite sono il nome utente root e la password root.

  • Accedere alla shell in Intel NUC usando SSH dal computer desktop.

Accedere con SSH

Per accedere con SSH, è necessario l'indirizzo IP di Intel NUC. Se a Intel NUC sono connessi una tastiera e un monitor, usare il comando ifconfig per trovare l'indirizzo IP. In alternativa, connettersi al router per ottenere l'elenco degli indirizzi dei dispositivi nella rete.

Accedere con il nome utente root e la password root.

Facoltativo: condividere una cartella in Intel NUC

Facoltativamente, è possibile condividere una cartella in Intel NUC con l'ambiente desktop. La condivisione di una cartella consente di modificare i file in Intel NUC usando l'editor di testo desktop preferito (ad esempio, Visual Studio Code o Sublime Text) invece di nano o vi.

Per condividere una cartella con Windows, configurare un server Samba in Intel NUC. In alternativa, usare il server SFTP in Intel NUC con un client SFTP nel computer desktop.

Compilare IoT Edge

Questa esercitazione mostra come usare moduli personalizzati di IoT Edge per comunicare con la soluzione preconfigurata di monitoraggio remoto. È quindi necessario compilare i moduli di IoT Edge dal codice sorgente personalizzato. Le sezioni seguenti illustrano come installare IoT Edge e compilare il modulo personalizzato di IoT Edge.

Installare IoT Edge

La procedura seguente illustra come installare il software IoT Edge precompilato in Intel NUC:

  1. Configurare i repositori di pacchetti intelligenti necessari eseguendo questi comandi in Intel NUC:

    smart channel --add IoT_Cloud type=rpm-md name="IoT_Cloud" baseurl=http://iotdk.intel.com/repos/iot-cloud/wrlinux7/rcpl13/ -y
    smart channel --add WR_Repo type=rpm-md baseurl=https://distro.windriver.com/release/idp-3-xt/public_feeds/WR-IDP-3-XT-Intel-Baytrail-public-repo/RCPL13/corei7_64/
    

    Immettere y quando viene richiesto se includere questo canale.

  2. Aggiornare il gestore di pacchetti intelligenti eseguendo questo comando:

    smart update
    
  3. Installare il pacchetto di Azure IoT Edge eseguendo questo comando:

    smart config --set rpm-check-signatures=false
    smart install packagegroup-cloud-azure -y
    
  4. Verificare l'installazione eseguendo l'esempio Hello World. L'esempio scrive il messaggio Hello World nel file log.txt ogni cinque secondi. Eseguire l'esempio Hello World usando i comandi seguenti:

    cd /usr/share/azureiotgatewaysdk/samples/hello_world/
    ./hello_world hello_world.json
    

    Ignorare gli eventuali messaggi di argomento non valido quando si arresta l'esempio.

    Usare il comando seguente per visualizzare il contenuto del file di log:

    cat log.txt | more
    

Risoluzione dei problemi

Se viene visualizzato l'errore: "no package provides util-linux-dev" (nessun pacchetto fornisce util-linux-dev), provare a riavviare Intel NUC.

Compilare il modulo IoT Edge personalizzato

È ora possibile compilare il modulo IoT Edge personalizzato che consente al gateway di inviare messaggi alla soluzione di monitoraggio remoto. Per altre informazioni sulla configurazione di un gateway e sui moduli IoT Edge, vedere Concetti di Azure IoT Edge.

Scaricare il codice sorgente per i moduli personalizzati di IoT Edge da GitHub tramite i comandi seguenti:

cd ~
git clone https://github.com/Azure-Samples/iot-remote-monitoring-c-intel-nuc-gateway-getting-started.git

Compilare il modulo personalizzato IoT Edge tramite i comandi seguenti:

cd ~/iot-remote-monitoring-c-intel-nuc-gateway-getting-started/simulator
chmod u+x build.sh
sed -i -e 's/\r$//' build.sh
./build.sh

Lo script di compilazione inserisce il modulo di IoT Edge libsimulator.so personalizzato nella cartella di compilazione.

Configurare ed eseguire il gateway IoT Edge

È ora possibile configurare il gateway IoT Edge per inviare dati di telemetria simulati al dashboard di monitoraggio remoto. Per altre informazioni sulla configurazione di un gateway e sui moduli IoT Edge, vedere Concetti di Azure IoT Edge.

Suggerimento

In questa esercitazione, si usa l'editor di testo standard vi in Intel NUC. Se non è stato usato vi in precedenza, è necessario completare un'esercitazione introduttiva, ad esempio Unix - The vi Editor Tutorial per familiarizzare con questo editor. In alternativa, è possibile installare l'editor nano più semplice tramite il comando smart install nano -y.

Aprire il file di configurazione di esempio nell'editor vi usando il comando seguente:

vi ~/iot-remote-monitoring-c-intel-nuc-gateway-getting-started/simulator/remote_monitoring.json

Individuare le righe seguenti nella configurazione per il modulo IoTHub:

"args": {
  "IoTHubName": "<<Azure IoT Hub Name>>",
  "IoTHubSuffix": "<<Azure IoT Hub Suffix>>",
  "Transport": "http"
}

Sostituire i valori segnaposto con le informazioni dell'hub IoT create e salvate all'inizio di questa esercitazione. Il valore per IoTHubName è simile a yourrmsolution37e08 e il valore per IoTSuffix è in genere azure-devices.net.

Individuare le righe seguenti nella configurazione per il modulo di mapping:

args": [
  {
    "macAddress": "AA:BB:CC:DD:EE:FF",
    "deviceId": "<<Azure IoT Hub Device ID>>",
    "deviceKey": "<<Azure IoT Hub Device Key>>"
  },
  {
    "macAddress": "AA:BB:CC:DD:EE:FF",
    "deviceId": "<<Azure IoT Hub Device ID>>",
    "deviceKey": "<<Azure IoT Hub Device Key>>"
  }
]

Sostituire i segnaposti deviceID e deviceKey con gli ID e le chiavi per i due dispositivi creati in precedenza nella soluzione di monitoraggio remoto.

Salvare le modifiche.

Ora è possibile eseguire il gateway IoT Edge usando i comandi seguenti:

cd ~/iot-remote-monitoring-c-intel-nuc-gateway-getting-started/simulator
/usr/share/azureiotgatewaysdk/samples/simulated_device_cloud_upload/simulated_device_cloud_upload remote_monitoring.json

Il gateway avvia Intel NUC e invia i dati di telemetria simulati alla soluzione di monitoraggio remoto:

Il gateway IoT Edge genera dati di telemetria simulati

Premere CTRL-C per uscire dal programma in qualsiasi momento.

Visualizzare i dati di telemetria

Il gateway IoT Edge ora invia dati di telemetria simulati alla soluzione di monitoraggio remota. È possibile visualizzare i dati di telemetria nel dashboard della soluzione.

  • Passare al dashboard della soluzione.
  • Selezionare uno dei due dispositivi configurati nel gateway nell'elenco a discesa Dispositivo da visualizzare.
  • I dati di telemetria dai dispositivi di gateway vengono visualizzati nel dashboard.

Visualizzare i dati di telemetria dai dispositivi di gateway simulati

Avviso

Se si lascia la soluzione di monitoraggio remoto in esecuzione nell'account Azure, verrà addebitato il tempo dell'esecuzione. Per altre informazioni sulla riduzione del consumo durante l'esecuzione della soluzione di monitoraggio remoto, vedere Configuring Azure IoT Suite preconfigured solutions for demo purposes (Configurazione di soluzioni preconfigurate di Azure IoT Suite per scopi dimostrativi). Al termine, eliminare la soluzione preconfigurata dall'account Azure.

Passaggi successivi

Visitare il Centro per sviluppatori Azure IoT per altri esempi e documentazione su Azure IoT.