異なるネットワークを接続する部分はゲートウェイと呼ばれています。そのうちの一つがクラウド(インターネット)とデバイス用ネットワークの接続部分にあるIoTゲートウェイです。この部分は、スマートハウスにおいては(例外はあるものの)主に家電メーカーが握ってきました。スマートハウス用IoTゲートウェイは現在数万円で売られているものがほとんどで、その中身はユーザーからは隠されているのが普通です。
ビルオートメーションやファクトリーオートメーションにおいてもデバイス同士をつなぐゲートウェイの役割を果たす部品が存在し数十万から数百万円で売られています。 この業界では初期投資額が大きいため価格帯が大きく異なっていますが機能的に大きく異なっているわけではありません。ビジネスの形態とサポート体制が異なっているのです。
IoTゲートウェイというのは重要なパーツではありますが、基本的にデータを相互に交換する接点にすぎないので、それ自体が大きな価値を生み出すわけではありません。またこの部分をビジネスにすることによって、接続する機器にビジネス的・政治的な制約が発生することになって、相互接続性を失わせることになります。さらに、この部分のソフトウェアの開発がクローズに行われることによってバグの発見が遅れ、長期的にユーザーに対して利益をもたらさないことは明白でしょう。
必然的に、IoTゲートウェイとはオープンソース、かつ無料であるべきで、また誰でも容易に入手できる汎用のハードウェアの上で動くべきだという結論が導かれます。これがPicoGWの開発動機です。
PicoGWとは
PicoGWとは、神奈川工科大学 HEMS認証支援センター、大和ハウス工業、ソニーコンピュータサイエンス研究所によって開発されている、Node.jsベースのオープンソースIoTゲートウェイです。大和ハウスが2011年から開発してきた住宅API 及び Sony CSLが同時期から開発してきたKadecotの 流れを汲む最新のIoTゲートウェイで、インストールは非常に容易になっています。PicoGWのアーキテクチャと実装は極めて優れたハッカーであった池田聡氏(Koozyt社)の手によるものであり、非常に洗練され、高品質で安定動作するようになっています。
基本的な機能はEchonet Liteに代表されるIoT機器や設備機器などのデバイス依存プロトコルをHTTP RESTやWebSocket, MQTTからアクセスできるようにするためのもので、各種Webサービスとデバイスの連携が容易になります。本体に加えてプラグインを追加インストールすることで、より多くのプロトコルに対応させることができます。非公開のものも多いのですが、BACnetやModbus, Sony MESHやNextdrive Cube-Jのセンサーなどのプラグインが存在しています。対応デバイスを増やすためだけではなく、GoogleドライブやFirebaseなどのクラウドにつなぐことも、プラグインを導入することで可能になります。MQTT機能を利用すれば、AWS等さらに多くのクラウドサービスと連携させることができます。自分でプラグインを開発することも容易です。
動作のために高価なハードウェアは必要なく、Node.jsが動作する環境、例えばRaspberry PiやArmadillo IoT, OpenBlocks IoTなどLinuxベースのシステムはもちろん、MacOSやWindows(Windows Subsystem for Linuxを使用)、あるいはAndroidアプリであるTermuxの中にインストールして用いることも可能で、いずれも安定に動作しています。FreeBSDでも動作したとの報告がありますが、当方で確認はしていません。
PicoGWのクラウド連携をするプラグインとしてNanoGWというものがあり、研究目的でも利用されています。