Connettere Adafruit Feather M0 Wi-Fi ad Azure IoT Hub nel cloudConnect Adafruit Feather M0 WiFi to Azure IoT Hub in the 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.In this tutorial, you begin by learning the basics of working with your Arduino board. Viene poi illustrato come connettere i dispositivi al cloud usando l'hub IoT di Azure.You then learn how to seamlessly connect your devices to the cloud by using Azure IoT Hub.

Operazioni da fareWhat you do

Connettere Adafruit Feather M0 Wi-Fi a un hub IoT che è stato creato.Connect Adafruit Feather M0 WiFi to an IoT hub that you create. Dopodiché, eseguire un'applicazione di esempio in M0 Wi-Fi per raccogliere i dati di temperatura e umidità da BME280.Then you run a sample application on M0 WiFi to collect the temperature and humidity data from a BME280. Infine inviare i dati del sensore all'hub IoT.Finally, you send the sensor data to your IoT hub.

Contenuto dell'esercitazioneWhat you learn

  • Come creare un hub IoT e registrare un dispositivo per Feather M0 Wi-FiHow to create an IoT hub and register a device for Feather M0 WiFi
  • Come connettere Feather M0 Wi-Fi al sensore e al computerHow to connect Feather M0 WiFi with the sensor and your computer
  • Come raccogliere i dati del sensore eseguendo un'applicazione di esempio in Feather M0 Wi-FiHow to collect sensor data by running a sample application on Feather M0 WiFi
  • Come inviare i dati del sensore all'hub IoTHow to send the sensor data to your IoT hub

Elementi necessariWhat you need

Componenti necessari per l'esercitazione

Per completare questa operazione è necessario disporre dei componenti seguenti di Feather M0 Wi-Fi Starter Kit:To complete this operation, you need the following parts from your Feather M0 WiFi Starter Kit:

  • Scheda Feather M0 Wi-FiThe Feather M0 WiFi board
  • Cavo USB Micro/tipo AA Micro USB to Type A USB cable

Per l'ambiente di sviluppo sono necessari anche gli elementi seguenti:You also need the following things for your development environment:

  • Una sottoscrizione di Azure attiva.An active Azure subscription. Se non si ha un account di Azure, creare un account di Azure gratuito in pochi minuti.If you don't have an Azure account, create a free Azure trial account in just a few minutes.
  • Un Mac o un PC che esegue Windows o Ubuntu.A Mac or PC that is running Windows or Ubuntu.
  • Una rete wireless a cui Feather M0 Wi-Fi deve connettersi.A wireless network for Feather M0 WiFi to connect to.
  • Una connessione Internet per scaricare lo strumento di configurazione.An Internet connection to download the configuration tool.
  • IDE Arduino 1.6.8 o versione successiva.Arduino IDE version 1.6.8 or later. Le versioni precedenti non funzionano con la libreria hub IoT di Azure.Earlier versions don't work with the Azure IoT Hub library.

Se non si ha un sensore, gli elementi seguenti sono facoltativi.If you don’t have a sensor, the following items are optional. È possibile anche usare dati di sensori simulati:You also have the option of using simulated sensor data:

  • Un sensore di temperatura e umidità BME280A BME280 temperature and humidity sensor
  • Basetta sperimentaleA breadboard
  • Cavi ponticello M/MM/M jumper wires

Creare un hub IoTCreate an IoT hub

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Selezionare Nuovo > Internet delle cose > Hub IoT.Select New > Internet of Things > IoT Hub.

    Indice del portale di Azure

  3. Nel riquadro Hub IoT immettere le informazioni seguenti per l'hub IoT:In the IoT hub pane, enter the following information for your IoT hub:

    • Nome: creare un nome per l'hub IoT.Name: Create a name for your IoT hub. Se il nome immesso è valido, viene visualizzato un segno di spunta verde.If the name you enter is valid, a green check mark appears.

    Importante

    L'hub IoT sarà individuabile pubblicamente come endpoint DNS, quindi evitare di indicare informazioni riservate nell'assegnazione del nome.The IoT hub will be publicly discoverable as a DNS endpoint, so make sure to avoid any sensitive information while naming it.

    • Piano tariffario e livello di scalabilità: per questa esercitazione selezionare il livello F1 gratuito.Pricing and scale tier: For this tutorial, select the F1 - Free tier. Per altre informazioni, vedere la pagina relativa a piano tariffario e livello di scalabilità.For more information, see the Pricing and scale tier.

    • Gruppo di risorse: creare un gruppo di risorse per ospitare l'hub IoT o usarne uno esistente.Resource group: Create a resource group to host the IoT hub or use an existing one. Per altre informazioni, vedere l'articolo su come usare i gruppi di risorse per gestire le risorse di Azure.For more information, see Use resource groups to manage your Azure resources

    • Località: selezionare la località più vicina.Location: Select the closest location to you.

    • Aggiungi al dashboard: selezionare questa opzione per semplificare l'accesso all'hub IoT dal dashboard.Pin to dashboard: Check this option for easy access to your IoT hub from the dashboard.

      Finestra Hub IoT

  4. Fare clic su Crea.Click Create. La creazione dell'hub IoT può richiedere alcuni minuti.Your IoT hub might take a few minutes to create. È possibile monitorare lo stato di avanzamento nel riquadro Notifiche.You can monitor the progress in the Notifications pane.

Ora che è stato creato un hub IoT, individuare le informazioni importanti che consentono di connettere dispositivi e applicazioni all'hub IoT.Now that you have created an IoT hub, locate the important information that you use to connect devices and applications to your IoT hub.

  1. Dopo aver creato l'hub IoT, selezionarlo nel dashboard.After your IoT hub is created, click it on the dashboard. Annotare il Nome host, quindi fare clic su Criteri di accesso condiviso.Make a note of the Hostname, and then click Shared access policies.

    Ottenere il nome host dell'hub IoT

  2. Nel riquadro Criteri di accesso condivisi fare clic sul criterio iothubowner, quindi copiare e annotare la Stringa di connessione dell'hub IoT.In the Shared access policies pane, click the iothubowner policy, and then copy and make a note of the Connection string of your IoT hub. Per altre informazioni, vedere Controllare l'accesso all'hub IoT.For more information, see Control access to IoT Hub.

Nota

Per questa esercitazione di configurazione non è necessaria la stringa di connessione iothubowner.You will not need this iothubowner connection string for this set-up tutorial. Potrebbe essere tuttavia necessaria per alcune delle esercitazioni in altri scenari IoT, dopo aver completato questa configurazione.However, you may need it for some of the tutorials on different IoT scenarios after you complete this set-up.

Ottenere la stringa di connessione dell'hub IoT

Registrare un dispositivo nell'hub IoT per il dispositivoRegister a device in the IoT hub for your device

  1. Nel portale di Azure, aprire l'hub IoT.In the Azure portal, open your IoT hub.

  2. Fare clic su Esplora dispositivi.Click Device Explorer.

  3. Nel riquadro Esplora dispositivi fare clic su Aggiungi per aggiungere un dispositivo all'hub IoT.In the Device Explorer pane, click Add to add a device to your IoT hub. Eseguire quindi le operazioni seguenti:Then do the following:

    ID dispositivo: immettere l'ID del nuovo dispositivo.Device ID: Enter the ID of the new device. Gli ID dispositivo fanno distinzione tra maiuscole e minuscole.Device IDs are case sensitive.

    Tipo di autenticazione: selezionare Chiave simmetrica.Authentication Type: Select Symmetric Key.

    Genera chiavi automaticamente: selezionare questa casella di controllo.Auto Generate Keys: Select this check box.

    Connetti dispositivo all'hub IoT: fare clic su Abilita.Connect device to IoT Hub: Click Enable.

    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.The device ID may be visible in the logs collected for customer support and troubleshooting, so make sure to avoid any sensitive information while naming it.

  4. Fare clic su Salva.Click Save.

  5. Dopo la creazione del dispositivo, aprire il dispositivo nel riquadro Esplora dispositivi.After the device is created, open the device in the Device Explorer pane.
  6. Annotare la chiave primaria della stringa di connessione.Make a note of the primary key of the connection string.

    Ottenere la stringa di connessione del dispositivo

Connettere Feather M0 Wi-Fi al sensore e al computerConnect Feather M0 WiFi with the sensor and your computer

In questa sezione si connettono i sensori alla scheda.In this section, you connect the sensors to your board. Quindi si collega il dispositivo al computer per poterlo usare.Then you plug in your device to your computer for further use.

Connettere un sensore di temperatura e umidità DHT22 a Feather M0 Wi-FiConnect a DHT22 temperature and humidity sensor to Feather M0 WiFi

Usare la basetta sperimentale e i cavi ponticello per stabilire la connessione.Use the breadboard and jumper wires to make the connection. Se non si dispone di un sensore, ignorare questa sezione in quanto è possibile usare i dati di sensori simulati.If you don’t have a sensor, skip this section because you can use simulated sensor data instead.

Riferimento per le connessioni

Per i pin dei sensori usare i collegamenti seguenti:For sensor pins, use the following wiring:

Inizio (sensore)Start (sensor) Fine (scheda)End (board) Colore del cavoCable color
VDD (Pin 27A)VDD (Pin 27A) 3 V (Pin 3A)3V (Pin 3A) Cavo rossoRed cable
GND (Pin 29A)GND (Pin 29A) GND (Pin 6A)GND (Pin 6A) Cavo neroBlack cable
SCK (Pin 30A)SCK (Pin 30A) SCK (Pin 12A)SCK (Pin 12A) Cavo gialloYellow cable
SDO (Pin 31A)SDO (Pin 31A) MI (Pin 14A)MI (Pin 14A) Cavo biancoWhite cable
SDI (Pin 32A)SDI (Pin 32A) M0 (Pin 13A)M0 (Pin 13A) Cavo bluBlue cable
CS (Pin 33A)CS (Pin 33A) GPIO 5 (Pin 15J)GPIO 5 (Pin 15J) Cavo arancioneOrange cable

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.For more information, see Adafruit BME280 Humidity + Barometric Pressure + Temperature Sensor Breakout and Adafruit Feather M0 WiFi pinouts.

Ora Feather M0 Wi-Fi è connesso con un sensore funzionante.Now your Feather M0 WiFi should be connected with a working sensor.

Connettere DHT22 a Feather HUZZAH

Connettere Feather M0 Wi-Fi al computerConnect Feather M0 WiFi to your computer

Usare il cavo USB Micro/tipo A per connettere Feather M0 Wi-Fi al computer, come illustrato di seguito:Use the Micro USB to Type A USB cable to connect Feather M0 WiFi to your computer, as shown:

Connettere Feather HUZZAH al computer

Aggiungere le autorizzazioni per la porta seriale (solo Ubuntu)Add serial port permissions (Ubuntu only)

Se si usa Ubuntu, assicurarsi di avere le autorizzazioni per operare sulla porta USB di Feather M0 Wi-Fi.If you use Ubuntu, make sure you have the permissions to operate on the USB port of Feather M0 WiFi. Per aggiungere autorizzazioni sulla porta seriale, seguire questi passaggi:To add serial port permissions, follow these steps:

  1. Eseguire i comandi seguenti in un terminale:At a terminal, run the following commands:

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

    Si ottiene uno degli output seguenti:You get one of the following outputs:

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

    Nell'output osservare che uucp o dialout è il nome del proprietario del gruppo della porta USB.In the output, notice that uucp or dialout is the group owner name of the USB port.

  2. Per aggiungere l'utente al gruppo, eseguire il comando seguente:To add the user to the group, run the following command:

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

    Nel passaggio precedente, <group-owner-name> è il nome del proprietario gruppo ottenuto,In the previous step, you obtained the group owner name <group-owner-name>. <username> il nome utente di Ubuntu.Your Ubuntu user name is <username>.

  3. Per visualizzare la modifica, disconnettere Ubuntu e accedere di nuovo.For the change to appear, sign out of Ubuntu and then sign in again.

Raccogliere i dati del sensore e inviarli all'hub IoTCollect sensor data and send it to your IoT hub

In questa sezione si distribuisce e si esegue un'applicazione di esempio in Feather M0 Wi-Fi.In this section, you deploy and run a sample application on Feather M0 WiFi. L'applicazione di esempio fa lampeggiare il LED sulla scheda Feather M0 Wi-FiThe sample application makes the LED blink on Feather M0 WiFi. e invia all'hub IoT i dati di temperatura e umidità raccolti dal sensore BME280.It then sends the temperature and humidity data collected from the BME280 sensor to your IoT hub.

Ottenere l'applicazione di esempio da Github e preparare l'IDE ArduinoGet the sample application from GitHub and prepare the Arduino IDE

L'applicazione di esempio è ospitata in GitHub.The sample application is hosted on GitHub. Clonare il repository di esempio che contiene l'applicazione di esempio da GitHub.Clone the sample repository that contains the sample application from GitHub. Per clonare il repository di esempio, seguire questi passaggi:To clone the sample repository, follow these steps:

  1. Aprire un prompt dei comandi o una finestra del terminale.Open a command prompt or a terminal window.

  2. Passare alla cartella in cui archiviare l'applicazione di esempio.Go to a folder where you want the sample application to be stored.

  3. Eseguire il comando seguente:Run the following command:

    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 ArduinoInstall the package for Feather M0 WiFi in the Arduino IDE

  1. Aprire la cartella in cui è archiviata l'applicazione di esempio.Open the folder where the sample application is stored.

  2. Aprire il file app.ino nella cartella dell'app nell'IDE Arduino.Open the app.ino file in the app folder in the Arduino IDE.

    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.Click File > Preferences (Windows/Linux) or Arduino > Preferences (Mac) and copy and paste the link below into the Additional Boards Manager URLs option in the Arduino IDE preferences.

    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.Click Tools > Board > Boards Manager, and then install the Arduino SAMD Boards version 1.6.2 or later.

  5. Nella stessa finestra installare quindi il pacchetto Adafruit SAMD Boards per aggiungere le definizioni del file di scheda.Then in the same window, install Adafruit SAMD Boards package to add the board file definitions.

    Il pacchetto esp8266 è installato

  6. Fare clic su Strumenti > Schede > Adafruit M0 Wi-Fi.Click Tools > Board > Adafruit M0 WiFi.

  7. Installare i driver (solo per Windows).Install drivers (for Windows only). Quando si collega Feather M0 WiFi, è possibile che sia necessario installare un driver.When you plug in Feather M0 WiFi, you might need to install a driver. Fare clic sul collegamento di download nella pagina Web per scaricare il programma di installazione del driver.Click the download link on the webpage to download the driver installer. Seguire la procedura per installare i driver desiderati.Follow the steps to install the drivers you want.

Installare le librerie necessarieInstall necessary libraries

  1. Nell'IDE di Arduino fare clic su Schizzo > Include Library (Includi libreria) > Gestisci librerie.In the Arduino IDE, click Sketch > Include Library > Manage Libraries.

  2. Cercare i seguenti nomi di libreria uno alla volta.Search for the following library names one by one. Per ogni libreria trovata fare clic su Install (Installa):For each library that you find, click Install:

    • RTCZero
    • NTPClient
    • AzureIoTHub
    • AzureIoTUtility
    • AzureIoTProtocol_HTTP
    • ArduinoJson
    • Adafruit BME280 Library
    • Adafruit Unified Sensor
  3. Installare manualmente Adafruit_WINC1500.Manually install Adafruit_WINC1500. Accedere a questo sito Web e fare clic su Clone or download (Clona o scarica) > Download ZIP (Scarica ZIP).Go to this website and click Clone or download > Download ZIP. Nell'IDE Arduino passare a Sketch (Schizzo) > Include Library (Includi libreria) > Add .zip Library (Aggiungi libreria ZIP) e quindi aggiungere il file ZIP.Then in your Arduino IDE, go to Sketch > Include Library > Add .zip Library and add the zip file.

Usare l'applicazione di esempio se non si ha un sensore BME280 realeUse the sample application if you don’t have a real BME280 sensor

Se non si ha un sensore BME280 reale, l'applicazione di esempio consente di simulare i dati di temperatura e umidità.If you don’t have a real BME280 sensor, the sample application can simulate temperature and humidity data. Per abilitare l'applicazione di esempio all'uso di dati simulati, seguire questa procedura:To set up the sample application to use simulated data, follow these steps:

  1. Aprire il file config.h nella cartella app.Open the config.h file in the app folder.

  2. Individuare la seguente riga di codice e modificare il valore da false a true:Locate the following line of code and change the value from false to true:

    define SIMULATED_DATA true
    

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

  3. Salvare il file con Control-s.Save the file with Control-s.

Distribuire l'applicazione di esempio in Feather M0 Wi-FiDeploy the sample application to Feather M0 WiFi

  1. Nell'IDE di Arduino fare clic su Strumento > Porta e quindi fare clic sulla porta seriale per Feather M0 Wi-Fi.In the Arduino IDE, click Tool > Port, and then click the serial port for Feather M0 WiFi.

  2. Fare clic su Schizzo > Carica per compilare e distribuire l'applicazione di esempio in Feather M0 Wi-Fi.Click Sketch > Upload to build and deploy the sample application to Feather M0 WiFi.

Immettere le credenzialiEnter your credentials

Una volta completato l'upload, seguire questa procedura per immettere le credenziali:After the upload completes successfully, follow these steps to enter your credentials:

  1. Nell'IDE di Arduino fare clic su Strumenti > Serial Monitor (Monitoraggio seriale).In the Arduino IDE, click Tools > Serial Monitor.

  2. Nell'angolo inferiore destro della finestra del monitoraggio seriale selezionare No line ending (Senza terminazione di riga) nell'elenco a discesa a sinistra.In the lower-right corner of the serial monitor window, select No line ending in the drop-down list on the left.

  3. Selezionare 115200 baud nell'elenco a discesa a destra.Select 115200 baud in the drop-down list on the right.
  4. Nella casella di input in alto immettere le informazioni seguenti, se viene chiesto di specificarle, e fare clic su Send (Invia):In the input box at the top, enter the following information if you're asked to provide it, and click Send:

    • Wi-Fi SSIDWi-Fi SSID
    • Password Wi-FiWi-Fi password
    • Stringa di connessione del dispositivoDevice connection string

Nota

Le informazioni sulle credenziali sono archiviate in EEPROM di Feather M0 Wi-Fi.The credential information is stored in the EEPROM of Feather M0 WiFi. 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.If you click the reset button on the Feather M0 WiFi board, the sample application asks if you want to erase the information. Immettere Y per cancellare le informazioni.Enter Y to erase the information. Viene chiesto di specificare nuovamente le informazioni.You're asked to provide the information a second time.

Verificare che l'applicazione di esempio venga eseguita correttamenteVerify that the sample application is running successfully

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:If you see the following output from the serial monitor window and the blinking LED on Feather M0 WiFi, the sample application is running successfully:

Output finale nell'IDE Arduino

Passaggi successiviNext steps

La scheda Feather M0 Wi-Fi è stata connessa all'hub IoT correttamente e i dati acquisiti dal sensore sono stati inviati all'hub IoT.You have successfully connected Feather M0 WiFi to your IoT hub and sent the captured sensor data to your IoT hub.

Per altre informazioni sulle attività iniziali con l'hub IoT di Azure e per esplorare altri scenari IoT, vedere:To continue to get started with Azure IoT Hub and to explore other IoT scenarios, see the following: