Skip to content

Instantly share code, notes, and snippets.

@CenoX
Created August 28, 2021 09:59
Show Gist options
  • Save CenoX/ed7255806b14dd64d5687d0a409e0d5c to your computer and use it in GitHub Desktop.
Save CenoX/ed7255806b14dd64d5687d0a409e0d5c to your computer and use it in GitHub Desktop.
IoT Hub에 기기 등록하기

IoT Hub에 기기 등록하기

참고 사이트

시작 사항

  • 리소스 만들기를 통해 새 IoT Hub 서비스 생성
  • IoT 허브에 접근하여, IoT Edge를 눌러 접근
  • IoT Edge 디바이스 추가를 눌러 '대칭키'를 선택하고, 자동 키 생성을 통해 키 생성

Linux용 IoT Edge 설치

참고 사이트

  • 서버에 접근할 수 있도록 apt 저장소 링크 추가
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list

만약 curl이 없을 경우, sudo apt install curl을 통해 설치하면 됨

다운로드된 microsoft-prod.list 파일을 /etc/apt/sources.list.d에 복사

sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/

그리고, APT가 GPG인증을 할 수 있도록 키 추가

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg

sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/

[권장] IoT Edge 설치하기 전에 Moby 호환성 확인하기

아래 명령어를 차례로 실행

curl -sSL https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
chmod +x check-config.sh
./check-config.sh

Optional Features와 Storage Drivers에 missing이 있어도 괜찮음


Moby 컨테이너 엔진 및 IoT 허브 설치

Moby 호환성이 확인된 경우에 한에 한번에 설치하는 방법 기록

sudo apt-get install moby-engine iotedge

대칭키로 IoT 디바이스 인증

다음 파일을 원하는 편집기로 열기, 이 예시에서는 nano를 사용함

sudo nano /etc/iotedge/config.yaml

열린 파일에서, 다음과 같은 형식의 문자열 찾기

# Manual provisioning configuration using a connection string
provisioning:
  source: "manual"
  device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"

IoT 디바이스를 추가할 때 자동생성으로 만들어진 "기본 연결 문자열"을 device_connection_string에 붙여넣고, Ctrl + X, Y, Enter 순으로 눌러 파일을 저장

만약 저장이 되지 않는다면, 파일을 열 때 sudo 권한으로 열었는지 확인

IoT Edge 서비스 재시작

sudo systemctl restart iotedge

구성 확인

IoT 서비스 재시작 후, 아래의 명령어로 서비스가 잘 작동 중인지 확인

sudo systemctl status iotedge

systemctl 의 log는 Ctrl + C를 눌러 나갈 수 있음.

또는, iotedge 바이너를 이용하여 상태를 확인:

sudo iotedge check

개인적인 생각으로, production과 관련된 warning은 무시해도된다고 생각 함

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment