Adafruit Feather HUZZAH ESP8266을 클라우드의 Azure IoT Hub에 연결Connect Adafruit Feather HUZZAH ESP8266 to Azure IoT Hub in the cloud

DHT22, Feather HUZZAH ESP8266 및 IoT Hub 간 연결

수행할 작업What you do

사용자가 만든 IoT Hub에 Adafruit Feather HUZZAH ESP8266을 연결합니다.Connect Adafruit Feather HUZZAH ESP8266 to an IoT hub that you create. 그런 다음 ESP8266에서 샘플 응용 프로그램을 실행하여 DHT22 센서로부터 온도 및 습도 데이터를 수집합니다.Then you run a sample application on ESP8266 to collect the temperature and humidity data from a DHT22 sensor. 마지막으로 센서 데이터를 IoT Hub로 보냅니다.Finally, you send the sensor data to your IoT hub.

참고

다른 ESP8266 보드를 사용하는 경우에도 이러한 단계에 따라 IoT Hub에 계속 연결할 수 있습니다.If you're using other ESP8266 boards, you can still follow these steps to connect it to your IoT hub. 사용하는 ESP8266 보드에 따라 LED_PIN을 다시 구성해야 할 수도 있습니다.Depending on the ESP8266 board you're using, you might need to reconfigure the LED_PIN. 예를 들어 AI-Thinker의 ESP8266을 사용하는 경우 02로 변경할 수 있습니다.For example, if you're using ESP8266 from AI-Thinker, you might change it from 0 to 2. 아직 키트가 없으세요?Don't have a kit yet? Azure 웹 사이트에서 가져오기Get it from the Azure website.

학습 내용What you learn

  • IoT Hub를 만들고 장치를 Feather HUZZAH ESP8266으로 등록하는 방법How to create an IoT hub and register a device for Feather HUZZAH ESP8266
  • 센서와 컴퓨터에 Feather HUZZAH ESP8266을 연결하는 방법How to connect Feather HUZZAH ESP8266 with the sensor and your computer
  • Feather HUZZAH ESP8266에서 샘플 응용 프로그램을 실행하여 센서 데이터를 수집하는 방법How to collect sensor data by running a sample application on Feather HUZZAH ESP8266
  • 센서 데이터를 IoT Hub로 보내는 방법How to send the sensor data to your IoT hub

필요한 항목What you need

이 자습서에 필요한 부품

이 작업을 완료하려면 Feather HUZZAH ESP8266 시작 키트에서 다음 부품이 필요합니다.To complete this operation, you need the following parts from your Feather HUZZAH ESP8266 Starter Kit:

  • Feather HUZZAH ESP8266 보드The Feather HUZZAH ESP8266 board
  • Micro USB - A형 USB 케이블A Micro USB to Type A USB cable

또한 개발 환경에는 다음 사항도 필요합니다.You also need the following things for your development environment:

참고

Arduino용 Visual Studio Code 확장에 사용되는 Arduino IDE 버전은 1.6.8 이상 버전이어야 합니다.The Arduino IDE version used by Visual Studio Code extension for Arduino has to be version 1.6.8 or later. 이전 버전은 Azure IoT 라이브러리에서 작동하지 않습니다.Earlier versions don't work with the AzureIoT library.

센서가 없는 경우 다음 항목은 선택 사항입니다.The following items are optional in case you don’t have a sensor. 시뮬레이션된 센서 데이터를 사용하는 옵션도 있습니다.You also have the option of using simulated sensor data.

  • Adafruit DHT22 온도 및 습도 센서An Adafruit DHT22 temperature and humidity sensor
  • 실험용 회로판A breadboard
  • M/M 점퍼 와이어M/M jumper wires

Create an IoT hub

