マイクロソフトは、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の主な強化ポイントを挙げてみよう。
このAzure IoT Hubを経由して接続される先がAzure IoT Suiteとなっている。こちらは完全にクラウド側の話であり、提供されるサービスは以下の7つである。
これらは大体が、そもそもAzureのサービス(というかソリューション)として提供されるもののサブセットであるが、その分低価格で利用できるようになっている。要するに、これで足りなければ、本来のAzureのソリューションを利用しろ、ということであろう。
Copyright © ITmedia, Inc. All Rights Reserved.