EclipseConでBenjamin Cabé氏がEclipseのマシン to マシン(m2m)プロジェクトを紹介した。(InfoQは以前に氏にインタビューしてM2Mプロジェクトの状況について話を聞いている)。
2011年、EclipseでM2Mのワーキンググループが立ち上がって以来、さまざまなモノのインターネット(Internet of Things,IoT)プロジェクトが成長してきた。そして、それらのプロジェクトを分類するためのトップレベルのM2Mプロジェクトを作ることが議論され、今年のはじめには少数のプロジェクトだけが残っていたが、その後の半年でM2Mプロジェクトのスコープが大きくなってきた。現時点(またはこれからの予定)では次のようなプロジェクトがある。
- 組み込み機器向けのLinux上で動くLuaベースのランタイムを提供するMihini。
- Luaベースの開発環境を提供するKoneki。Mihiniやその他のクラスのマシン向け。OMA-DMプロトコルのためのシュミレータもある。
- MQTTプロトコルに基づくクライアントを提供するPaho。MQTTは軽量なメッセージングベースのプロトコル(JMSに似ているがオーバヘッドが少なく、複数の言語に対応)で、目下、OASISで標準化中。また、オープンソースのMosquito MQTTブローカをEclipseへ移行するプロジェクトも行われている。
- ウェブベースの制御システムとハードウエアデバイス向けのさまざまなドライバ(InfoQのオーバビューも参照)を搭載した小型デバイス(Raspberry Piのような)向けランタイムEquinoxをベースにしたEclipse SmartHome。
- EquinoxのようなOSGiランタイムコンテナをベースにしたEclipse Kura。組み込み機器向けのOSGi実行環境を提供する。USBやBluetoothで通信して組み込み機器がほかのハードウエアサービスと連携することを可能にする。
- MQTTやCoAPのようなM2M向けプロトコルに統合されるRESTライブラリEclipse Ponte。Quest projectからのコントリビューション。
- 標準的なSCADAハードウエアデバイスの制御やデータ転送を可能にするライブラリEclipse SCADA。SNMP、Modbus、OPCのような低いレベルのプロトコルも提供する。
- デバイス間の相互運用を実現するライブラリセットを提供するEclipse Krikkit。JSONやRESTfulなエンドポイントを利用できる。
更なる情報はEclipse M2Mのページで確認できる。上で紹介したプロジェクトへのリンクもある。