Azure IoT Hub에 Intel Edison 연결(Node.js)

이 자습서에서는 Intel Edison을 실행하는 작업의 기초부터 학습합니다. 그런 다음 Azure IoT Hub를 사용하여 장치를 클라우드에 원활하게 연결하는 방법을 알아봅니다.

아직 키트가 없으세요? 여기에서 시작하세요.

수행할 작업

  • Intel Edison 및 Grove 모듈을 설정합니다.
  • IoT Hub를 만듭니다.
  • IoT Hub에 Edison용 장치를 등록합니다.
  • Edison에서 샘플 응용 프로그램을 실행하여 IoT Hub로 센서 데이터를 보냅니다.

앞에서 만든 IoT Hub에 Intel Edison을 연결합니다. 그런 다음 Edison에서 샘플 응용 프로그램을 실행하여 Grove 온도 센서에서 온도 및 습도 데이터를 수집합니다. 마지막으로 센서 데이터를 IoT Hub로 보냅니다.

학습 내용

  • Azure IoT Hub를 만들고 새 장치 연결 문자열을 가져오는 방법
  • Edison을 Grove 온도 센서에 연결하는 방법
  • Edison에서 샘플 응용 프로그램을 실행하여 센서 데이터를 수집하는 방법
  • IoT Hub로 센서 데이터를 보내는 방법

필요한 항목

필요한 항목

  • Intel Edison 보드
  • Arduino 확장 보드
  • 활성 Azure 구독. Azure 계정이 없는 경우 몇 분 만에 Azure 평가판 계정을 만들 수 있습니다.
  • Windows 또는 Linux를 실행하는 Mac 또는 PC
  • 인터넷 연결
  • Micro B-A형 USB 케이블
  • DC(직류) 전원 공급 장치 전원 공급 장치 정격은 다음과 같아야 합니다.
    • 7-15V DC
    • 1500mA 이상
    • 중앙/내부 핀은 전원 공급 장치의 양극이어야 합니다.

다음 항목은 선택 사항입니다.

  • Grove Base Shield V2
  • Grove - 온도 센서
  • Grove 케이블
  • 포장에 포함된 스페이서 바 또는 나사(모듈을 확장 보드에 고정하기 위한 2개의 나사와 4개의 나사 세트 및 플라스틱 스페이서 포함)
참고

코드 샘플이 시뮬레이션된 센서 데이터를 지원하므로 이러한 항목은 선택 사항입니다.

IoT Hub 만들기

  1. Azure Portal에서 새로 만들기 > 사물 인터넷 > IoT Hub를 차례로 클릭합니다.

    Azure Portal에서 IoT Hub 만들기

  2. IoT Hub 창에서 IoT Hub에 다음 정보를 입력합니다.

    이름: IoT Hub의 이름을 입력합니다. 입력한 이름이 올바른 경우 녹색 확인 표시가 나타납니다.

    가격 및 크기 계층: F1 - 체험 계층을 선택합니다. 이 데모의 경우 이 옵션이면 충분합니다. 자세한 내용은 가격 및 크기 계층을 참조하세요.

    리소스 그룹: IoT Hub를 호스트할 리소스 그룹을 만들거나 기존 리소스 그룹을 사용합니다. 자세한 내용은 리소스 그룹을 사용하여 Azure 리소스 관리를 참조하세요.

    위치: IoT Hub가 생성된 곳에서 가장 가까운 위치를 선택합니다.

    대시보드에 고정: 대시보드에서 IoT Hub에 쉽게 액세스하려면 이 옵션을 선택합니다.

    IoT Hub를 만드는 데 필요한 정보를 입력합니다.

    중요

    IoT Hub가 DNS 끝점으로 공개적으로 검색할 수 있게 되므로 이름을 지정하는 동안 중요한 정보를 피해야 합니다.

  3. 만들기를 클릭합니다. IoT Hub를 만드는 데 몇 분 정도 걸릴 수 있습니다. 알림 창에서 진행률을 볼 수 있습니다.

    IoT Hub의 진행 알림을 참조하세요.

  4. IoT Hub를 만든 후 대시보드에서 클릭합니다. 호스트 이름을 기록해둔 다음 공유 액세스 정책을 클릭합니다.

    IoT Hub의 호스트 이름 가져오기

  5. 공유 액세스 정책 창에서 iothubowner 정책을 클릭한 다음 IoT Hub의 연결 문자열을 복사하여 기록해 둡니다. 자세한 내용은 IoT Hub에 대한 액세스 제어를 참조하세요.

참고

이 설치 자습서에는 이 iothubowner 연결 문자열이 필요 없습니다. 그러나 이 설치를 완료한 후 다른 IoT 시나리오의 일부 자습서에는 필요할 수 있습니다.

IoT Hub 연결 문자열 가져오기

장치의 IoT Hub에서 장치 등록

  1. Azure Portal에서 IoT Hub를 엽니다.

  2. 장치 탐색기를 클릭합니다.

  3. 장치 탐색기 창에서 추가를 클릭하여 IoT Hub에 장치를 추가합니다. 그런 다음 아래 작업을 수행합니다.

    장치 ID: 새 장치의 ID를 입력합니다. 장치 ID는 대/소문자를 구분합니다.

    인증 형식: 대칭 키를 선택합니다.

    자동 생성 키:이 확인란을 선택합니다.

    IoT Hub에 장치 연결: 사용을 클릭합니다.

    IoT Hub의 Device Explorer에 장치를 추가합니다.

    중요

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

  4. Save를 클릭합니다.

  5. 장치를 만든 후에 장치 탐색기 창에서 장치를 엽니다.
  6. 연결 문자열의 기본 키를 기록해 둡니다.

    장치 연결 문자열 가져오기

Intel Edison 설정

보드 조립

이 섹션에는 Intel® Edison 모듈을 확장 보드를 연결하는 단계가 포함됩니다.

  1. 확장 보드의 흰색 윤곽 안에 Intel® Edison 모듈을 놓고 모듈의 구멍과 확장 보드의 나사를 맞춥니다.

  2. 딸깍 소리가 느껴질 때까지 What will you make? 아래에서 모듈을 누릅니다.

    보드 2 조립

  3. 2개의 육각 너트(포장에 포함)를 사용하여 모듈을 확장 보드에 고정합니다.

    보드 3 조립

  4. 확장 보드의 구석에 있는 4개 구멍 중 하나에 나사를 끼웁니다. 흰색 플라스틱 스페너 중 하나를 돌려 나사를 조입니다.

    보드 4 조립

  5. 나머지 3개 구석의 스페이서에 대해 같은 작업을 반복합니다.

    보드 5 조립

이제 보드가 조립됩니다.

조립된 보드

Grove Base Shield 및 온도 센서 연결

  1. 보드에 Grove Base Shield를 놓습니다. 모든 핀이 보드에 꽂혀 있는지 확인합니다.

    Grove Base Shield

  2. Grove 케이블을 사용하여 Grove 온도 센서를 Grove Base Shield A0 포트에 연결합니다.

    온도 센서에 연결

    Edison 및 센서 연결

이제 센서가 준비되었습니다.

Edison 전원 켜기

  1. 전원 공급 장치를 꽂습니다.

    전원 공급 장치 꽂기

  2. 녹색 LED(Arduino* 확장 보드에 DS1으로 레이블 지정)가 켜진 후 계속 켜져 있습니다.

  3. 보드가 부팅을 마칠 때까지 1분 정도 대기합니다.

    참고

    DC 전원 공급 장치가 없으면 USB 포트를 통해 여전히 보드의 전원을 켤 수 있습니다. 자세한 내용은 Connect Edison to your computer 섹션을 참조하세요. 이러한 방식으로 보드를 켜면 보드에서 예기치 않은 동작이 나타날 수 있습니다. 이러한 현상은 Wi-Fi 또는 구동 모터를 사용할 때 더욱 두드러집니다.

Edison을 컴퓨터에 연결

  1. Edison이 장치 모드가 되도록 2개의 마이크로 USB 포트 쪽으로 마이크로 스위치를 내립니다. 장치 모드와 호스트 모드 간 차이점에 대해서는 여기를 참조하세요.

    마이크로 스위치 내리기

  2. 마이크로 USB 포트를 위쪽 마이크로 USB 케이블에 꽂습니다.

    위쪽 마이크로 USB 포트

  3. USB 케이블의 다른 쪽을 컴퓨터에 연결합니다.

    컴퓨터 USB

  4. 컴퓨터에 새 장치를 탑재(컴퓨터에 SD 카드를 꽂는 것과 매우 유사함)할 때 보드가 완전히 초기화된다는 것을 알 수 있습니다.

구성 도구 다운로드 및 실행

Installers 제목 아래 나열된 이 링크에서 최신 구성 도구를 가져옵니다. 도구를 실행하고 화면 지시를 따른 다음 필요할 때 다음을 클릭합니다.

펌웨어 플래시

  1. Set up options 페이지에서 Flash Firmware를 클릭합니다.
  2. 다음 중 하나를 수행하여 보드에서 플래시할 이미지를 선택합니다.
    • Intel에서 사용 가능한 최신 펌웨어 이미지를 다운로드한 후 이 이미지로 보드를 플래시하려면 Download the latest image version xxxx를 선택합니다.
    • 컴퓨터에 이미 저장한 이미지로 보드를 플래시하려면 Select the local image를 선택합니다. 보드에 플래시할 이미지를 찾아 선택합니다.
  3. 설치 도구는 보드를 플래시하려고 합니다. 전체 플래시 프로세스는 10분 정도 걸릴 수 있습니다.

암호 설정

  1. Set up options 페이지에서 Enable Security를 클릭합니다.
  2. Intel® Edison 보드에 대한 사용자 지정 이름을 설정할 수 있습니다. 선택 사항입니다.
  3. 보드에 대한 암호를 입력한 후 Set password를 클릭합니다.
  4. 나중에 사용되는 암호에 표시합니다.

Wi-Fi 연결

  1. Set up options 페이지에서 Connect Wi-Fi를 클릭합니다. 컴퓨터가 사용할 수 있는 Wi-Fi 네트워크를 검색하므로 최대 1분 정도 대기합니다.
  2. Detected Networks 드롭다운 목록에서 네트워크를 선택합니다.
  3. Security 드롭다운 목록에서 네트워크의 보안 유형을 선택합니다.
  4. 로그인 및 암호 정보를 입력한 다음 Configure Wi-Fi를 클릭합니다.
  5. 나중에 사용되는 IP 주소에 표시합니다.
참고

Edison이 컴퓨터와 같은 네트워크에 연결되어 있는지 확인합니다. 해당 IP 주소를 사용하여 컴퓨터가 Edison에 연결됩니다.

온도 센서에 연결

축하합니다. Edison 구성을 마쳤습니다.

Intel Edison에 샘플 응용 프로그램 실행

Azure IoT 장치 SDK 준비

  1. 호스트 컴퓨터에서 다음 SSH 클라이언트 중 하나를 사용하여 Intel Edison에 연결합니다. IP 주소는 구성 도구에서 가져오며, 암호는 해당 도구에서 설정한 것입니다.

    • Windows용 PuTTY
    • Ubuntu 또는 macOS에 있는 기본 제공 SSH 클라이언트
  2. 장치에 샘플 클라이언트 앱을 복제합니다.

    git clone https://github.com/Azure-Samples/iot-hub-node-intel-edison-client-app
    
  3. 그런 다음 repo 폴더로 이동하고 다음 명령을 실행하여 모든 패키지를 설치합니다. 완료하는 데 몇 분 정도 걸릴 수 있습니다.

    cd iot-hub-node-intel-edison-client-app
    npm install
    

샘플 응용 프로그램 구성 및 실행

  1. 다음 명령을 실행하여 config 파일을 엽니다.

    nano config.json
    

    Config 파일

    이 파일에는 사용자가 구성할 수 있는 두 개의 매크로가 있습니다. 첫 번째는 클라우드로 전송되는 두 메시지 사이의 간격을 정의하는 INTERVAL입니다. 두 번째는 시뮬레이션된 센서 데이터의 사용 여부에 대한 부울 값인 simulatedData입니다.

    센서가 없는 경우 simulatedData 값을 true로 설정하여 샘플 응용 프로그램에서 시뮬레이션된 센서 데이터를 만들어서 사용하게 합니다.

  2. Control-O > Enter > Control-X를 눌러 저장하고 종료합니다.

  3. 다음 명령을 실행하여 샘플 응용 프로그램을 실행합니다.

    sudo node index.js '<your Azure IoT hub device connection string>'
    
    참고

    장치 연결 문자열을 복사하여 작은따옴표 안에 붙여 넣습니다.

IoT Hub로 전송되는 센서 데이터와 메시지를 보여 주는 다음 출력이 표시됩니다.

출력 - Intel Edison에서 IoT Hub로 전송된 센서 데이터

다음 단계

샘플 응용 프로그램을 실행하여 센서 데이터를 수집하고 IoT Hub로 전송했습니다.

계속해서 Azure IoT Hub을 시작하고 다른 IoT 시나리오를 탐색하려면 다음을 참조하세요.