에지 컴퓨팅 기능을 갖춘 안전한 클라우드 연결 IoT 장치 네트워크를 신속하게 배포
DigiKey 북미 편집자 제공
2020-05-06
에지 컴퓨팅 리소스를 사용하는 사물 인터넷(IoT) 네트워크의 배포는 수요는 많지만 종단점 장치, 에지 컴퓨팅 시스템 및 보안 클라우드 연결과 관련한 여러 요구 사항 때문에 까다로운 작업일 수 있습니다. 필요한 솔루션의 이산 소자는 쉽게 구할 수 있는 반면, 이러한 요소를 원활하고 효율적인 IoT 응용 제품에 통합하려면 종단점 및 에지 하드웨어 플랫폼뿐 아니라 IoT 클라우드 공급업체에서 요구하는 서비스 인터페이스, 통신 방법 및 보안 프로토콜도 구현하는 복잡한 작업에 몰두해야 합니다.
최근 고집적 IoT 솔루션이 안정적으로 공급되면서 개발자가 출시 시간을 단축하는 데 도움이 되고 있습니다. 예를 들어 Microchip Technology의 클라우드 지원 종단점 및 에지 컴퓨팅 제품 세트는 AWS(Amazon Web Services) IoT 서비스와 AWS IoT Greengrass 에지 컴퓨팅 서비스에 쉽게 연결하도록 설계된 기성 솔루션을 제공합니다.
이 기사에서는 인텔리전스를 에지에 배포해야 하는 이유를 간략히 논의합니다. 그런 다음 클라우드 지원 센서 종단점 시스템으로 작동하는 Microchip의 AWS 인증 기판을 소개합니다. 이러한 종단점을 AWS 자격 증명과 서비스 소프트웨어가 사전 로드된 무선 시스템 온 모듈(SOM) 기반의 에지 컴퓨팅 플랫폼과 결합하여 AWS 클라우드에 거의 투명하게 연결하는 방법을 설명합니다.
종단점 및 에지 시스템 결합
저비용, 저전력 시스템을 바로 활용할 수 있어 가장 먼 거리의 IoT 응용 분야 주변 장치를 구성하는 센서 및 액추에이터 장치, 즉 종단점 시스템의 구현이 간소화되었습니다. IoT 응용 분야에서는 대체로 이러한 종단점 시스템을 클라우드와 직접 연결하지만, 더 복잡한 응용 분야에서는 기능적으로 종단점과 IoT 클라우드 사이에 배치하는 에지 시스템을 배포해야 하는 경우가 많습니다.
에지 시스템은 IoT 종단점 세트에 근접한 위치에서 로컬 처리 기능을 제공하여 엄격한 피드백 루프에서 대기 시간을 줄이거나 산업 공정 제어의 타이밍 요구 사항을 충족할 수 있습니다. 에지 시스템은 머신 러닝 추론 또는 데이터를 정리하고 클라우드로 유도되는 데이터의 양과 속도를 줄이는 데 사용되는 정교한 전처리 루틴과 같은 더욱더 복잡한 알고리즘을 처리하는 데 필요한 로컬 리소스를 제공합니다. 이 로컬 처리 기능은 공용 인터넷을 통해 전송하기 전 데이터 최소화와 같은 고급 보안 정책 및 개인정보 요구 사항을 지원하는 데 중요합니다.
AWS IoT Greengrass와 함께 IoT 응용 분야 개선
AWS(Amazon Web Services)는 AWS IoT Greengrass 서비스를 사용하여 에지 처리 기능을 공식화합니다. 이 서비스는 에지 장치에서 Greengrass Core로 실행되는 클라우드 서비스의 일부입니다. 확장 가능한 AWS 클라우드 리소스에서 실행되는 클라우드 서비스와 긴밀하게 연동되도록 설계된 Greengrass는 AWS SageMaker 완전 관리형 머신 러닝 플랫폼과 같은 도구로 구축된 머신 러닝 추론 모델을 배포하고 업데이트하기 위한 비교적 단순한 경로를 제공합니다(그림 1).
그림 1: AWS IoT Greengrass는 AWS SageMaker 머신 러닝 환경에서 학습된 머신 러닝 모델을 비롯한 고급 기능의 로컬 처리와 에지 배포를 간소화합니다. (이미지 출처: Amazon Web Services)
로컬 처리는 AWS Greengrass와 같은 에지 서비스의 이점 중 하나일 뿐입니다. 종단점 시스템과 클라우드 리소스 간에 일종의 인터페이스 버퍼를 제공한다는 점에서 에지 시스템은 대기 시간 단축, 개인정보 보호 및 보안 향상, 가용성 향상을 위한 IoT 응용 분야 요구 사항을 충족하는 데 핵심적인 역할을 하기도 합니다. AWS Greengrass는 이러한 기능을 제공하기 위한 기반이 됩니다.
AWS Greengrass 모델에서 클라우드 서비스를 사용한 일회성 검색 단계 이후 정의된 Greengrass 그룹 내의 종단점 장치는 Greengrass Core 장치에서 관리하는 MQTT(MQ Telemetry Transport) 메시징을 사용하여 상호 작용합니다(그림 2).
그림 2: AWS IoT Greengrass 그룹 내에서 종단점 장치가 Greengrass Core 장치에서 관리하는 MQTT 메시징을 사용하여 장치 간에 그리고 클라우드와 통신할 수 있습니다. (이미지 출처: Amazon Web Services)
장치가 Greengrass 그룹에 배포되고 나면 클라우드와 직접 통신하는 IoT 장치를 사용하여 IoT 배포 시 발견되는 긴 왕복 지연 시간을 방지하기 위해 협력할 수 있습니다. 대신 Greengrass Core 장치의 로컬 처리 기능으로 조정되는 MQTT 채널을 통해 직접 장치가 서로 신호를 보낼 수 있습니다.
클라우드와의 연결이 끊기는 경우 장치는 Greengrass Core 장치의 관리를 받고 계속 작동할 수 있습니다. 반면에 장치가 오프라인으로 전환되는 경우 다른 장치와 클라우드 기반 애플리케이션은 각 물리적 장치와 연결된 가상 장치 섀도에서 유지되는 데이터를 사용하여 계속 작동할 수 있습니다(그림 3).
그림 3: AWS IoT Greengrass와 같은 에지 컴퓨팅 서비스는 최신 장치 상태 데이터를 유지 관리할 수 있는 섀도 장치를 제공하여 가용성을 유지할 수 있으므로, IoT 애플리케이션이 연결된 물리적 장치가 오프라인으로 전환하더라도 계속 작동합니다. (이미지 출처: Amazon Web Services)
개념은 단순하지만 IoT 장치 세트 간에 해당 조정을 구현하는 일은 까다로울 수 있습니다. 일반 IoT 개발자가 이 에지 컴퓨팅 기능을 최대한 활용하려면 하드웨어, 소프트웨어 및 시스템 관리가 조합된 까다로운 과제를 해결해야 합니다. 하드웨어 레벨에서는 적합한 종단점 및 에지 컴퓨팅 장치의 네트워크를 구축하고 배포해야 합니다. IoT 종단점 및 에지 장치의 로컬 네트워크 내부뿐 아니라 클라우드 서비스와의 보안 통신을 구현하기 위한 소프트웨어를 작성해야 합니다. 마지막으로 이러한 장치를 적절하게 구성하고, 적합한 개인 키와 인증서로 프로비저닝하고, 다른 장치 및 IoT 클라우드 서비스에 인증해야 합니다.
프로세스를 간소화하려면 Microchip 기판 세트에서는 종단점 및 에지 장치 모두가 로컬에서는 AWS Greengrass Core에, 클라우드에서는 AWS IoT Core에 간단하고 안전하게 연결될 수 있도록 AWS 인증 드롭인 솔루션을 제공합니다.
클라우드 지원 종단점 시스템
종단점 시스템으로 빠른 배포를 위해 설계된 Microchip의 PIC-IoT WA 및 AVR-IoT WA 기판은 AWS IoT Core와 즉시 사용할 수 있는 연결을 제공하도록 설계되었습니다. 이 두 기판은 전반적으로 동일한 기능을 제공하며, Microchip PIC 마이크로 컨트롤러 제품군 사용에 익숙한 개발자와 Microchip AVR ATmega 마이크로 컨트롤러 제품군 사용에 익숙한 개발자에게 친숙한 플랫폼을 제공합니다. Microchip ATMEGA4808 8비트 마이크로 컨트롤러를 기반으로 하는 AVR-IoT WA 기판은 Microchip PIC24FJ128GA705 16비트 마이크로 컨트롤러를 기반으로 하는 PIC-IoT WA(그림 4)와 동일한 부품 세트를 사용합니다.
그림 4: Microchip AVR-IoT WA 및 PIC-IoT WA 기판은 여기 PIC-IoT WA 기판용 16비트 PIC 마이크로 컨트롤러를 비롯한 다른 Microchip 마이크로 컨트롤러를 기반으로 제작된 보완 지원 장치를 동일하게 포함하는 클라우드 지원 종단점 시스템을 제공합니다. (이미지 출처: Microchip Technology)
연결을 위해 각 기판은 저전력 IoT 장치용으로 특별히 설계된 Microchip ATWINC1510-MR210PB 인증 Wi-Fi 모듈을 포함합니다. 이 모듈은 8Mb(메가비트) 플래시와 전력 증폭기(PA), 저잡음 증폭기(LNA), RF 스위치, 전력 관리 및 인쇄형 안테나를 포함하는 전체 전송 및 수신기 무선 주파수(RF) 신호 체인을 통합합니다. 빠른 펌웨어 부팅 기능을 위해 통합된 부트 ROM(읽기 전용 메모리)과 함께 내장된 네트워크 스택은 하드웨어 가속기를 사용하여 TLS(전송 계층 보안) 및 Wi-Fi 보안 프로토콜의 속도를 높이는 표준 인터넷 프로토콜을 지원합니다.
각 기판에는 Microchip MCP9808 정밀 디지털 온도 센서 및 Vishay TEMT6000X01 광 다이오드 센서 외에도 mikroBUS 커넥터가 포함되어 있습니다. 이 커넥터를 사용하면 개발자가 다양한 가용 Mikroe Click 기판 중에서 애드온 기판을 선택하여 하드웨어 기반을 간단히 확장할 수 있습니다. 전력 및 배터리 관리를 위해 각 기판에는 시스템 전력뿐 아니라 USB 전원 또는 벽면 어댑터를 통해 충전되는 리튬 이온 배터리도 제공하는 Microchip MCP73871T-2CCI/ML 장치가 포함되어 있습니다.
보안을 위해 각 기판에는 Microchip ATECC608A 보안 소자가 포함되어 있습니다. 이러한 기판의 경우 이 장치는 키와 인증서가 사전에 프로비저닝되어 AWS IoT 인증 및 보안 메커니즘을 즉시 사용할 수 있도록 지원합니다.
온보드 하드웨어 부품 및 사전 로드된 펌웨어의 모음을 사용하는 이들 기판은 최소한의 노력으로 AWS IoT Core에 연결할 수 있도록 설계되었습니다. 개발자는 마이크로 USB 케이블로 PC에 연결하기만 하면 기판에 전력을 제공할 수 있습니다. 기판에서 자체 자격 증명이나 개발자의 자격 증명을 사용하여 Wi-Fi 액세스 포인트에 연결하면 Wi-Fi 모듈의 내장 TCP/IP 스택과 사전 프로비저닝된 보안 자격 증명을 사용하여 AWS IoT Core와의 MQTT 연결을 자동으로 설정합니다. MQTT 연결을 설정한 후 즉시 기판의 온도 센서와 광센서에서 데이터를 전송하기 시작합니다. 개발자는 Microchip 샌드박스 계정의 장치별 페이지에서 결과를 확인할 수 있습니다.
Microchip은 이 기본 애플리케이션을 PIC-IoT WA 코드 및 AVR-IoT WA 코드를 위한 별도의 저장소에서 제공합니다. 개발자는 이 코드를 검토하여 센서 데이터를 보내고 명령 또는 데이터를 수신하기 위해 클라우드와 통신할 때 MQTT 연결 사용과 같은 기본 설계 패턴을 신속하게 파악할 수 있습니다(목록 1).
복사
// This will get called every 1 second only while we have a valid Cloud connection
static void sendToCloud(void)
{
static char json[PAYLOAD_SIZE];
static char publishMqttTopic[PUBLISH_TOPIC_SIZE];
ledTickState_t ledState;
int rawTemperature = 0;
int light = 0;
int len = 0;
memset((void*)publishMqttTopic, 0, sizeof(publishMqttTopic));
sprintf(publishMqttTopic, "%s/sensors", cid);
// This part runs every CFG_SEND_INTERVAL seconds
if (shared_networking_params.haveAPConnection)
{
rawTemperature = SENSORS_getTempValue();
light = SENSORS_getLightValue();
len = sprintf(json,"{\"Light\":%d,\"Temp\":%d.%02d}", light,rawTemperature/100,abs(rawTemperature)%100);
}
if (len >0)
{
CLOUD_publishData((uint8_t*)publishMqttTopic ,(uint8_t*)json, len);
if (holdCount)
{
holdCount--;
}
else
{
ledState.Full2Sec = LED_BLIP;
LED_modeYellow(ledState);
}
}
}
//This handles messages published from the MQTT server when subscribed
static void receivedFromCloud(uint8_t *topic, uint8_t *payload)
{
char *toggleToken = "\"toggle\":";
char *subString;
ledTickState_t ledState;
sprintf(mqttSubscribeTopic, "$aws/things/%s/shadow/update/delta", cid);
if (strncmp((void*) mqttSubscribeTopic, (void*) topic, strlen(mqttSubscribeTopic)) == 0)
{
if ((subString = strstr((char*)payload, toggleToken)))
{
if (subString[strlen(toggleToken)] == '1')
{
setToggleState(TOGGLE_ON);
ledState.Full2Sec = LED_ON_STATIC;
LED_modeYellow(ledState);
}
else
{
setToggleState(TOGGLE_OFF);
ledState.Full2Sec = LED_OFF_STATIC;
LED_modeYellow(ledState);
}
holdCount = 2;
}
}
debug_printer(SEVERITY_NONE, LEVEL_NORMAL, "topic: %s", topic);
debug_printer(SEVERITY_NONE, LEVEL_NORMAL, "payload: %s", payload);
updateDeviceShadow();
}
목록 1: 개발자는 Microchip의 소프트웨어 저장소에 있는 코드 샘플을 검토하여 이러한 두 기능에 나온 클라우드 서비스와의 MQTT 메시지 교환 등과 같은 주요 설계 패턴을 더 잘 이해할 수 있습니다. (코드 출처: Microchip Technology)
개발자는 다양한 개발 리소스를 활용하여 이 코드를 확장할 수 있습니다. Microchip에서는 자체 MPLAB X 통합 개발 환경(IDE), 클라우드 기반 MPLAB Xpress IDE 및 무료 MPLAB XC 컴파일러를 사용한 맞춤형 소프트웨어 개발을 지원합니다. 디버깅을 위해 각 기판에는 추가 디버깅 하드웨어 인터페이스가 필요 없는 Microchip PKOB(PICkit On-Board) 나노 디버거가 포함되어 있습니다. 개발자는 MPLAB X IDE에서 작업하는 동안 PC에 대한 USB 연결을 통해 PKOB 디버거에 액세스합니다.
AWS Greengrass 지원 솔루션
Microchip에서는 AWS Greengrass 기반 에지 컴퓨팅 리소스를 사용하여 클라우드 연결 종단점을 배포하는 것만큼 간단하게 IoT 네트워크를 강화할 수 있도록 지원합니다.
에지 컴퓨팅 플랫폼을 위해 Microchip에서는 AWS 인증 AWS Greengrass 지원과 함께 ATSAMA5D27-WLSOM1 무선(WL) 시스템 온 모듈(SoM)을 제공합니다. Microchip 종단점 기판과 마찬가지로 ATSAMA5D27-WLSOM1은 AWS IoT Core 서비스에 쉽게 연결하도록 설계된 포괄적인 하드웨어 플랫폼을 제공합니다(그림 5).
그림 5: Microchip ATSAMA5D27-WLSOM1은 AWS IoT Greengrass 인증 에지 컴퓨팅 시스템을 제공하는 데 필요한 전체 장치를 통합합니다. (이미지 출처: Microchip Technology)
WLSOM1은 호스트 프로세서로 저전력 SAMA5D27 시스템 인 패키지(SiP) ATSAMA5D27C-LD2G-CU를 사용합니다. 이 프로세서에는 2Gb(기가비트) LPDDR2-SDRAM(저전력 2배속 동기 동적 랜덤 액세스 메모리)를 포함하는 Microchip의 고성능 Arm Cortex-A5 프로세서 기반 SAMA5D27이 통합되어 있습니다.
Microchip의 종단점 기판처럼 Microchip WLSOM1도 인증 무선 모듈을 포함합니다. 이 경우 Microchip은 통합된 하드웨어 가속기, 통합된 프로세서 및 스택 펌웨어의 조합을 사용한 공존을 통해 Wi-Fi와 Bluetooth 연결을 모두 지원하는 ATWILC3000을 사용합니다. 또한 WLSOM1은 Microchip KSZ8081RNAIA 이더넷 트랜시버로 관리되는 유선 연결도 제공합니다. Microchip은 자체 64Mb SST26VF064BEUI 플래시도 포함하는데, 여기에는 IEEE 할당 6바이트 확장 고유 식별자(EUI-48) 및 8바이트 EUI-64가 사전에 프로비저닝되어 있습니다. 따라서 공용 인터넷에 안정적으로 연결하기 위해 전역적으로 고유한 MAC 주소를 사용할 수 있습니다. ("개발 과정에 매우 유용한 MAC 주소 내장 플래시 메모리"를 참조하십시오.)
마지막으로 WLSOM1에는 하드웨어 기반 보안을 위한 ATECC608A 보안 소자가 포함되어 있습니다. WLSOM1은 높은 수준으로 통합되어 있어서 감결합 커패시터 및 풀업 저항기 외에는 비교적 적은 수의 부품으로 기판 설계에서 하드웨어 인터페이스를 구현할 수 있습니다.
AWS IoT Greengrass에서 WLSOM1 기반 기판 가동은 특별한 수고가 필요하지 않습니다. 실제 작업은 주로 사용을 위해 AWS 서비스를 설정하는 일입니다. Microchip에서는 개발자에게 AWS 계정을 만드는 방법과 Greengrass Core 및 종단점 장치의 Greengrass 그룹을 정의하는 방법을 포함하여 이 작업을 위한 단계별 가이드를 제공합니다. 개발자는 Linux 개발 시스템에서 대상 시스템을 구축한 후 일반적으로 보안 디지털 카드(SDCard) 플래시 드라이브를 사용하여 대상 이미지, Greengrass Core 소프트웨어 및 인증서를 WLSOM1에 업로드합니다.
ATECC608A 보안 소자에서 제공하는 하드웨어 기반 보안 덕분에 인증 및 보안 통신이 개발자에 투명하게 이루어집니다. 하지만 Greengrass 에지 시스템에서 ATECC608A는 에지 시스템에서 실행 중인 Greengrass Core와 AWS 클라우드 간 보안 통신의 기반이 되는 개인 키를 보호하는 더 복잡한 역할을 수행합니다.
Greengrass 그룹의 장치는 디지털 인증서를 사용하여 서로 인증하고 그룹 내에서 및 클라우드 기반 AWS 서비스와 주고받는 메시지를 인증합니다(그림 6). 개인 키 노출이나 허위 인증서로 인해 기본 보안 메커니즘 및 프로토콜이 손상되는 경우 그룹뿐 아니라 클라우드 기반 리소스도 손상될 수 있습니다.
그림 6: 보안 통신 트랜잭션을 보장하기 위해 AWS 클라우드 서비스 및 AWS IoT Greengrass 그룹은 종단점 및 Greengrass Core 장치에 저장된 개인 키로 지원되는 여러 인증서를 사용합니다. (이미지 출처: Amazon Web Service)
AWS는 하드웨어 보안 소자가 통합된 신뢰할 수 있는 장치에 대해서만 상호 작용을 허용하여 자체 서비스와 사용자 애플리케이션을 보호합니다. 이 보안 소자는 Greengrass Core 장치와 AWS IoT Core 사이 보안 통신 및 Greengrass Core 장치와 종단점 사이의 보안 통신에 사용되는 개인 키를 보호합니다(그림 7).
그림 7: Greengrass Core 장치는 Microchip ATSAMA5D27-WLSOM1 무선 SOM에 통합된 ATECC608A 장치와 같은 보안 소자를 사용하는 개인 키 보안 스토리지를 활용합니다. (이미지 출처: Amazon Web Services)
AWS에서는 ATECC608A 보안 소자뿐 아니라 WLSOM1도 보안 요구 사항을 충족할 수 있는 Greengrass 인증 솔루션으로 인정했습니다. 실제로 ATECC608A는 IoT Greengrass HSI(하드웨어 보안 통합)에서 제공되는 AWS의 고급 보안 기능을 지원합니다. HSI는 공용 키 암호화 표준 #11을 사용합니다. 이 표준은 개인 키를 저장하는 데 사용되는 하드웨어 보안 모듈(HSM)과 프로세서 사이의 통신을 위한 업계 표준 응용 프로그래밍 인터페이스(API)를 정의합니다. WLSOM1에서 ATECC608A는 AWS Greengrass 인증 HSM 지원으로 지정되는데, 이 표준 보안 인터페이스는 일반적으로 에지 시스템, 특히 Greengrass Core 장치에서 사용되는 Linux 기반 시스템에 매우 중요하기 때문입니다.
이 보안 소프트웨어 기반을 사용하여 개발자는 비교적 단순한 이벤트 기반 프로그래밍 모델을 제공하는 AWS Lambda 함수를 사용한 로컬 처리 기능을 포함하도록 Greengrass Core 에지 시스템을 안전하게 확장할 수 있습니다. Greengrass Core 장치에서 실행되는 맞춤형 코드에서 특정 응용 분야 요구 사항을 지원할 수 있지만, AWS Lambda 함수를 사용하면 이러한 장치에서 AWS 클라우드 서비스와 직접 상호 작용할 수 있습니다. 예를 들어 개발자가 데이터 스토리지용 Amazon의 NoSQL DynamoDB 데이터베이스 관리 시스템 또는 광범위한 AWS 제품 세트의 기타 서비스와 같은 AWS 서비스에 종단점을 연결하는 Lambda 함수를 쉽게 구현할 수 있습니다(그림 8).
그림 8: AWS IoT Greengrass를 사용하면 에지 시스템에서 AWS Lambda 함수를 통해 데이터 스토리지, 머신 러닝 및 기타 기능을 위한 AWS 클라우드 서비스에 간단히 통합을 비롯한 로컬 처리를 제공할 수 있습니다. (이미지 출처: Amazon Web Services)
결론
에지 컴퓨팅 리소스를 사용하는 IoT 네트워크 배포는 종단점 장치, 에지 컴퓨팅 시스템 및 보안 클라우드 연결을 위한 여러 요구 사항 때문에 까다로운 작업일 수 있습니다. 필요한 개별 솔루션은 준비되어 있지만 이들을 잘 조율된 IoT 응용 제품에 통합하기 위해서는 개발자가 서비스 인터페이스, 통신 방법 및 IoT 클라우드 공급업체에 필요한 보안 프로토콜을 구현하는 복잡한 작업을 수행해야 합니다.
위에서 살펴본 바와 같이 Microchip Technology의 클라우드 지원 종단점 및 에지 컴퓨팅 제품 세트는 AWS IoT 서비스와 AWS IoT Greengrass 에지 컴퓨팅 서비스에 쉽게 연결하도록 설계된 기성 솔루션을 제공합니다. 개발자는 Microchip의 AWS 인증 종단점 기판과 무선 시스템 온 모듈 에지 컴퓨팅 플랫폼을 사용하여 AWS 클라우드에 거의 투명하게 연결하고 IoT 네트워크 배포를 단축할 수 있습니다.
추가 자료
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


