Connettere Adafruit Feather M0 Wi-Fi ad Azure IoT Hub nel cloud

Connessione tra BME280, Feather M0 Wi-Fi e l'hub IoT

Questa esercitazione illustra le nozioni di base per l'uso della scheda Arduino. Viene poi illustrato come connettere i dispositivi al cloud usando l'hub IoT di Azure.

Operazioni da fare

Connettere Adafruit Feather M0 Wi-Fi a un hub IoT che è stato creato. Dopodiché, eseguire un'applicazione di esempio in M0 Wi-Fi per raccogliere i dati di temperatura e umidità da BME280. Infine inviare i dati del sensore all'hub IoT.

Contenuto dell'esercitazione

  • Come creare un hub IoT e registrare un dispositivo per Feather M0 Wi-Fi
  • Come connettere Feather M0 Wi-Fi al sensore e al computer
  • Come raccogliere i dati del sensore eseguendo un'applicazione di esempio in Feather M0 Wi-Fi
  • Come inviare i dati del sensore all'hub IoT

Elementi necessari

Componenti necessari per l'esercitazione

Per completare questa operazione è necessario disporre dei componenti seguenti di Feather M0 Wi-Fi Starter Kit:

  • Scheda Feather M0 Wi-Fi
  • Cavo USB Micro/tipo A

Per l'ambiente di sviluppo sono necessari anche gli elementi seguenti:

  • Una sottoscrizione di Azure attiva. Se non si ha un account di Azure, creare un account di Azure gratuito in pochi minuti.
  • Un Mac o un PC che esegue Windows o Ubuntu.
  • Una rete wireless a cui Feather M0 Wi-Fi deve connettersi.
  • Una connessione Internet per scaricare lo strumento di configurazione.
  • IDE Arduino 1.6.8 o versione successiva. Le versioni precedenti non funzionano con la libreria hub IoT di Azure.

Se non si ha un sensore, gli elementi seguenti sono facoltativi. È possibile anche usare dati di sensori simulati:

  • Un sensore di temperatura e umidità BME280
  • Basetta sperimentale
  • Cavi ponticello M/M

Creare un hub IoT

  1. Nel portale di Azure fare clic su Nuovo > Internet delle cose > Hub IoT.

    Creare un hub IoT nel portale di Azure

  2. Nel riquadro Hub IoT immettere le informazioni seguenti per l'hub IoT:

    Nome: immettere il nome dell'hub IoT. Se il nome immesso è valido, viene visualizzato un segno di spunta verde.

    Piano tariffario e livello di scalabilità: selezionare il livello F1 gratuito. Questa opzione è sufficiente per questa demo. Per altre informazioni, vedere Piano tariffario e livello di scalabilità.

    Gruppo di risorse: creare un gruppo di risorse per ospitare l'hub IoT o usarne uno esistente. Per altre informazioni, vedere Usare i gruppi di risorse per gestire le risorse di Azure.

    Percorso: selezionare la posizione più vicina all'utente in cui viene creato l'hub IoT.

    Aggiungi al dashboard: selezionare questa opzione per semplificare l'accesso all'hub IoT dal dashboard.

    Immettere le informazioni per creare l'hub IoT

    Importante

    L'hub IoT sarà individuabile pubblicamente come endpoint DNS, quindi evitare di indicare informazioni riservate nell'assegnazione del nome.

  3. Fare clic su Crea. La creazione dell'hub IoT può richiedere alcuni minuti. È possibile visualizzare lo stato di avanzamento nel riquadro Notifiche.

    Vedere le notifiche relative allo stato dell'hub IoT

  4. Dopo aver creato l'hub IoT, selezionarlo nel dashboard. Annotare il Nome host, quindi fare clic su Criteri di accesso condiviso.

    Ottenere il nome host dell'hub IoT

  5. Nel riquadro Criteri di accesso condivisi fare clic sul criterio iothubowner, quindi copiare e annotare la Stringa di connessione dell'hub IoT. Per altre informazioni, vedere Controllare l'accesso all'hub IoT.

Nota

Per questa esercitazione di configurazione non è necessaria la stringa di connessione iothubowner. Potrebbe essere tuttavia necessaria per alcune delle esercitazioni in altri scenari IoT, dopo aver completato questa configurazione.

Ottenere la stringa di connessione dell'hub IoT

