mbed IoT Device Platform

사물인터넷(IoT)은 저전력의 제한적인 엔드 노드(end node)부터 게이트웨이에 이르기까지 클라우드 애플리케이션과 서비스에 지능적으로 연결된 수십억 개 이상의 단말 기기 집합을 의미한다. 다양한 시장에서 기기와 클라우드 서비스 간의 호환이 이루어져야 IoT의 완전한 잠재력을 실현할 수 있다.

매년 수십억 대가 출하되는 세계 최고 수준의 32비트(bit) 마이크로컨트롤러유닛(MCU)인 ARM Cortex-M 프로세서 제품군은 IoT 기기를 위한 공용 하드웨어 기반을 제공한다. 하지만 현재 IoT 기기용 소프트웨어 개발은 고도로 단편화되어 있으며 많은 비용과 시간이 소요된다. 대부분의 소프트웨어 개발은 사용자 특정 도구나 자체 통신 프로토콜을 사용한다.

ARM과 파트너들은 상용 표준 기반 IoT 기기들의 대규모 개발 및 도입이 가능하다는 비전을 공유하며 mbed IoT 디바이스 플랫폼(mbed IoT Device Platform)은 이러한 비전의 결과물이다. 이 플랫폼은 개방형 표준을 기반으로 개발되었으며 전력 및 비용적인 제약을 받는 기기에 최적화된 단일 통합 솔루션으로 인터넷 프로토콜, 보안 및 표준 기반 관리 용이성을 제공할 것으로 기대된다. 기존에 구축되어 있거나 계속해서 확장되고 있는 하드웨어 및 소프트웨어 에코시스템이 지원하고, 이를 통해 IoT 기기와 서비스를 위한 공용 빌딩 블록을 제공한다.

ARM mbed를 구성하는 3가지 핵심 요소는 mbed 운영체제(mbed OS)와 mbed 디바이스 커넥터(mbed Device Connector) 그리고 mbed 클라우드 파트너십(mbed Cloud Partnership)이다.

ARM mbed OS

ARM mbed OS는 사물인터넷(IoT)의 사물을 위해 설계된 오픈 소스 임베디드 OS이다. 이는 ARM Cortex-M 마이크로컨트롤러를 기반으로 하는 IoT 제품을 개발하는데 필요한 모든 기능들을 포함하고 있으며, 스마트 시티, 스마트홈, 웨어러블 기기와 같은 애플리케이션에 적합하다. mbed OS의 최신 버전은 2016년 7월 발표된 mbed OS 5.0로서 수년 간 전 세계 시장에서 수집한 피드백과 ARM IoTBU 및 에코시스템 파트너들의 엔지니어링 자원을 토대로 개발됐다.

ARM mbed OS는 코어 OS, 강력한 보안, 표준 기반 통신 기능, 그리고 센서, 입출력(I/O) 기기 및 연결 기술 등을 위한 드라이버를 제공해 초기 구상 단계에서 최종 제품 배치까지의 과정을 가속화한다. mbed OS는 설정 변경이 가능한 모듈식 소프트웨어 스택으로 개발되었기 때문에 개발하고자 하는 기기에 맞게 조정할 수 있으며 불필요한 소프트웨어 구성 요소를 제외시킴으로써 메모리 요구 사항을 줄일 수 있다.

mbed OS는 마이크로컨트롤러의 mbed IoT Device Platform에서 클라이언트 측 부분을 형성하며 mbed Device Connector 및 mbed 클라이언트(mbed Client)와 호환이 가능하도록 설계되었다. 이 플랫폼을 결합함으로써 종합적인 IoT 솔루션을 제공할 수 있다.

mbed OS 5.0의 핵심 특징

이번 릴리스에서 가장 중점을 둔 것은 소프트웨어 통합 및 장치 서비스의 향상이다.

- mbed OS 코어: 멀티 스레드 지원을 위한 RTOS 통합.

- 툴 및 워크플로우: 보다 다양한 상용 타사 툴과의 통합을 지원하기 위한 단순한 워크플로우 및 구성 요소 패키징 툴.

