2017.10.27

마이크로소프트 애저 IoT 개발 키트 시작하기

Matt Asay | InfoWorld

애저(Azure)의 핵심 용도는 어쩌면 사물 인터넷 작업을 위한 공간이다. IoT 중심의 서비스 모음이 기기에서 오는 데이터 스트림을 처리하고 머신 러닝과 스트림 분석을 덧붙인다. 필요한 기능 대부분은 애저 IoT 스위트(IoT Suite)에 포함되거나 코타나 애널리틱스(Cortana Analytics)를 통해 제공된다. 사실 IoT 기기를 제외한 모든 요소가 다 있다.

기기를 애저에 연결하는 부분에서 마이크로소프트는 개방적인 접근 방법을 취했다. 즉, 꼭 윈도우 10 IoT 코어를 실행하는 x86과 ARM 기기만 사용해야 한다는 제한이 없다(물론 마이크로소프트는 이 조합을 선호하겠지만). 유일한 요구 사항은 애저의 API에 대한 접근이 가능해야 한다는 것이다. 따라서 윈도우 10이 온전히 설치된 라떼 판다(Latte Panda)의 싱글 보드 컴퓨터부터 리눅스를 구동하는 라즈베리 파이(Raspberry Pi)에 이르기까지, 그리고 오픈소스 아두이노(Arduino)를 사용하는 간단한 펌웨어 기반 기기까지 다양하게 사용할 수 있다.

기기 선택의 폭이 상당히 넓지만 특히 센서 기반 IoT 솔루션을 구축하려는 경우 파일럿 프로그램에 적합한 플랫폼을 선택하기가 어렵다. 대부분의 IoT 프로젝트는 아두이노 또는 라즈베리 파이와 같은 완성품 "메이커(maker)" 보드로 시작되지만 프로덕션 기기는 대체로 일반적인 와이파이 모듈과 ARM 기반 마이크로컨트롤러를 중심으로 제작된다.



애저 IoT 데브킷의 주요 기능
마이크로소프트는 자체 IoT 스타터 키트를 개발하는 대신 MX칩(MXChip)과 협력해 애저의 IoT 툴과 바로 연계가 가능한 저렴한 아두이노 호환 보드를 제공하기로 했다. 그 결과물이 STM32F412 ARM 마이크로컨트롤러와 EMW3166 와이파이 모듈, 256KB RAM과 2MB의 플래시 스토리지를 탑재한 오픈소스 보드다. USB 연결과 2.4GHz 와이파이, 다양한 환경 센서와 소형 OLED 디스플레이도 포함된다. 마이크와 IR 이미터까지 있으므로 애저의 머신러닝 기반 API를 사용해 아마존 에코와 비슷한 기기를 직접 만들 수도 있다.

보드의 마이크로컨트롤러와 와이파이 모듈은 보편적인 부품이므로 애저 IoT 데브킷에서 개발하는 코드는 모든 프로덕션 포트로 이식이 가능하다. 또한 아두이노와 호환되므로 전문적인 하드웨어 모듈 및 브레드보드에 손쉽게 연결해서 센서 하드웨어 개발에 사용할 수 있다. 결론적으로 마이크로소프트는 MX칩 파트너십을 통해 40달러 정도의 가격으로 IoT/클라우드 통합을 시작하기 위한 적당한 토대를 제공한다.

그렇다면 애저 IoT 데브킷의 사용 환경은 어떨까? 작은 갈색 상자 안에 포함된 구성품은 많지 않다. 보드, 끈끈이 고무발, USB 케이블이 전부다. 나머지는 모두 소프트웨어로, 비주얼 스튜디오 코드 개발 환경을 기반으로 하는 윈도우와 맥OS용 툴이다.

애저 IoT 데브킷 설정
보드를 처음 가동하기는 쉽다. 보드는 USB와 와이파이 연결을 섞어 사용한다. USB는 새 펌웨어와 아두이노 스케치를 로드하는 데 사용되고 와이파이는 클라우드 및 로컬 네트워크에 연결하는 데 사용된다. 먼저 보드를 간단한 와이파이 구성 툴인 내장 와이파이 액세스 포인트 모드로 설정해서 로컬 네트워크에 연결했다. 스마트폰의 웹 브라우저를 사용해 보드를 구성하면서 사용할 와이파이 네트워크를 선택하고 암호를 설정했다.

구성을 마친 후 보드를 리셋하자 보드가 네트워크에 연결되어 펌웨어 상태를 확인했다. 새 릴리스가 나와 있어서 업데이트해야 했으므로 새 펌웨어 이미지를 다운로드해서 보드의 USB 연결을 통해 설치했다. 보드는 자동으로 새 이미지를 설치하고 재부팅된 후 와이파이에 다시 연결됐다. 기본 펌웨어는 내장된 센서를 거치면서 보드의 기본 기능을 테스트하고 결과를 OLED 디스플레이에 표시한다.

애저 IoT 데브킷 하드웨어를 준비한 다음에는 비주얼 스튜디오 코드 편집기, 애저 명령줄 인터페이스, Node.js를 비롯한 필요한 모든 툴이 포함된 305MB 크기의 ZIP 파일을 다운로드했다. 압축 파일에는 그 외에도 기기별 라이브러리, 소프트웨어를 설치하고 코드를 테스트하는 데 필요한 드라이버를 제공하는 툴도 포함되어 있다.

모든 툴을 손쉽게 설치할 수 있다. 파일 압축을 풀고 install.cmd 스크립트를 실행하자 스크립트가 모든 작업을 알아서 진행하면서 기존 비주얼 스튜디오 코드에 적절한 확장 프로그램을 추가했다. 한 가지 참고할 점은 설치 프로그램이 아두이노 IDE를 설치한다는 것이다. 이 IDE는 실제 사용할 필요는 없지만 비주얼 스튜디오 코드 아두이노 확장, 애저 IoT 데브킷 보드용 드라이버와 라이브러리를 설치하기 위한 전제 조건이다.

첫 애저 IoT 애플리케이션 만들기
PC에서 모든 준비를 마치면 이제 비주얼 스튜디오 코드에 직접 연결된 애저 IoT 데브킷 보드를 사용해 애저 IoT 데브킷과 애저에서 IoT 앱을 만들 수 있다. 직접 연결이 구성되어 있으므로 비주얼 스튜디오 코드에서 편집한 코드는 보드에 배포되어 실행되고 디버그된다. 즉, 편집기와 기기를 왕복하면서 작업한다.




2017.10.27

마이크로소프트 애저 IoT 개발 키트 시작하기

Matt Asay | InfoWorld

애저(Azure)의 핵심 용도는 어쩌면 사물 인터넷 작업을 위한 공간이다. IoT 중심의 서비스 모음이 기기에서 오는 데이터 스트림을 처리하고 머신 러닝과 스트림 분석을 덧붙인다. 필요한 기능 대부분은 애저 IoT 스위트(IoT Suite)에 포함되거나 코타나 애널리틱스(Cortana Analytics)를 통해 제공된다. 사실 IoT 기기를 제외한 모든 요소가 다 있다.

기기를 애저에 연결하는 부분에서 마이크로소프트는 개방적인 접근 방법을 취했다. 즉, 꼭 윈도우 10 IoT 코어를 실행하는 x86과 ARM 기기만 사용해야 한다는 제한이 없다(물론 마이크로소프트는 이 조합을 선호하겠지만). 유일한 요구 사항은 애저의 API에 대한 접근이 가능해야 한다는 것이다. 따라서 윈도우 10이 온전히 설치된 라떼 판다(Latte Panda)의 싱글 보드 컴퓨터부터 리눅스를 구동하는 라즈베리 파이(Raspberry Pi)에 이르기까지, 그리고 오픈소스 아두이노(Arduino)를 사용하는 간단한 펌웨어 기반 기기까지 다양하게 사용할 수 있다.

기기 선택의 폭이 상당히 넓지만 특히 센서 기반 IoT 솔루션을 구축하려는 경우 파일럿 프로그램에 적합한 플랫폼을 선택하기가 어렵다. 대부분의 IoT 프로젝트는 아두이노 또는 라즈베리 파이와 같은 완성품 "메이커(maker)" 보드로 시작되지만 프로덕션 기기는 대체로 일반적인 와이파이 모듈과 ARM 기반 마이크로컨트롤러를 중심으로 제작된다.



