Compartilhar via


Build 2015에서 만난 Microsoft IoT

Build 2015에서 발표된 내용이 너무 많아서 그런지 상대적으로 눈에 띄지 않았던 부분이 바로 IoT 관련 내용이었습니다. 둘째 날 키노트에서 축산 농장에서 소의 발정기를 정확하게 파악하기 위한 용도로 센서 디바이스와 Azure를 기반으로 한 클라우드 서비스를 개발한 내용이 소개 되었습니다.

 

<그림1>Fujitsu 의 사례로 소개된 축산 농장에서 소의 발정기를 파악하는 IoT 솔루션

가축의 경우 제조되는 상품이 아니기 때문에 정확한 발정기를 파악하는 것은 축산 생산량에 크게 기여를 합니다. 위의 사례에서도 소의 발정기를 정확하게 파악하는 것으로 소의 임신 확률이 비약적으로 향상되었습니다. 간단한 센서를 활용한 사례이지만 데이터에 기반한 서비스의 개발은 현실에서 새로운 기회를 만들어 줄 수 있다는 것을 보여주고 있습니다.

<그림2>센서 데이터를 분석해서 가임기를 파악할 확률을 95%까지 올렸으며 그 결과 임신 확률을 67%까지 상승 시켰다.

IoT에서 중요한 것은 데이터이고 이 데이터를 수집하고 분석하고 분석된 결과를 효과적으로 가공해서 제공해주는 것이 핵심이라고 할 수 있다. Build 2015에서도 이런 부분을 사이사이에 설명하고 강조하고 있었는데 첫째날 키노트에서 소개된 Azure Analytic Services라고 소개된 슬라이드 안에서 잘 볼 수 있다.

Azure Analytic Service에서 소개된 서비스들은 아래와 같다.

  • HDInsight
  • Event Hub + Stream Analytics
  • Data Factory
  • Machine Learning
  • Power BI
  • SQL Data Warehouse
  • Data Lake

<그림3>Azure Analytic Services를 보여주는 슬라이드

이날 소개 된 서비스 중에서 처음 공개된 것은 SQL Data WareHouse, Data Lake 등이고 나머지는 이미 서비스 되고 있던 것들을 묶어서 보여주고 있다. HDInsight는 하둡(Hadoop)을 이용하는 서비스로 주로 저장되어 있는 빅데이터를 분석할 때 사용하는 서비스라면 Event Hub + Stream Analytics의 경우는 실시간으로 들어오는 데이터를 분석하기 위한 용도로 사용된다. 이 둘의 용도는 완전히 다른데 HDInsight에서 사용되는 데이터들은 이미 저장되어 있는 데이터를 기반으로 분석하기 때문에 이미 분석 결과는 과거의 데이터(Historical Data)가 된다. 반면에 Event Hub로 수집된 방대한 데이터를 Stream Analytics를 사용해서 분석하는 경우의 데이터 결과는 실시간으로 판단하기 때문에 거의 시간차가 없는 실시간 데이터(Realtime Data)가 된다.

<그림4>둘째 날 보여주었던 Stream Analytics 시연 모습. 실시간으로 들어오는 큐에 쿼리를 이용해서 즉각적으로 데이터를 확인할 수 있다.

 

Build 2015에서 Keynote 세션에서는 이렇게 서비스와 데이터를 강조했다면 또 디바이스를 다루는 세션에서는 Windows 10 Core를 활용하는 디바이스 사례를 보여주었다.

<그림5>Windows for Makers Raspberry Pi2, Arduino, and more! 이 세션은 사람이 미어터져서 못들어간 사람도 많았다.

메이커들을 위한 세션이었지만 기본적으로 Windows 10 Core가 들어간 Raspberry Pi2에 대한 관심이 높았고 대부분의 사람들이 여기에 관심이 높아서 질문도 많았다.

<그림6>Raspberry Pi2를 소개하는 슬라이드. Raspberry Pi 2에서는 PCIe, PCI, RS-232 인터페이스를 지원한다.

Microsoft는 Raspberry Pi 2를 제작하는 과정에서 공식적인 스폰서로 나서기도 해서 관심을 끌었다. 이 세션에 사용된 Raspberry Pi 2에는 Windows 10 이미지가 탑재되어 있었으며 PC에는 Watcher 프로그램을 하나 띄워놓고 이를 통해서 Raspberry Pi 2와 통신하는 방법을 사용했다. 

<그림7>간단한 블링크 예제 

<그림8>Visual Studio 에서 C#코드로 작성된 블링크 소스. 디버깅과 인텔리센스에 의한 생산성 향상이 눈에 띈다.

한 가지 재미있는 점은 Raspberry Pi 2에 올라간 Windows Core나 PC나 Windows Phone에 들어간 Windows Core는 같은 것이라는 점이다. 그래서 기본적인 로직은 모두 동일하게 작성할 수 있으며 GPIO와 같이 해당 디바이스에 특화된 부분만 코드가 달라진다. 그래서 일반 개발자들이 진입하기가 훨씬 쉬워졌을 뿐만 아니라 좀더 체계적이고 대규모 프로젝트에서 활용할 수 있을 만한 신뢰성을 확보 할 수 있게 되었다.

Your Complete Maker Toolkit이라는 것을 소개했는데 Windows 10, Visual Studio와 Raspberry Pi 2와 전자 부품들 약 25종을 합쳐 놓은 것을 소개했다. 이 Toolkit은 C#으로 코딩하고 XBOX 360 컨트롤러로 컨트롤 할 수 있는 제품을 만들 수 있도록 구성된 것으로 제법 구성이 알차다. 

Raspberry Pi 2에서 Visual Studio를 활용할 수 있게 된 것은 개발자들이 크게 환호할 정도로 뛰어난 점이지만 Raspberry Pi 2만 가지고는 완전하지 않다. 왜냐하면 Raspberry Pi 2 는 ADC(Analog Digital Converter)가 없기 때문에 주로 게이트웨이로 활용되고 있고 센서노드의 역할은 여전히 Arduino 혹은 Netduino와 같은 디바이스들로 처리하는 경우가 많기 때문이다.

그래서 이번에 또 추가로 공개 된 것이 Project Margherita이다. 이 프로젝트는 Universal Windows Platform 에서 Arduino를 연결할 수 있게 해주는 브릿지를 제공해주는 프로젝트이다.

 


(상) Project Margherita의 공개

(중) Project Margherita를 사용한 Arduino 프로젝트 데모

(하) 스마트폰으로 사진을 촬영하고 이를 Arduino에 보내서 LED 매트릭스에 사진을 출력하는 데모를 하고 있는 모습.

그리고 이날 .NET Micro Framework을 활용하는 Netduino 3 WIFI, Netduino 3 Ethernet 버전과 Gadgeteer를 공개했다.

 

Windows 기반의 디바이스에 관한 정보는 WindowsOnDeives.com에서 추가적인 정보를 얻을 수 있으며 Youtube 채널을 보고 있으면 영어와는 상관없이 많은 정보를 얻을 수 있다. 

 

그리고 이 세션의 하일라이트는 원 모얼 띵스..... 이날 소개된 모든 디바이스를 세션 참석자들에게 모두 나누어 주었다. 이 발표가 나오자 마자 격한 환호성이 터져 나왔다.

Build 2015에서 Microsoft는 IoT를 위한 각종 Azure 기반의 서비스들과 Windows 10 Core, .NET Micro Framework을 사용하는 디바이스를 소개하면서 IoT에 필요한 Microsoft의 해법을 보여주었다. 얼마 전 공개된 IoT Suite가 이번에 공개되지 않은 점은 아쉽긴 하지만 이 부분 또한 그리 멀지 않은 시기에 공개 될 것으로 기대 된다.