- 핵심 기술 투자: 연결 및 보안 강화를 통한 보다 방대한 ARM 임베디드 에코시스템 형성

코어 OS 원칙

기존의 임베디드 OS는 임베디드 기기가 광대한 네트워크에 연결되기 전에 설계되었다. 따라서 IoT 기기에 대한 새로운 요구 사항들을 해결할 수 없다. 이와 다르게 mbed OS는 처음부터 IoT 기기를 위해 설계되었다. ARM은 보안, 연결성, 관리의 용이성, 효율성 그리고 생산성과 같이 5가지 핵심 원칙에 따라 IoT 기기를 설계한다.

ARM mbed OS는 실시간 운영체제 (Real-Time Operating System, RTOS) 아키텍처에서 널리 활용되는 멀티 스레드 프로그래밍을 지원한다. 이 접근 방식은 mbed OS가 가장 작고, 가장 저렴하며 가장 낮은 전력을 소모하는 IoT 장치를 위해 사이즈를 줄이는 동시에 임베디드 엔지니어들의 제품 설계 요구 사항에 맞춰 실제 대량 생산 할 수 있도록 보장한다.

마이크로컨트롤러와 IoT 기기는 다양한 하드웨어 기능과 요구 사항을 가지고 있다. mbed OS는 로우 레벨(low level)의 하드웨어 추상화 계층(HAL: Hardware Abstraction Layer) 뿐 아니라 SPI, I2C 포트, GPIO 핀 및 타이머와 같은 공용 하드웨어 주변 장치를 위한 하이 레벨(high level)의 추상 드라이버(abstract driver)를 포함한다.

mbed OS의 하드웨어 추상화와 드라이버는 전력 관리를 위한 긴밀한 통합지원을 제공하며, 이는 스케줄러의 에너지 인식 기능과 결합되어 mbed OS가 전력 효율성이 필수적인 애플리케이션을 구동시킬 수 있도록 지원한다.

보안

보안은 보통 나중에 고려되는 매우 까다로운 문제다. 너무 오래 방치하는 경우엔 막대한 비용 손실을 감수하면서 제품을 회수해야 하는 상황에 직면하게 된다.

중요하거나 개인적인 데이터를 보유한 임베디드 기기가 네트워크에 연결되고 긴 서비스 수명을 요구하는 애플리케이션에 도입하는 경우 보안은 가장 먼저 고려해야 하는 핵심 사항이다. ARM mbed IoT Device Platform은 아래와 같이 다양한 레이어에서 보안 관련 문제를 해결한다.

- 기기

- 통신

- 생산에서 구축, 시범, 서비스 및 최종 폐기까지 이르는 기기의 라이프사이클

mbed OS의 기기 보안 아키텍처을 형성하는 기반인 mbed OS uVisor는 ARM Cortex-M 아키텍처와 기능에 대한 심층적인 이해를 바탕으로 마이크로컨트롤러 내에 분리된 보안 도메인을 생성하고 적용한다.

mbed OS는 uVisor를 통해 시스템의 민감한 부분을 분할해 부팅 프로세스 및 디버깅 세션을 보호하며 펌웨어 업데이트가 안전하게 설치되도록 보장한다. 또 악의적이거나 오류 코드로 권한을 상승하여 기밀을 유출하는 공격도 차단해준다.

mbed OS uVisor는 메모리 보호 유닛(MPU: Memory Protection Unit)을 탑재한 Cortex-M3이나 M4 프로세서를 요구한다. ARM은 향후 그 외 Cortex-M 코어에 대한 지원을 추가할 예정이다.

mbed OS uVisor는 mbed TLS를 통해 최첨단 통신 보안을 제공한다. 무엇보다도 mbed TLS, 더 나아가 mbed OS는 전송 계층 보안(TLS: Transport Layer Security)을 지원한다. TLS와 데이터그램 TLS(Datagram TLS) 프로토콜은 인터넷 통신을 보호하기 위한 표준 프로토콜로서 도청, 증거 조작 및 메시지 위조 등을 차단하는데 입증된 역량을 제공해왔다.

또한 mbed TLS는 널리 사용되는 다양한 기본 암호화 기능(cryptographic primitives), 증명서 처리 및 기타 암호화 기능의 레퍼런스 품질 의 소프트웨어 구현을 포함한다.

ARM은 2015년에 산사 시큐리티(Sansa Security)를 인수하면서 mbed OS의 입증되고 수 많은 기능을 갖춘 경량화된 라이프사이클 보안 기술을 제공할 수 있게 되었다.

연결 및 네트워킹

IoT의 통신 및 네트워킹 기술은 IoT 애플리케이션만큼 다양하며 모든 애플리케이션을 지원할 수 있는 보편적인 기술은 없다. ARM은 사용자들이 그들에게 가장 중요한 기술과 프로토콜을 강력하고 효율적이면서 안전하게 도입하도록 지원하고 mbed OS상에서 차별화된 제품을 제공할 수 있도록 보다 전문적인 요구 사항을 지닌 기술과 프로토콜을 지원한다는 목표를 지니고 있다.

mbed OS에서 지원하는 주요 연결 기술은 다음과 같다.

- 이더넷

- 와이파이

- IPv6 및 6LoWPAN

- 쓰레드(Thread)

- 저전력 블루투스(BLE: Bluetooth Low Energy).

ARM은 IoT 친화적인 프로토콜 및 표준의 개발과 IoT 환경에서도 기존 산업 표준이 원활하게 적용될 수 있도록 표준화 기구에 적극적으로 참여하고 있다. ARM은 Thread, CoAP(Constrained Application Protocol) 및 LWM2M 등의 표준화에 참여하고 있으며 mbed OS을 구현하는데 이러한 지식을 적용하고 있다.

관리 용이성

대규모 구축을 가능하게 하는 핵심적인 요소는 현장에서 기기를 관리하는 역량에 달려있다. 아래는 mbed IoT Device Platform이 지원하는 핵심 사항이다.

- OMA Lightweight M2M(LWM2M) : 임베디드 기기 모니터링 및 관리를 위해 가장 보편화된 프로토콜. ARM은 mbed OS, mbed Client 및 mbed Device Server 등에서 이를 지원한다.

- Constrained Application Protocol(CoAP) : 효율적인 데이터 공유 메커니즘과 레스트풀(RESTful) 통신을 통해 제약형 네트워크가 직면하는 통신 문제를 해결하기 위해 설계됨. ARM은 mbed OS 및 mbed Client에서 이를 지원한다.

이들 프로토콜의 mbed Client 지원을 통해 여타 임베디드 OS와 Linux에서 이를 구현할 수 있다.

효율성

ARM mbed OS는 에너지 효율성과 개발 효율성을 지속적으로 향상시킨다는 데 그 목적을 두고 있다. 에너지 효율적인 ARM Cortex-M 아키텍처를 통해 mbed 기반의 디바이스들은 저전력 소모에 대한 IoT 요구 사항을 충족시키도록 설계되었다. 뿐만 아니라 mbed OS는 디바이스 개발자들에게 mbed 디바이스 개발을 위한 간편화된 온라인 IDE를 제공하는 것은 물론이고 오프라인 개발 툴 통합을 지원한다. 이와 함께 통합 HAL을 통해 하드웨어 계층을 추상화하고 코드 재사용이 가능해져 디바이스 개발 효율성을 개선시킨다.

mbed CLI 인터페이스

생산성

ARM mbed 온라인 IDE는 입증된 개발 툴로서 전세계 17만명 이상의 개발자들이 사용하고 있다. mbed 5.0에는 데스크톱 개발 지원과 한층 향상된 디버깅(debugging) 및 테스트 기능들이 추가되었다.

mbed CLI는 데스크톱 명령 행 개발 및 테스트 툴로서 전문 개발자들이 디바이스 개발 프로젝트에 대해 보다 강력한 통제권을 발휘할 수 있도록 한다. mbed CLI를 통해 개발자들은 다음을 수행할 수 있다.

- 애플리케이션 생성 또는 가져오기,

- 라이브러리 추가, 빌드, 제거 및 업데이트,

- 자동 테스트 실행,

- IDE 프로젝트 생성

- mbed.org, Github 및 기타 타사 서비스에 직접 코드 발행

테스트 결과 샘플

mbed Greentea는 Generic Regression Environment for Test Automation을 약칭한 테스트 툴이다. 버전 2.0, 3.0 그리고 5.0에 이르는 mbed 기술 발전을 이루어낸 mbed Greentea는 보드에 상관없이 사용 가능한 자동 테스트 툴로서 개발자들은 이를 사용해 한 번에 여러 대 이상의 디바이스에서 코드 테스트를 실행할 수 있다. mbed Greentea가 제공하는 주요 자동 테스트 기능은 아래와 같다.

- 연결 보드 자동 감지

- 테스트 모듈 구축

- 대상 플래시 메모리로 테스트 바이너리 복사

- 모듈 실행 및 테스트

- 테스트 결과 보고

ARM mbed Device Connector: 대규모 IoT 구축 지원

ARM mbed Device Connector 서비스는 인프라를 구축하지 않고도 IoT 기기를 클라우드로 연결해주며 mbed Device Connector는 개발자들이 대규모 IoT 애플리케이션을 위해 필수적인 보안과 단순함, 용량을 제공한다.

이 서비스는 손쉽게 통합된 REST API를 통해 IoT 기기 메시징, 프로비저닝 및 업데이트가 엔터프라이즈 소프트웨어, 웹 애플리케이션 및 클라우드 스택에 지원되도록 한다.

주요 특징:

- CoAP/HTTP, TLS/TCP, DTLS/UDP 및 OMA LWM2M를 비롯한 개방형 업계 표준 프로토콜을 기반으로 에너지 효율적인 데이터 통신 및 기기 관리 제공

- 개방형 보안 표준을 통해 강력한 엔드-투-엔드 신뢰성 및 보안 지원

- REST API와 연동하여 모든 시스템과 쉽게 통합되도록 지원

- mbed.com에서 개발자 콘솔과 웹 툴에 대한 완벽한 통합 기능 제공. 구축이 완료된 이후엔 다른 개발 환경으로 이전할 필요가 없음

- 샘플 웹 애플리케이션을 제공해 개념 증명(PoC: Proof of Concept) 프로젝트 추진 가속화

주요 이점:

- mbed OS와 완벽한 호환

- 간편하고 안전하게 mbed 지원 기기를 클라우드에 연결

- 가장 제약적인 IoT 기기의 경우에도 대역폭 효율적인 연결을 제공하도록 개발됨

- ARM mbed IoT 장치 에코시스템에 대한 액세스 제공

- IoT 개발자에게 무료 제공 (비상업적 조건하)

상용 서비스로 전환하기

mbed Device Connector 서비스를 이용해 작업한 모든 사항은 상용 서비스 전환 시 재사용할 수 있다. ARM mbed는 mbed Cloud 파트너를 통해 상용 서비스 전환 서비스를 지원한다.

ARM mbed Client mbed Device Connector 및 mbed 지원 서비스로 연결

ARM mbed는 제조업체들이 IoT를 도입하도록 지원하기 위해 mbed Device Connector Service와 파트너사들이 제공하는 mbed 지원 클라우드 서비스로 연결하는 라이브러리인 mbed Client를 개발했다. 이는 무료이며 고급 C++ API와 포팅 지침 및 샘플을 포함한다.

주요 특징

mbed Client는 mbed OS의 부분적인 기능을 적용한 것으로 제약적 네트워크 및 기기에 최적화되었다. mbed Client는 CoAP을 통해 에너지 효율적인 통신을 제공하고 저메모리 디바이스에 맞는 보안을 지원한다.

mbed Client는 mbed Device Connector에 연결된다. 이는 센서 데이터와 같은 자원을 안전하게 발행하고 클라우드에서 기기를 관리할 수 있도록 프로토콜을 구현한다. mbed OS의 일부이기도 하지만 Linux 및 실시간 운영체제(RTOS)와 같은 다른 플랫폼으로 포팅될 수 있다.

mbed Client를 사용하는 제조업체들에게 아래와 같은 기능을 제공한다.

- mbed Device Connector Service와 mbed 파트너들이 제공하는 클라우드 서비스를 비롯해 mbed 및 대부분의 RTOS 및 Linux와 완벽한 호환. (가장 보편화된 IoT 기기 플랫폼에 대한 간편한 포팅 제공. 현재 샘플 포팅 및 포팅 지침을 제공하고 있음. 다수의 플랫폼을 위해 단일 코드 기반 컴파일)

- CoAP 기반의 낮은 전력 소모량을 지닌 통신 스택

- Apache 2.0 라이선스 조건 하의 무료, 오픈 소스 라이브러리

- 작은 메모리 공간

- 안전한 연결 및 ARM mbed TLS 라이브러리 지원

- LWM2M 규격 준수

ARM mbed Smart City Reference Design

ARM mbed 스마트 시티 레퍼런스 디자인(ARM mbed Smart City Reference Design)은 많은 수의 디바이스를 위해 Sub-GHz 6LoWPAN & CoAP 메시 네트워크 프로토콜을 사용함으로써 사회기반시설 모니터링 및 스마트 산업용 애플리케이션을 목적으로 한다.

이는 산업용 애플리케이션의 다양한 백홀(backhaul) 기술과 호환이 되는 디바이스와 라우터들의 빠른 적용, 구성 및 관리를 통하여 디바이스에 대한 비용을 줄일 수 있도록 지원한다. mbed 파트너쉽을 통해 산업 선도 통신 기술에 관해 협업하고 있다.

ARM mbed 파트너 에코시스템

ARM mbed 파트너 에코시스템은 업계를 선도하는 임베디드 및 클라우드 기술 제공업체와 IoT 시스템 개발 및 도입을 가속화하는데 필요한 기술이나 툴, 서비스를 제공하고 부품 제조업체 및 시스템 통합업체(SI), OEM등으로 구성된다.

주요 파트너:

1. 클라우드 파트너: 통신 업체, 백엔드 IoT 서비스 및 클라우드 서비스 제공업체

2. 디바이스 파트너: OEM, ODM, SI 및 부품 제조업체(센서, 작동 장치, 모듈 등)

3. 반도체 파트너: MCU 제공업체

파트너에게 제공하는 주요 혜택은 아래와 같다.

- mbed Partner 조기 액세스 채널을 통한 시장 출시 기간 경쟁력 확보 및 개발 가속화

- 소스 코드 액세스를 통해 부가 기능을 추가한 제품 차별화

- 보다 신속한 액세스 및 대규모 개발자 커뮤니티에 노출함으로써 대량 시장 고객들을 위한 제품 실현

- mbed 기술이 제공하는 상호 호환성, 보안, 확장성에 대한 엑세스 확보

- ARM의 전문 지원 인력을 통해 개발 및 구축 시간 단축

- ARM mbed 에코시스템 파트너들과 협업을 통해 신제품 성능을 향상, 혁신 및 개발함으로써 시장 범위 및 영향력 확대

- 에코시스템 공동 마케팅을 통한 고객 및 개발자 커뮤니티와의 연계성 확대

전세계 mbed 커뮤니티의 개발자는 17만명 이상으로 집계된다. 이는 2014년의 6만명과 비교해 184% 증가한 수치이다. 현재 mbed 파트너들이 제공하는 100개 이상의 mbed 지원 플랫폼과 300개 이상의 구성 요소가 시장에 출시되어 있다. 한국의 SK텔레콤, WIZnet 등을 비롯해 전세계적으로 60개사 이상의 mbed 파트너들을 확보하고 있다.

자료제공 : ARM<www.arm.com>

이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지