マイクロソフト「Azure IoT」の強みはやはり「Windows 10 IoT」にあり:IoT観測所(33)(2/3 ページ)
マイクロソフトのIoT向けクラウドサービス「Azure IoT」は、機能面ではアマゾンの「AWS IoT」と肩を並べている。しかし、Azure IoTの強みは、やはり組み込みOSである「Windows 10 IoT」との連携にこそある。
「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向けに強化したものだ。
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のソリューションを利用しろ、ということであろう。
関連キーワード
Microsoft Azure | Windows 10 IoT | Raspberry Pi | Windows 10 IoT Core | Arduino | IoT観測所 | Creators Update
Copyright © ITmedia, Inc. All Rights Reserved.