Registrare un dispositivo nell'hub IoT per il dispositivo

  1. Nel portale di Azure, aprire l'hub IoT.

  2. Fare clic su Esplora dispositivi.

  3. Nel riquadro Esplora dispositivi fare clic su Aggiungi per aggiungere un dispositivo all'hub IoT. Eseguire quindi le operazioni seguenti:

    ID dispositivo: immettere l'ID del nuovo dispositivo. Gli ID dispositivo fanno distinzione tra maiuscole e minuscole.

    Tipo di autenticazione: selezionare Chiave simmetrica.

    Genera chiavi automaticamente: selezionare questa casella di controllo.

    Connetti dispositivo all'hub IoT: fare clic su Abilita.

    Aggiungere un dispositivo a Device Explorer nell'hub IoT

    Importante

    L'ID dispositivo può essere visibile nei log raccolti per il supporto tecnico e la risoluzione dei problemi, quindi evitare di indicare informazioni riservate nell'assegnazione del nome.

  4. Fare clic su Salva.

  5. Dopo la creazione del dispositivo, aprire il dispositivo nel riquadro Esplora dispositivi.
  6. Annotare la chiave primaria della stringa di connessione.

    Ottenere la stringa di connessione del dispositivo

Connettere Feather M0 Wi-Fi al sensore e al computer

In questa sezione si connettono i sensori alla scheda. Quindi si collega il dispositivo al computer per poterlo usare.

Connettere un sensore di temperatura e umidità DHT22 a Feather M0 Wi-Fi

Usare la basetta sperimentale e i cavi ponticello per stabilire la connessione. Se non si dispone di un sensore, ignorare questa sezione in quanto è possibile usare i dati di sensori simulati.

Riferimento per le connessioni

Per i pin dei sensori usare i collegamenti seguenti:

Inizio (sensore) Fine (scheda) Colore del cavo
VDD (Pin 27A) 3 V (Pin 3A) Cavo rosso
GND (Pin 29A) GND (Pin 6A) Cavo nero
SCK (Pin 30A) SCK (Pin 12A) Cavo giallo
SDO (Pin 31A) MI (Pin 14A) Cavo bianco
SDI (Pin 32A) M0 (Pin 13A) Cavo blu
CS (Pin 33A) GPIO 5 (Pin 15J) Cavo arancione

Per altre informazioni, vedere Adafruit BME280 Humidity + Barometric Pressure + Temperature Sensor Breakout (Informazioni sul sensore di temperatura + pressione barometrica + umidità Adafruit BME280) e la piedinatura di Adafruit Feather M0 Wi-Fi.

Ora Feather M0 Wi-Fi è connesso con un sensore funzionante.

Connettere DHT22 a Feather HUZZAH

Connettere Feather M0 Wi-Fi al computer

Usare il cavo USB Micro/tipo A per connettere Feather M0 Wi-Fi al computer, come illustrato di seguito:

Connettere Feather HUZZAH al computer

Aggiungere le autorizzazioni per la porta seriale (solo Ubuntu)

Se si usa Ubuntu, assicurarsi di avere le autorizzazioni per operare sulla porta USB di Feather M0 Wi-Fi. Per aggiungere autorizzazioni sulla porta seriale, seguire questi passaggi:

  1. Eseguire i comandi seguenti in un terminale:

    ls -l /dev/ttyUSB*
    ls -l /dev/ttyACM*
    

    Si ottiene uno degli output seguenti:

    • crw-rw---- 1 root uucp xxxxxxxx
    • crw-rw---- 1 root dialout xxxxxxxx

    Nell'output osservare che uucp o dialout è il nome del proprietario del gruppo della porta USB.

  2. Per aggiungere l'utente al gruppo, eseguire il comando seguente:

    sudo usermod -a -G <group-owner-name> <username>
    

    Nel passaggio precedente, <group-owner-name> è il nome del proprietario gruppo ottenuto, <username> il nome utente di Ubuntu.

  3. Per visualizzare la modifica, disconnettere Ubuntu e accedere di nuovo.

Raccogliere i dati del sensore e inviarli all'hub IoT

In questa sezione si distribuisce e si esegue un'applicazione di esempio in Feather M0 Wi-Fi. L'applicazione di esempio fa lampeggiare il LED sulla scheda Feather M0 Wi-Fi e invia all'hub IoT i dati di temperatura e umidità raccolti dal sensore BME280.

Ottenere l'applicazione di esempio da Github e preparare l'IDE Arduino

L'applicazione di esempio è ospitata in GitHub. Clonare il repository di esempio che contiene l'applicazione di esempio da GitHub. Per clonare il repository di esempio, seguire questi passaggi:

  1. Aprire un prompt dei comandi o una finestra del terminale.

  2. Passare alla cartella in cui archiviare l'applicazione di esempio.

  3. Eseguire il comando seguente:

    git clone https://github.com/Azure-Samples/iot-hub-Feather-M0-WiFi-client-app.git
    

Installare il pacchetto per Feather M0 Wi-Fi nell'IDE Arduino

  1. Aprire la cartella in cui è archiviata l'applicazione di esempio.

  2. Aprire il file app.ino nella cartella dell'app nell'IDE Arduino.

    Aprire l'applicazione di esempio nell'IDE Arduino

  3. Fare clic su File > Preferenze (Windows/Linux) o su Arduino > Preferenze (Mac) e copiare e incollare il collegamento seguente nell'opzione Additional Boards Manager URLs (URL di gestione schede aggiuntive) nelle preferenze dell'IDE Arduino.

    https://adafruit.github.io/arduino-board-index/package_adafruit_index.json, https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
    
  4. Fare clic su Strumenti > Scheda > Boards Manager (Gestione schede) e quindi installare Arduino SAMD Boards version 1.6.2 o versione successiva.

  5. Nella stessa finestra installare quindi il pacchetto Adafruit SAMD Boards per aggiungere le definizioni del file di scheda.

    Il pacchetto esp8266 è installato

  6. Fare clic su Strumenti > Schede > Adafruit M0 Wi-Fi.

  7. Installare i driver (solo per Windows). Quando si collega Feather M0 WiFi, è possibile che sia necessario installare un driver. Fare clic sul collegamento di download nella pagina Web per scaricare il programma di installazione del driver. Seguire la procedura per installare i driver desiderati.

Installare le librerie necessarie

  1. Nell'IDE di Arduino fare clic su Schizzo > Include Library (Includi libreria) > Gestisci librerie.

  2. Cercare i seguenti nomi di libreria uno alla volta. Per ogni libreria trovata fare clic su Install (Installa):

    • RTCZero
    • NTPClient
    • AzureIoTHub
    • AzureIoTUtility
    • AzureIoTProtocol_HTTP
    • ArduinoJson
    • Adafruit BME280 Library
    • Adafruit Unified Sensor
  3. Installare manualmente Adafruit_WINC1500. Accedere a questo sito Web e fare clic su Clone or download (Clona o scarica) > Download ZIP (Scarica ZIP). Nell'IDE Arduino passare a Sketch (Schizzo) > Include Library (Includi libreria) > Add .zip Library (Aggiungi libreria ZIP) e quindi aggiungere il file ZIP.

Usare l'applicazione di esempio se non si ha un sensore BME280 reale

Se non si ha un sensore BME280 reale, l'applicazione di esempio consente di simulare i dati di temperatura e umidità. Per abilitare l'applicazione di esempio all'uso di dati simulati, seguire questa procedura:

  1. Aprire il file config.h nella cartella app.

  2. Individuare la seguente riga di codice e modificare il valore da false a true:

    define SIMULATED_DATA true
    

    Configurare l'applicazione di esempio per l'uso di dati simulati

  3. Salvare il file con Control-s.

Distribuire l'applicazione di esempio in Feather M0 Wi-Fi

  1. Nell'IDE di Arduino fare clic su Strumento > Porta e quindi fare clic sulla porta seriale per Feather M0 Wi-Fi.

  2. Fare clic su Schizzo > Carica per compilare e distribuire l'applicazione di esempio in Feather M0 Wi-Fi.

Immettere le credenziali

Una volta completato l'upload, seguire questa procedura per immettere le credenziali:

  1. Nell'IDE di Arduino fare clic su Strumenti > Serial Monitor (Monitoraggio seriale).

  2. Nell'angolo inferiore destro della finestra del monitoraggio seriale selezionare No line ending (Senza terminazione di riga) nell'elenco a discesa a sinistra.

  3. Selezionare 115200 baud nell'elenco a discesa a destra.
  4. Nella casella di input in alto immettere le informazioni seguenti, se viene chiesto di specificarle, e fare clic su Send (Invia):

    • Wi-Fi SSID
    • Password Wi-Fi
    • Stringa di connessione del dispositivo
Nota

Le informazioni sulle credenziali sono archiviate in EEPROM di Feather M0 Wi-Fi. Se si fa clic sul pulsante di reset della scheda Feather M0 Wi-Fi, l'applicazione di esempio chiede se si desidera cancellare le informazioni. Immettere Y per cancellare le informazioni. Viene chiesto di specificare nuovamente le informazioni.

Verificare che l'applicazione di esempio venga eseguita correttamente

Se nella finestra di monitoraggio seriale viene visualizzato l'output seguente e il LED di Feather M0 Wi-Fi lampeggia, l'applicazione di esempio è stata eseguita correttamente:

Output finale nell'IDE Arduino

Passaggi successivi

La scheda Feather M0 Wi-Fi è stata connessa all'hub IoT correttamente e i dati acquisiti dal sensore sono stati inviati all'hub IoT.

Per altre informazioni sulle attività iniziali con l'hub IoT di Azure e per esplorare altri scenari IoT, vedere: