Connettere Sparkfun ESP8266 Thing Dev all'hub IoT di Azure nel cloudConnect Sparkfun ESP8266 Thing Dev to Azure IoT Hub in the cloud

connessione tra DHT22, Thing Dev e hub IoT

Contenuto dell'esercitazioneWhat you will do

Connettere Sparkfun ESP8266 Thing Dev a un hub IoT che l'utente creerà.Connect Sparkfun ESP8266 Thing Dev to an IoT hub you will create. Quindi eseguire un'applicazione di esempio in ESP8266 per raccogliere dati di temperatura e umidità da un sensore DHT22.Then run a sample application on ESP8266 to collect temperature and humidity data from a DHT22 sensor. Infine inviare i dati del sensore all'hub IoT.Finally, send the sensor data to your IoT hub.

Nota

Se si usano altre schede ESP8266, è comunque possibile seguire questi passaggi per connetterle all'hub IoT.If you are using other ESP8266 boards, you can still follow these steps to connect it to your IoT hub. A seconda della scheda ESP8266 in uso, potrebbe essere necessario riconfigurare il LED_PIN.Depending on the ESP8266 board you are using, you may need to reconfigure the LED_PIN. Ad esempio, se si usa ESP8266 da AI-Thinker, è possibile modificarlo da 0 a 2.For example, if you are using ESP8266 from AI-Thinker, you may change it from 0 to 2. Non si dispone ancora di un kit? Fare clic quiDon't have a kit yet?: Click here

Contenuto dell'esercitazioneWhat you will learn

  • Come creare un hub IoT e registrare un dispositivo per Thing Dev.How to create an IoT hub and register a device for Thing Dev.
  • Come connettere Thing Dev con il sensore e il computer.How to connect Thing Dev with the sensor and your computer.
  • Come raccogliere i dati del sensore eseguendo un'applicazione di esempio in Thing Dev.How to collect sensor data by running a sample application on Thing Dev.
  • Come inviare i dati del sensore all'hub IoT.How to send the sensor data to your IoT hub.

PrerequisitiWhat you will need

Parti necessarie per l'esercitazione

Per completare questa operazione, è necessario disporre dei componenti seguenti dello starter kit di Thing Dev:To complete this operation, you need the following parts from your Thing Dev Starter Kit:

  • La scheda Sparkfun ESP8266 Thing Dev.The Sparkfun ESP8266 Thing Dev board.
  • Un cavo USB Micro/tipo A.A Micro USB to Type A USB cable.

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

  • Una sottoscrizione di Azure attiva.An active Azure subscription. Se non si ha un account Azure, creare un account Azure gratuito in pochi minuti.If you don't have an Azure account, create a free Azure trial account in just a few minutes.
  • Mac o PC che esegue Windows o Ubuntu.Mac or PC that is running Windows or Ubuntu.
  • Rete wireless per Sparkfun ESP8266 Thing Dev a cui connettersi.Wireless network for Sparkfun ESP8266 Thing Dev to connect to.
  • Connessione Internet per scaricare lo strumento di configurazione.Internet connection to download the configuration tool.
  • IDE di Arduino versione 1.6.8 (o successive), le versioni precedenti non funzioneranno con la libreria AzureIoT.Arduino IDE version 1.6.8 (or newer), earlier versions will not work with the AzureIoT library.

Gli elementi seguenti sono facoltativi nel caso in cui non si disponga di un sensore.The following items are optional in case you don’t have a sensor. È possibile anche usare dati di sensori simulati.You also have the option of using simulated sensor data.

  • Un sensore di temperatura e umidità Adafruit DHT22.An Adafruit DHT22 temperature and humidity sensor.
  • Una basetta sperimentale.A breadboard.
  • Cavi ponticello M/M.M/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 ESP8266 Thing Dev con il sensore e il computerConnect ESP8266 Thing Dev with the sensor and your computer

Connettere un sensore di temperatura e umidità DHT22 a ESP8266 Thing DevConnect a DHT22 temperature and humidity sensor to ESP8266 Thing Dev

Usare la basetta sperimentale e i cavi ponticello per stabilire la connessione come indicato di seguito.Use the breadboard and jumper wires to make the connection as follows. 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 verranno usati i collegamenti seguenti:For sensor pins, we will use the following wiring:

Inizio (sensore)Start (Sensor) Fine (scheda)End (Board) Colore del cavoCable Color
VDD (Pin 27F)VDD (Pin 27F) 3V (Pin 8A)3V (Pin 8A) Cavo rossoRed cable
DATA (Pin 28F)DATA (Pin 28F) GPIO 2 (Pin 9A)GPIO 2 (Pin 9A) Cavo biancoWhite cable
GND (Pin 30F)GND (Pin 30F) GND (Pin 7J)GND (Pin 7J) Cavo neroBlack cable

Ora Sparkfun ESP8266 Thing Dev è connesso con un sensore funzionante.Now your Sparkfun ESP8266 Thing Dev should be connected with a working sensor.

collegare DHT22 con ESP8266 Thing Dev

Collegare Sparkfun ESP8266 Thing Dev al computerConnect Sparkfun ESP8266 Thing Dev to your computer

Usare il cavo USB Micro/tipo A per connettere Sparkfun ESP8266 Thing Dev al computer come segue.Use the Micro USB to Type A USB cable to connect Sparkfun ESP8266 Thing Dev to your computer as follows.

Connettere Feather HUZZAH al computer

Aggiungere le autorizzazioni per la porta seriale: solo in UbuntuAdd serial port permissions – Ubuntu only

Se si usa Ubuntu, assicurarsi che un normale utente abbia le autorizzazioni per operare sulla porta USB di Sparkfun ESP8266 Thing Dev.If you use Ubuntu, make sure a normal user has the permissions to operate on the USB port of Sparkfun ESP8266 Thing Dev. Per aggiungere autorizzazioni sulla porta seriale per un utente normale, seguire questi passaggi:To add serial port permissions for a normal user, follow these steps:

  1. Eseguire i comandi seguenti in un terminale:Run the following commands at a terminal:

    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 si osservi uucp o dialout che rappresenta il nome del proprietario gruppo della porta USB.In the output, notice uucp or dialout that is the group owner name of the USB port.

  2. Aggiungere l'utente al gruppo eseguendo il comando seguente:Add the user to the group by running the following command:

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

    <group-owner-name> è il nome del proprietario gruppo ottenuto nel passaggio precedente.<group-owner-name> is the group owner name you obtained in the previous step. <username> è il nome utente di Ubuntu.<username> is your Ubuntu user name.

  3. Eseguire la disconnessione da Ubuntu e quindi un nuovo accesso per rendere effettive le modifiche.Log out Ubuntu and log in it again for the change to take effect.

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 Sparkfun ESP8266 Thing Dev.In this section, you deploy and run a sample application on Sparkfun ESP8266 Thing Dev. L'applicazione di esempio fa lampeggiare il LED in Sparkfun ESP8266 Thing Dev e invia i dati di temperatura e umidità raccolti dal sensore DHT22 all'hub IoT.The sample application blinks the LED on Sparkfun ESP8266 Thing Dev and sends the temperature and humidity data collected from the DHT22 sensor to your IoT hub.

Ottenere l'applicazione di esempio da GithubGet the sample application from GitHub

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-SparkFun-ThingDev-client-app.git
    

Installare il pacchetto per Sparkfun ESP8266 Thing Dev nell'IDE di Arduino:Install the package for Sparkfun ESP8266 Thing Dev in 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 di Arduino.Open the app.ino file in the app folder in Arduino IDE.

    Aprire l'applicazione di esempio nell'IDE di Arduino

  3. Nell'IDE di Arduino fare clic su File > Preferenze.In the Arduino IDE, click File > Preferences.

  4. Nella finestra di dialogo Preferenze fare clic sull'icona accanto alla casella di testo Additional Boards Manager URLs (URL di gestione bacheche aggiuntivo).In the Preferences dialog box, click the icon next to the Additional Boards Manager URLs text box.
  5. Nella finestra a comparsa immettere l'URL seguente e quindi fare clic su OK.In the pop-up window, enter the following URL, and then click OK.

    http://arduino.esp8266.com/stable/package_esp8266com_index.json

    Puntare all'URL di un pacchetto nell'IDE di Arduino

  6. Nella finestra di dialogo Preferenza fare clic su OK.In the Preference dialog box, click OK.

  7. Fare clic su Strumenti > Bacheca > Boards Manager (Gestione bacheche) e quindi cercare esp8266.Click Tools > Board > Boards Manager, and then search for esp8266. Deve essere installato ESP8266 versione 2.2.0 o successiva.ESP8266 with a version of 2.2.0 or later should be installed.

    Il pacchetto esp8266 è installato

  8. Fare clic su Strumenti > Scheda > Sparkfun ESP8266 Thing Dev.Click Tools > Board > Sparkfun ESP8266 Thing Dev.

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 ciascuna delle librerie individuate fare clic su Installa.For each of the library you find, click Install.
    • AzureIoTHub
    • AzureIoTUtility
    • AzureIoTProtocol_MQTT
    • ArduinoJson
    • DHT sensor library
    • Adafruit Unified Sensor

Non si dispone di un sensore DHT22 reale?Don’t have a real DHT22 sensor?

L'applicazione di esempio consente di simulare i dati di temperatura e umidità nel caso non si disponga di un sensore DHT22 reale.The sample application can simulate temperature and humidity data in case you don’t have a real DHT22 sensor. Per abilitare l'applicazione di esempio all'uso di dati simulati, seguire questi passaggi:To enable 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 con Control-s.Save with Control-s.

Distribuire l'applicazione di esempio in Sparkfun ESP8266 Thing DevDeploy the sample application to Sparkfun ESP8266 Thing Dev

  1. Nell'IDE di Arduino fare clic su Strumento > Porta e quindi fare clic sulla porta seriale di Sparkfun ESP8266 Thing Dev.In the Arduino IDE, click Tool > Port, and then click the serial port for Sparkfun ESP8266 Thing Dev.
  2. Fare clic su Schizzo > Carica per compilare e distribuire l'applicazione di esempio in Sparkfun ESP8266 Thing Dev.Click Sketch > Upload to build and deploy the sample application to Sparkfun ESP8266 Thing Dev.

Nota

Se si usa macOS è possibile visualizzare i messaggi seguenti durante il caricamento.If you are using macOS you could probably see the following messages during uploading. warning: espcomm_sync failed,error: espcomm_open failed.warning: espcomm_sync failed,error: espcomm_open failed. Aprire la finestra del terminal e completare le azioni riportate di seguito per risolvere questo problema.Please open your ternimal window and finish below actions to solve this issue.

cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns
sudo mv AppleUSBFTDI.kext AppleUSBFTDI.disabled
sudo touch /System/Library/Extensions

Immettere le credenzialiEnter your credentials

Dopo aver completato il caricamento, seguire i passaggi per immettere le credenziali:After the upload completes successfully, follow the 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. Nella finestra del monitoraggio seriale notare i due elenchi a discesa nella parte inferiore destra.In the serial monitor window, notice the two drop-down lists on the bottom right corner.
  3. Selezionare No line ending (Senza terminazione di riga) per la casella di riepilogo a discesa a sinistra.Select No line ending for the left drop-down list.
  4. Selezionare 115200 baud per la casella di riepilogo a discesa a destra.Select 115200 baud for the right drop-down list.
  5. Nella casella di input nella parte superiore della finestra del monitoraggio seriale immettere le informazioni seguenti, se viene richiesto di fornirle, e quindi fare clic su Invia.In the input box located at the top of the serial monitor window, enter the following information if you are asked to provide them, and then 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 Sparkfun ESP8266 Thing Dev.The credential information is stored in the EEPROM of Sparkfun ESP8266 Thing Dev. Se si fa clic sul pulsante di reset della scheda di Sparkfun ESP8266 Thing Dev, l'applicazione di esempio chiede se si desidera cancellare le informazioni.If you click the reset button on the Sparkfun ESP8266 Thing Dev board, the sample application asks you if you want to erase the information. Immettere Y per cancellare le informazioni e verrà chiesto di fornirle nuovamente.Enter Y to have the information erased and you are asked to provide the information again.

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

Se si vede il seguente output dalla finestra di monitoraggio seriale e il LED di Sparkfun ESP8266 Thing Dev lampeggia, significa che l'applicazione di esempio viene eseguita correttamente.If you see the following output from the serial monitor window and the blinking LED on Sparkfun ESP8266 Thing Dev, the sample application is running successfully.

Output finale nell'IDE di Arduino

Passaggi successiviNext steps

Sparkfun ESP8266 Thing Dev si è connessa correttamente all'hub IoT e i dati acquisiti dal sensore sono stati inviati all'hub IoT.You have successfully connected a Sparkfun ESP8266 Thing Dev 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: