特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜
連載
» 2017年05月31日 11時00分 公開

IoT観測所(33):マイクロソフト「Azure IoT」の強みはやはり「Windows 10 IoT」にあり (2/3)

[大原雄介,MONOist]

「Arduino」で「Windows 10 IoT」を動かすのは無理

 マイクロソフトは、Windows 10 IoTに3種類のエディション(Windows 10 IoT Enterprise、Windows 10 IoT Mobile Enterprise、Windows 10 IoT Core/Core Pro)を提供しており、Raspberry Pi 2/3などはWindows 10 IoT Coreを利用することになる。こちらは256MBのメモリと2GBのストレージがあれば起動するということでお手軽ではあるのだが、問題はこのWindows 10 IoT Coreで、Raspberry Pi 2/3の全ての機能や周辺機器を利用できる訳ではないことだ。

 例えばRaspberry Pi 2の内蔵カメラインタフェースは、Windows 10 IoT Coreでは原理的にサポートされない。これはカメラインタフェースがGPUの一部として統合されており、このGPUをWindows 10 IoT Coreでサポートしないためにどうしようもないのだが、さすがにマイクロソフトとしてもRaspberry PiシリーズやDragonBoard、今後さらに追加されるであろうさまざまな開発ボード(というかSoC)をフルサポートするのは荷が重いということでもあろう。

 また、Raspberry Piはともかくとして、ArduinoクラスはさすがにWindows 10 IoTそのものの移植は無理である。例えば、先のAzure Certified for IoT Device Catalogには、Arduino Zeroが含まれているが、これに搭載されているのはフラッシュ 256KB/SRAM 32KBを搭載する「Cortex-M0+」ベースのMCU「ATSAMD21G18」だ。メモリやストレージのサイズもさることながらMMUも何もない32ビットMCUであり、この上でWindows 10 IoTを動かすのは無理すぎる。

 ただし、実際のエッジノードはこのクラスのMCUが使われることが多いから、これのサポートができないとなると、IoT向けのクラウドサービスとはちょっと呼びにくい。結局のところ、もちろんWindows 10 IoTは重要な製品ではあるが、これをAzure IoTと一緒に普及をさせていくというのは完全には無理である、という見切りをつける判断があったのだと思われる。

 さて、そんな訳で2016年からはほぼ汎用というか、特定のプラットフォームに依存しないような形でAzure IoT Suiteは提供されるようになった。もともとプラットフォーム依存、といってもそもそもがクラウドサービスだから、プラットフォーム依存があるとすればエッジノードとの通信部分だけで、後はプラットフォームもへったくれも無い訳だが、これを実現する立役者がAzure IoT Hubである(図2)。Azureそのものには同種のものとして「Azure Event Hub」があるが、これをIoT向けに強化したものだ。

図2 図2 「Azure IoT Hub」は「Azure Event Hub」をIoT向けに強化したものだ(クリックで拡大) 出典:マイクロソフト

 Azure IoT Hubの主な強化ポイントを挙げてみよう。

  • デバイス→クラウドとクラウド→デバイス、両方の通信をサポート
  • デバイスの状態を参照したり保持したりできる
  • MQTT、MQTT over WebSockets、AMQP、AMQP over WebSockets、HTTPに対応。さらにAzure IoT Protocol Gatewayを併用することで、独自プロトコルをサポートする
  • デバイスごとにセキュリティキーないしX.509証明書ベースでのセキュリティ管理を行える
  • デバイスIDの管理、及びデバイスごとのさまざまなイベント(エラー、通知、etc……)をハンドリングできる
  • 数百万個単位のデバイスを接続可能
  • C/Python/Node.js/Java/.NETのSDKが用意される。またAzure Certified for IoT Device Catalogに掲載されているデバイス(評価キット)にはそれぞれ専用のPlatform SDKが提供される
  • ファイル転送が可能
  • 最大10個までエンドポイントをサポート

 このAzure IoT Hubを経由して接続される先がAzure IoT Suiteとなっている。こちらは完全にクラウド側の話であり、提供されるサービスは以下の7つである。

  • Azure Event Hubs
  • Azure DocumentDB
  • Azure Stream Analytics
  • Azure Notification Hubs
  • Azure Machine Learning
  • Azure HDInsight
  • Microsoft Power BI

 これらは大体が、そもそもAzureのサービス(というかソリューション)として提供されるもののサブセットであるが、その分低価格で利用できるようになっている。要するに、これで足りなければ、本来のAzureのソリューションを利用しろ、ということであろう。

Copyright © ITmedia, Inc. All Rights Reserved.