애저 IoT 데브킷의 주요 기능
마이크로소프트는 자체 IoT 스타터 키트를 개발하는 대신 MX칩(MXChip)과 협력해 애저의 IoT 툴과 바로 연계가 가능한 저렴한 아두이노 호환 보드를 제공하기로 했다. 그 결과물이 STM32F412 ARM 마이크로컨트롤러와 EMW3166 와이파이 모듈, 256KB RAM과 2MB의 플래시 스토리지를 탑재한 오픈소스 보드다. USB 연결과 2.4GHz 와이파이, 다양한 환경 센서와 소형 OLED 디스플레이도 포함된다. 마이크와 IR 이미터까지 있으므로 애저의 머신러닝 기반 API를 사용해 아마존 에코와 비슷한 기기를 직접 만들 수도 있다.

보드의 마이크로컨트롤러와 와이파이 모듈은 보편적인 부품이므로 애저 IoT 데브킷에서 개발하는 코드는 모든 프로덕션 포트로 이식이 가능하다. 또한 아두이노와 호환되므로 전문적인 하드웨어 모듈 및 브레드보드에 손쉽게 연결해서 센서 하드웨어 개발에 사용할 수 있다. 결론적으로 마이크로소프트는 MX칩 파트너십을 통해 40달러 정도의 가격으로 IoT/클라우드 통합을 시작하기 위한 적당한 토대를 제공한다.

그렇다면 애저 IoT 데브킷의 사용 환경은 어떨까? 작은 갈색 상자 안에 포함된 구성품은 많지 않다. 보드, 끈끈이 고무발, USB 케이블이 전부다. 나머지는 모두 소프트웨어로, 비주얼 스튜디오 코드 개발 환경을 기반으로 하는 윈도우와 맥OS용 툴이다.

애저 IoT 데브킷 설정
보드를 처음 가동하기는 쉽다. 보드는 USB와 와이파이 연결을 섞어 사용한다. USB는 새 펌웨어와 아두이노 스케치를 로드하는 데 사용되고 와이파이는 클라우드 및 로컬 네트워크에 연결하는 데 사용된다. 먼저 보드를 간단한 와이파이 구성 툴인 내장 와이파이 액세스 포인트 모드로 설정해서 로컬 네트워크에 연결했다. 스마트폰의 웹 브라우저를 사용해 보드를 구성하면서 사용할 와이파이 네트워크를 선택하고 암호를 설정했다.

구성을 마친 후 보드를 리셋하자 보드가 네트워크에 연결되어 펌웨어 상태를 확인했다. 새 릴리스가 나와 있어서 업데이트해야 했으므로 새 펌웨어 이미지를 다운로드해서 보드의 USB 연결을 통해 설치했다. 보드는 자동으로 새 이미지를 설치하고 재부팅된 후 와이파이에 다시 연결됐다. 기본 펌웨어는 내장된 센서를 거치면서 보드의 기본 기능을 테스트하고 결과를 OLED 디스플레이에 표시한다.

애저 IoT 데브킷 하드웨어를 준비한 다음에는 비주얼 스튜디오 코드 편집기, 애저 명령줄 인터페이스, Node.js를 비롯한 필요한 모든 툴이 포함된 305MB 크기의 ZIP 파일을 다운로드했다. 압축 파일에는 그 외에도 기기별 라이브러리, 소프트웨어를 설치하고 코드를 테스트하는 데 필요한 드라이버를 제공하는 툴도 포함되어 있다.

모든 툴을 손쉽게 설치할 수 있다. 파일 압축을 풀고 install.cmd 스크립트를 실행하자 스크립트가 모든 작업을 알아서 진행하면서 기존 비주얼 스튜디오 코드에 적절한 확장 프로그램을 추가했다. 한 가지 참고할 점은 설치 프로그램이 아두이노 IDE를 설치한다는 것이다. 이 IDE는 실제 사용할 필요는 없지만 비주얼 스튜디오 코드 아두이노 확장, 애저 IoT 데브킷 보드용 드라이버와 라이브러리를 설치하기 위한 전제 조건이다.

첫 애저 IoT 애플리케이션 만들기
PC에서 모든 준비를 마치면 이제 비주얼 스튜디오 코드에 직접 연결된 애저 IoT 데브킷 보드를 사용해 애저 IoT 데브킷과 애저에서 IoT 앱을 만들 수 있다. 직접 연결이 구성되어 있으므로 비주얼 스튜디오 코드에서 편집한 코드는 보드에 배포되어 실행되고 디버그된다. 즉, 편집기와 기기를 왕복하면서 작업한다.


X