이 섹션에서는 Azure Portal을 사용하여 IoT Hub를 만드는 방법에 대해 설명합니다.This section describes how to create an IoT hub using the Azure portal.

  1. Azure Portal에 로그인합니다.Log in to the Azure portal.

  2. + 리소스 만들기, 사물 인터넷을 차례로 선택합니다.Choose +Create a resource, then choose Internet of Things.

  3. 오른쪽의 목록에서 Iot Hub를 클릭합니다.Click Iot Hub from the list on the right. IoT 허브를 만들기 위한 첫 번째 화면이 표시됩니다.You see the first screen for creating an IoT hub.

    Azure Portal에서 허브 만들기를 보여 주는 스크린샷

    필드를 입력합니다.Fill in the fields.

    구독: IoT 허브에 사용할 구독을 선택합니다.Subscription: Select the subscription to use for your IoT hub.

    리소스 그룹: 새 리소스 그룹을 만들거나 기존 리소스 그룹을 사용할 수 있습니다.Resource Group: You can create a new resource group or use an existing one. 새 리소스 그룹을 만들려면 새로 만들기를 클릭하고 사용하려는 이름을 입력합니다.To create a new one, click Create new and fill in the name you want to use. 기존 리소스 그룹을 사용하려면 기존 항목 사용을 클릭하고 드롭다운 목록에서 리소스 그룹을 선택합니다.To use an existing resource group, click Use existing and select the resource group from the dropdown list. 자세한 내용은 리소스 그룹을 사용하여 Azure 리소스 관리를 참조하세요.For more information, see Use resource groups to manage your Azure resources.

    지역: 허브를 배치할 지역입니다.Region: This is the region in which you want your hub to be located. 드롭다운 목록에서 가장 가까운 위치를 선택합니다.Select the location closest to you from the dropdown list.

    IoT Hub이름: IoT Hub의 이름을 입력합니다.IoT Hub Name: Put in the name for your IoT Hub. 이 이름은 전역적으로 고유해야 합니다.This name must be globally unique. 입력한 이름을 사용할 수 있으면 녹색 확인 표시가 나타납니다.If the name you enter is available, a green check mark appears.

    중요

    IoT Hub가 DNS 엔드포인트로 공개적으로 검색할 수 있게 되므로 이름을 지정하는 동안 중요한 정보를 피해야 합니다.The IoT hub will be publicly discoverable as a DNS endpoint, so make sure to avoid any sensitive information while naming it.

  4. 다음: 크기 및 규모를 클릭하여 IoT Hub를 계속 만듭니다.Click Next: Size and scale to continue creating your IoT hub.

    Azure Portal을 사용하여 새 IoT 허브의 크기 및 배율 설정을 보여 주는 스크린샷

    이 화면에서 기본값을 적용하고 아래쪽의 검토 + 만들기를 클릭하면 됩니다.On this screen, you can take the defaults and just click Review + create at the bottom.

    가격 책정 및 크기 조정 계층: 원하는 기능 수와 솔루션을 통해 보내는 일당 메시지 수에 따라 여러 계층 중에서 선택할 수 있습니다.Pricing and scale tier: You can choose from several tiers depending on how many features you want and how many messages you send through your solution per day. 무료 계층은 테스트와 평가를 위해 제공됩니다.The free tier is intended for testing and evaluation. IoT Hub에 500개 장치를 연결할 수 있으며 하루에 8,000개 메시지까지 허용합니다.It allows 500 devices to be connected to the IoT hub and up to 8,000 messages per day. 각 Azure 구독은 무료 계층에 하나의 IoT Hub를 만들 수 있습니다.Each Azure subscription can create one IoT Hub in the free tier.

    IoT Hub 단위: 허용되는 일/단위당 메시지의 수는 허브의 가격 책정 계층에 따라 다릅니다.IoT Hub units: The number of messages allowed per unit per day depends on your hub's pricing tier. 예를 들어 IoT Hub가 700,000개의 메시지 수신을 지원하려면 S1 계층 단위 2개를 선택합니다.For example, if you want the IoT hub to support ingress of 700,000 messages, you choose two S1 tier units.

    다른 계층 옵션에 대한 자세한 내용은 적절한 IoT Hub 계층 선택을 참조하세요.For details about the other tier options, see Choosing the right IoT Hub tier.

    고급/장치-클라우드 파티션: 이 속성은 장치-클라우드 메시지를 메시지의 동시 판독기 수와 연결합니다.Advanced / Device-to-cloud partitions: This property relates the device-to-cloud messages to the number of simultaneous readers of the messages. 대부분의 IoT 허브에는 4개의 파티션만 필요합니다.Most IoT hubs only need four partitions.

  5. 검토 + 만들기를 클릭하여 선택 사항을 검토합니다.Click Review + create to review your choices. 다음 화면과 비슷하게 표시됩니다.You see something similar to this screen.

    새 IoT 허브를 만들기 위한 정보를 검토하는 스크린샷

  6. 만들기를 클릭하여 새 IoT 허브를 만듭니다.Click Create to create your new IoT hub. 허브를 만드는 데 몇 분이 걸립니다.Creating the hub takes a few minutes.

Now that you have created an IoT hub, locate the important information that you use to connect devices and applications to your IoT hub.

In your IoT hub navigation menu, open Shared access policies. Select the iothubowner policy, and then copy the Connection string---primary key of your IoT hub. For more information, see Control access to IoT Hub.

참고

You do not need the iothubowner connection string for this set-up tutorial. However, you may need it for some of the tutorials or different IoT scenarios after you complete this set-up.

Get your IoT hub connection string

Register your device in the IoT hub

  1. In your IoT hub navigation menu, open IoT devices, then click Add to register a device in your IoT hub.

    Add a device in the IoT Devices of your IoT hub

  2. Enter a Device ID for the new device. Device IDs are case sensitive.

    중요

    고객 지원 및 문제 해결을 위해 수집한 로그에 장치 ID를 표시할 수 있으므로 이름을 지정하는 동안 중요한 정보를 피해야 합니다.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.

  3. Click Save.

  4. After the device is created, open the device from the list in the IoT devices pane.

  5. Copy the Connection string---primary key to use later.

    Get the device connection string

Feather HUZZAH ESP8266을 센서와 컴퓨터에 연결Connect Feather HUZZAH ESP8266 with the sensor and your computer

이 섹션에서는 센서를 보드에 연결합니다.In this section, you connect the sensors to your board. 그런 다음 장치를 나중에 사용할 컴퓨터에 연결합니다.Then you plug in your device to your computer for further use.

Feather HUZZAH ESP8266에 DHT22 온도 및 습도 센서 연결Connect a DHT22 temperature and humidity sensor to Feather HUZZAH ESP8266

다음과 같이 실험용 회로판과 점퍼 와이어를 사용하여 연결합니다.Use the breadboard and jumper wires to make the connection as follows. 센서가 없는 경우 시뮬레이션된 센서 데이터를 사용할 수 있으므로 이 섹션을 건너뜁니다.If you don’t have a sensor, skip this section because you can use simulated sensor data instead.

연결 참조

센서 핀의 경우 다음 배선을 사용합니다.For sensor pins, use the following wiring:

시작(센서)Start (Sensor) 끝(보드)End (Board) 케이블 색Cable Color
VDD(핀 31F)VDD (Pin 31F) 3V(핀 58H)3V (Pin 58H) 빨간색 케이블Red cable
데이터(핀 32F)DATA (Pin 32F) GPIO 2(핀 46A)GPIO 2 (Pin 46A) 파란색 케이블Blue cable
GND(핀 34F)GND (Pin 34F) GND(핀 56I)GND (PIn 56I) 검은색 케이블Black cable

자세한 내용은 Adafruit DHT22 센서 설치(영문) 및 Adafruit Feather HUZZAH Esp8266 핀 배열(영문)을 참조하세요.For more information, see Adafruit DHT22 sensor setup and Adafruit Feather HUZZAH Esp8266 Pinouts.

이제 Feather Huzzah ESP8266을 작동 센서와 연결해야 합니다.Now your Feather Huzzah ESP8266 should be connected with a working sensor.

DHT22를 Feather Huzzah에 연결

Feather HUZZAH ESP8266을 컴퓨터에 연결Connect Feather HUZZAH ESP8266 to your computer

다음과 같이 Micro USB - A형 USB 케이블을 사용하여 Feather HUZZAH ESP8266을 컴퓨터에 연결합니다.As shown next, use the Micro USB to Type A USB cable to connect Feather HUZZAH ESP8266 to your computer.

Feather Huzzah를 컴퓨터에 연결

직렬 포트 권한 추가 – Ubuntu만Add serial port permissions (Ubuntu only)

Ubuntu를 사용하는 경우 Feather HUZZAH ESP8266의 USB 포트에서 작동할 수 있는 권한이 있는지 확인합니다.If you use Ubuntu, make sure you have the permissions to operate on the USB port of Feather HUZZAH ESP8266. 직렬 포트 권한을 추가하려면 다음 단계를 수행합니다.To add serial port permissions, follow these steps:

  1. 터미널에서 다음 명령을 실행합니다.Run the following commands at a terminal:

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

    다음 출력 중 하나가 표시됩니다.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

    출력에서 uucp 또는 dialout이 USB 포트의 그룹 소유자 이름인지 확인합니다.In the output, notice that uucp or dialout is the group owner name of the USB port.

  2. 다음 명령을 실행하여 그룹에 사용자를 추가 합니다.Add the user to the group by running the following command:

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

    <group-owner-name>은 이전 단계에서 얻은 그룹 소유자 이름입니다.<group-owner-name> is the group owner name you obtained in the previous step. <username>은 Ubuntu 사용자 이름입니다.<username> is your Ubuntu user name.

  3. Ubuntu에서 로그아웃한 다음 다시 로그인하면 변경 내용이 표시됩니다.Sign out of Ubuntu, and then sign in again for the change to appear.

