Study

구성

기본적으로 Azure IoT Edge는 Windows/Linux 운영체제에서 moby 컨테이너를 사용하여 동작하도록 배포하고 있다.

Windows OS에서 Linux 컨테이너를 사용하거나, Linux OS에서 Windows 컨테이너를 사용하는 것은 가능하지만, 실제 제품화를 위해서는 Windows OS + Windows 컨테이너나, Linux OS + Linux 컨테이너만을 지원하는 것 같다.

Container overview

OS

2020년 9월까지만 하더라도 Azure Certified Device certification에서 계층 1 OS만을 지원했던 것으로 보인다.

최근에(2020년 10월 22일) 업데이트 된 문서를 보면 계층 2 OS도 인증을 받을 수 있도록 추가된 것 같다.
https://github.com/Azure/azure-iot-device-ecosystem/blob/master/Azure_Certified_Device/Edge_Managed/docs/Azure_Certified_Device-Edge-Managed_Requirements-v1.0.md

계층 1 OS에는 Raspbian Stretch가 포함되어 있고, Raspbian Buster 는 계층 2 OS에 포함되어 있다.

https://en.wikipedia.org/wiki/Raspberry_Pi_OS

Raspbian Strech는 Debian 버전 9에 해당하며 라즈베리파이 3+ 까지 지원하는 OS이다.
Raspbian Buster는 Debian 버전 10에 해당하고 라즈베리파이 4까지 지원한다. Buster 버전은 2019년 6월부터 Release 되었다.

이번 설치에서는 Raspbian Buster 버전으로 진행했다. MS의 가이드 상에는 Buster로 진행할 경우 OpenSSL 버전을 추가로 설치하라고 되어있는데, 진행해보니 설치하지 않아도 동작은 하는 것 같다.

OpenSSL 패키지 추가 설치

sudo apt-get install libssl1.0.2

IoT Edge runtime 설치

  1. IoT Edge 패키지 리스트 설치
curl https://packages.microsoft.com/config/debian/stretch/multiarch/prod.list > ./microsoft-prod.list
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
  • OS 종류에 따라 curl로 다운로드하는 리스트가 다름
  1. moby 컨테이너 설치

    sudo apt-get update
    sudo apt-get install moby-engine
    sudo apt-get install moby-cli
  2. IoT Edge runtime 설치

    sudo apt-get update
    sudo apt-get install iotedge

IoT Hub와 연결하기

  1. device_connection_string 입력하기
    IoT Hub에 IoT Edge Device를 생성한 후 Device의 Connection String을 라즈베리파이의 IoT Edge runtime의 configuration file에 입력한다.
    sudo nano /etc/iotedge/config.yaml
# Manual provisioning configuration provisioning:
    source: "manual"
    device_connection_string: "HostName=EdgeTestHub.azure-devices.net;DeviceId=rpi-edge;SharedAccessKey=123412341234"
# DPS TPM provisioning configuration
  1. IoT Edge runtime 실행하기
    sudo systemctl start iotedge

'Study' 카테고리의 다른 글

Azure IoT Edge에서 사용하는 리소스  (0) 2020.11.10