Code Monkey home page Code Monkey logo

iothubhol's Introduction

IoTHubHOL

Azure IoT Hub을 활용한 아키텍처 구성을 위한 hands-on lap을 실습합니다. Azure IoT 아키텍처 참조

Azure Portal상에 IoT Hub를 생성하여 디바이스 생성 및 연동 합니다. VSCode를 활용하여 디바이스 샘플 소스코드를 통해 텔레메트리 데이터를 생성하여 IoT Hub에 등록된 디바이스와 연동 합니다.

이번 과정에서는 아래의 내용을 실습 합니다.

  1. IoT Hub 생성
  2. IoT Hub에 디바이스 등록
  3. Visual Studio Code를 통해 샘플 디바이스 코드로 텔레메트리 데이터 IoT Hub로 전송
  4. Azure IoT Explorer를 통해 IoT Hub로 전송되는 텔레메트리 데이터 실시간 모니터링

사전 준비사항

참조 기술문서

Lab 1 - IoT Hub 리소스 생성 및 디바이스

Lab 1-1 리소스 그룹 생성

실습에 필요한 리소스들을 그룹핑하여 관리할 수 있는 리소스 그룹을 생성합니다.

Azure 포털에서 리소스 만들기를 선택합니다.

image

검색창에 Resource Group을 입력하여 선택합니다.

image

Lab 1-2 IoT Hub 생성

Home(홈)을 선택하여 기본화면에서 리소스 만들기를 선택합니다.

image

사물 인터넷(IoT) 카테고리 및 IoT Hub 만들기를 선택합니다.

image

이전 실습에서 생성한 리소스 그룹을 선택하고 IoT Hub 이름과 지역을 입력합니다.

IoT Hub 이름은 다른 사용자들과 중복되지 않는 값을 입력하여야 합니다.

“검토+만들기”를 선택한 후 유효성 검사를 통과하면 “만들기”를 선택하여 IoT Hub 리소스를 생성합니다.

image

배포가 완료되면 홈을 선택하여 생성된 IoT Hub로 이동합니다.

IoT Hub 리소스가 생성되더라도 정상화에 약간의 지연이 있을 수 있습니다.

image

Lab 1-3 IoT Hub에 디바이스 등록

IoT Hub 화면에서 Devices 항목을 선택한 후 “+ 디바이스 추가”를 선택하여 디바이스 등록을 진행합니다.

image

디바이스 만들기 화면에서 등록될 디바이스를 식별할 디바이스 ID를 선택합니다.

본 실습의 과정에서 인증 형식은 대칭 키를 선택하여 저장합니다.

image

생성된 장치 ID를 확인 후 선택합니다.

image

등록된 디바이스 정보에서 “기본 연결 문자열”을 복사하여 메모장 등에 저장합니다.

“기본 연결 문자열”(Connection String)은 실제 디바이스 프로그래밍 코드에서 IoT Hub 연결 정보로 사용 됩니다.

image

Lab 1-4 Visual Studio Code를 활용하여 디바이스 샘플 프로그램 구동

본 실습에서는 Node.js를 이용하여 디바이스 샘플 프로그램을 구동 합니다.

C/C#/NodeJS/Python/Java 언어 샘플 실습은 기술 문서 참조하시기 바랍니다.

Git에 등록된 샘플 프로그램을 로컬PC에 다운로드 및 실행하여 IoT Hub에 텔레메리트 데이터를 전송합니다.

로컬 PC에서 프로그램 코드를 저장할 디렉토리를 생성합니다.

image

CMD 창에서 생성된 디렉토리로 이동합니다.

명령어를 통해서 Git에 저장된 샘플 코드를 로컬 디렉토리로 다운로드 합니다.

git clone https://github.com/Azure/azure-iot-sdk-node

image

다운로드하여 생성된 azure-iot-sdk-node 디렉토리로 이동합니다.

Windows

cd azure-iot-sdk-node

Linux

cd azure-iot-sdk-node

Visual Studio Code를 실행합니다.

image

image

본 실습에서는 azure-iot-sdk-node/device/samples/javascript 디렉토리 하위의 샘플 소스코드를 이용하여 실습합니다.

image

Terminal 메뉴에서 New Terminal을 선택하여 터미널 창을 실행합니다.

image

하단의 Terminal 창에서 실습을 진행할 샘플 코드가 위치한 “azure-iot-sdk-node/device/samples/javascript” 디렉토리로 이동합니다.

image

Node.js 를 설치합니다.

npm install

image

아래 명령어를 참조하여 샘플 프로그램을 실행합니다.

샘플 프로그램에서는 텔레메트리 데이터를 임의로 생성하여 IoT Hub로 전송합니다.

Window CMD

set IOTHUB_DEVICE_CONNECTION_STRING="메모장에 저장된 IoT Hub 연결 문자열 정보 입력"
set IOTHUB_DEVICE_SECURITY_TYPE=connectionString

Power Shell

$env:IOTHUB_DEVICE_CONNECTION_STRING='메모장에 저장된 IoT Hub 연결 문자열 정보 입력'
$env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'

Bash

export IOTHUB_DEVICE_CONNECTION_STRING="메모장에 저장된 IoT Hub 연결 문자열 정보 입력"
export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"

예시) image

Lab 1-5 Azure IoT Explorer를 IoT Hub 텔레메트리 실시간 모니터링

Azure IoT Explorer를 통해 디바이스에서 IoT Hub로 전송되는 실시간 텔레메트리 데이터를 모니터링 합니다.

Azure 포털에서 IoT Hub의 “공유 엑세스 정책” 메뉴를 선택하고 iothubowner 항목을 선택합니다.

image

IoT Hub의 기본 연결 문자열을 복사하여 메모장 등에 저장합니다.

image

Azure IoT Explorer 를 실행하여 “+ Add connection”을 선택합니다.

image

저장해 두었던 IoT Hub 기본 연결 문자열을 입력창에 복사하여 붙여넣기 합니다.

자동으로 나머지 정보들이 입력되면 저장 버튼을 선택하여 정보를 저장합니다.

image

등록된 디바이스 정보가 출력되는 화면에서 등록된 device id를 선택합니다.

image

Telemetry 메뉴를 선택한 후 Start 버튼을 선택합니다.

image

실시간으로 디바이스에서 전송하는 텔레메트리 데이터를 모니터링할 수 있습니다.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.