센서 데이터를 수집하여 IoT Hub에 보내기Collect sensor data and send it to your IoT hub

이 섹션에서는 Feather HUZZAH ESP8266에 대한 응용 프로그램 예제를 배포하고 실행합니다.In this section, you deploy and run a sample application on Feather HUZZAH ESP8266. 샘플 응용 프로그램은 Feather HUZZAH ESP8266의 LED를 깜박이고 DHT22 센서에서 수집된 온도 및 습도 데이터를 IoT Hub로 보냅니다.The sample application blinks the LED on Feather HUZZAH ESP8266, and sends the temperature and humidity data collected from the DHT22 sensor to your IoT hub.

GitHub에서 샘플 응용 프로그램 가져오기Get the sample application from GitHub

샘플 응용 프로그램은 GitHub에서 호스팅됩니다.The sample application is hosted on GitHub. GitHub에서 응용 프로그램 예제가 포함된 샘플 리포지토리를 복제합니다.Clone the sample repository that contains the sample application from GitHub. 샘플 리포지토리를 복제하려면 다음 단계를 수행합니다.To clone the sample repository, follow these steps:

  1. 명령 프롬프트 또는 터미널 창을 엽니다.Open a command prompt or a terminal window.

  2. 응용 프로그램 예제를 저장하려는 폴더로 이동합니다.Go to a folder where you want the sample application to be stored.

  3. 다음 명령 실행:Run the following command:

    git clone https://github.com/Azure-Samples/iot-hub-feather-huzzah-client-app.git
    

    다음으로 Visual Studio Code에 Feather HUZZAH ESP8266 패키지를 설치합니다.Next, install the package for Feather HUZZAH ESP8266 in Visual Studio Code.

  4. 응용 프로그램 예제가 저장된 폴더를 엽니다.Open the folder where the sample application is stored.

  5. Visual Studio Code의 앱 폴더에서 app.ino 파일을 엽니다.Open the app.ino file in the app folder in the Visual Studio Code.

    Visual Studio Code에서 샘플 응용 프로그램 열기

  6. Visual Studio Code에서 F1을 입력합니다.In the Visual Studio Code, enter F1.

  7. Arduino를 입력하고 Arduino: 보드 관리자를 선택합니다.Type Arduino and select Arduino: Board Manager.

  8. Arduino: 보드 관리자 탭에서 추가 URL을 클릭합니다.In the Arduino Board Manager tab, click Additional URLs.

    VS Code Arduino 보드 관리자

  9. 사용자 설정 창에서 다음 내용을 복사한 후 파일 끝에 붙여 넣습니다.In the User Settings window, copy and paste the following at the end of the file

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

    VS Code에서 Arduino 패키지 URL 구성

  10. 파일을 저장하고 사용자 설정 탭을 닫습니다.Save the file and close the User Settings tab.

  11. 패키지 인덱스 새로 고침을 클릭합니다.Click Refresh Package Indexes. 새로 고침이 완료된 후 esp8266을 검색합니다.After the refresh finishes, search for esp8266.

  12. esp8266에 대한 설치 단추를 클릭합니다.Click Install button for esp8266.

    [보드 관리자]에서 ESP8266 2.2.0 이상 버전으로 설치되었음을 나타냅니다.Boards Manager indicates that ESP8266 with a version of 2.2.0 or later is installed.

    esp8266 패키지가 설치됨

  13. F1Arduino를 차례로 입력하고 Arduino: 보드 구성을 선택합니다.Enter F1, then type Arduino and select Arduino: Board Config.

  14. 선택한 보드: 에 대한 상자를 클릭하고 esp8266을 선택한 후 Adafruit HUZZAH ESP8266(esp8266) 을 선택합니다.Click box for Selected Board: and type esp8266, then select Adafruit HUZZAH ESP8266 (esp8266).

    esp8266 보드 선택

필요한 라이브러리 설치Install necessary libraries

  1. Visual Studio Code에서 F1을 입력하고 Arduino를 입력한 후 Arduino: 라이브러리 관리자를 선택합니다.In the Visual Studio Code, enter F1, then type Arduino and select Arduino: Library Manager.

  2. 다음 라이브러리 이름을 하나씩 검색합니다.Search for the following library names one by one. 찾은 각 라이브러리에 대해 설치를 클릭합니다.For each library that you find, click Install.

    • AzureIoTHub
    • AzureIoTUtility
    • AzureIoTProtocol_MQTT
    • ArduinoJson
    • DHT sensor library
    • Adafruit Unified Sensor

실제 DHT22 센서가 없나요?Don’t have a real DHT22 sensor?

실제 DHT22 센서가 없는 경우 응용 프로그램 예제에서 온도 및 습도 데이터를 시뮬레이션할 수 있습니다.The sample application can simulate temperature and humidity data in case you don’t have a real DHT22 sensor. 시뮬레이션된 데이터를 사용하도록 샘플 응용 프로그램을 설정하려면 다음 단계를 수행합니다.To set up the sample application to use simulated data, follow these steps:

  1. app 폴더에서 config.h 파일을 엽니다.Open the config.h file in the app folder.

  2. 다음 코드 줄을 찾아 값을 false에서 true로 변경합니다.Locate the following line of code and change the value from false to true:

    define SIMULATED_DATA true
    

    시뮬레이션된 데이터를 사용하도록 샘플 응용 프로그램 구성

  3. 파일을 저장합니다.Save the file.

Feather HUZZAH ESP8266에 응용 프로그램 예제 배포Deploy the sample application to Feather HUZZAH ESP8266

  1. Visual Studio Code의 상태 표시줄에서 를 클릭한 후 Feather HUZZAH ESP8266에 대한 직렬 포트를 클릭합니다.In the Visual Studio Code, click on the status bar, and then click the serial port for Feather HUZZAH ESP8266.

  2. F1을 입력하고 Arduino를 입력한 후 Arduino: 업로드를 선택하여 샘플 응용 프로그램을 빌드하고 Feather HUZZAH ESP8266에 배포합니다.Enter F1, then type Arduino and select Arduino: Upload to build and deploy the sample application to Feather HUZZAH ESP8266.

자격 증명 입력Enter your credentials

업로드를 성공적으로 완료했으면 다음 단계에 따라 자격 증명을 입력합니다.After the upload completes successfully, follow these steps to enter your credentials:

  1. Arduino IDE를 열고 도구 > 직렬 모니터를 클릭합니다.Open Arduino IDE, click Tools > Serial Monitor.

  2. 직렬 모니터 창의 오른쪽 아래 모서리에 있는 두 개의 드롭다운 목록을 확인합니다.In the serial monitor window, notice the two drop-down lists in the lower-right corner.

  3. 왼쪽 드롭다운 목록에서 No line ending(줄 끝 없음)을 선택합니다.Select No line ending for the left drop-down list.

  4. 오른쪽 드롭다운 목록에서 115200 baud를 선택합니다.Select 115200 baud for the right drop-down list.

  5. 직렬 모니터 창 맨 위에 있는 입력 상자에 정보를 입력하라는 메시지가 표시되면 다음 정보를 입력한 후 보내기를 클릭합니다.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
    • Wi-Fi 암호Wi-Fi password
    • 장치 연결 문자열Device connection string

참고

자격 증명 정보는 Feather HUZZAH ESP8266의 EEPROM에 저장됩니다.The credential information is stored in the EEPROM of Feather HUZZAH ESP8266. Feather HUZZAH ESP8266 보드에서 리셋 단추를 클릭하면 샘플 응용 프로그램에서 정보를 지울 것인지 묻는 메시지가 표시됩니다.If you click the reset button on the Feather HUZZAH ESP8266 board, the sample application asks if you want to erase the information. 정보를 지우려면 Y를 입력합니다.Enter Y to have the information erased. 정보를 다시 제공하라는 메시지가 표시됩니다.You are asked to provide the information a second time.

응용 프로그램 예제가 성공적으로 실행 중인지 확인합니다.Verify the sample application is running successfully

직렬 모니터 창에 다음 출력이 표시되고 Feather HUZZAH ESP8266의 LED가 깜박이면 응용 프로그램 예제가 성공적으로 실행 중입니다.If you see the following output from the serial monitor window and the blinking LED on Feather HUZZAH ESP8266, the sample application is running successfully.

Arduino IDE의 최종 출력

다음 단계Next steps

IoT Hub에 Feather HUZZAH ESP8266를 성공적으로 연결하고 캡처한 센서 데이터를 IoT Hub로 보냈습니다.You have successfully connected a Feather HUZZAH ESP8266 to your IoT hub, and sent the captured sensor data to your IoT hub.

계속해서 Azure IoT Hub을 시작하고 다른 IoT 시나리오를 탐색하려면 다음을 참조하세요.To continue to get started with Azure IoT Hub and to explore other IoT scenarios, see the following: