|
近年、IT業界に何らかの形で関わっている方であれば、「モノのインターネット」(IoT)という言葉を耳にしたことがあるでしょう。著名な調査会社ガートナーによると、IoTは技術成熟サイクルのピークにあり、多くの人が期待を寄せているものの、まだ大きな進展は見られません。2009年にはインターネットに接続されたデバイスの数は10億台未満でしたが、ガートナーは2020年までにIoTデバイスの設置数は260億台に達し、メーカーやサービスプロバイダーに3,000億ドルの収益をもたらし、世界経済に1兆9,000億ドルの影響を与えると予測しています。
簡単に言えば、モノのインターネット(IoT)とは、スマートデバイスを用いてデータを収集し、インターネットを介して他のデバイスに送信することです。これはマシン・ツー・マシン(M2M)技術と密接に関連しています。「モノのインターネット」という概念自体は以前から存在していましたが、1999年にケビン・アシュトン氏がプロクター・アンド・ギャンブル(P&G)の社員だった頃に初めて使用されました。 それ以来、モノのインターネット(IoT)の概念は急速かつ広範囲に普及しました。ARMが実施した調査によると、企業の75%以上が既に何らかの形でIoTを活用しているか、活用方法を検討していることがわかりました。回答者の96%は2016年までにIoTを活用すると予想しています。 モノのインターネット(IoT)への強い関心は、その計り知れない可能性に起因しています。2006年の記事で、アシュトン氏は次のように述べています。「もし万能のコンピューターが、人間の介入なしに収集したデータを活用すれば、あらゆるものを追跡・分析し、廃棄物、消耗、コストを大幅に削減できます。デバイスが新品か劣化しているかに関わらず、交換、メンテナンス、リコールが必要な時期を把握できるでしょう。」そして、「IoTは、インターネットと同様に、あるいはそれ以上に、世界を変える可能性を秘めています。」と結論付けています。 IoT技術と標準規格に関する初期の取り組みは、主にオープンソースコミュニティ内で行われました。本稿では、現在活発に開発が進められている注目すべきオープンソースIoTプロジェクトをいくつかご紹介します。本稿で紹介するオープンソースプロジェクトは主にソフトウェアに重点を置いていますが、多くのオープンソースハードウェアプロジェクトも紹介しており、その多くは愛好家向けに低価格で提供されています。 いつものように、リストに追加すべき他の項目があると思われる場合は、遠慮なくコメントを残してください。 開発ツール 1. アルドゥイーノ Arduinoは、インタラクティブな電子機器のためのハードウェア仕様であると同時に、統合開発環境(IDE)とArduinoプログラミング言語を含むソフトウェアスイートでもあります。公式ウェブサイトでは、Arduinoは「一般的なデスクトップコンピュータよりも物理世界を感知・制御する能力の高いコンピュータを構築するためのツール」と説明されています。Arduinoを開発する団体は、幅広いボード、スターターキット、ロボット、関連製品を販売しており、多くの組織がArduinoを使用して独自のIoT関連ハードウェアおよびソフトウェア製品を開発しています。 関連ウェブサイト: http://www.arduino.cc/ 2. Eclipse IoTプロジェクト Eclipseは、モノのインターネット(IoT)に関連する様々なプロジェクトを支援しています。これらのプロジェクトには、アプリケーションフレームワークとサービス、MQTT CoAP、OMA-DM、OMA LWM2Mなどのオープンソース技術を用いて実装されたIoTプロトコル、そしてEclipseがIoTに最適なプログラミング言語として強く推奨するLuaを扱うためのツールなどが含まれます。Eclipse関連のプロジェクトには、Mihini、Koneki、Pahoなどがあります。公式ウェブサイトでは、ツールを試すためのサンドボックス環境とオンラインデモも提供されています。 関連ウェブサイト: http://iot.eclipse.org/ 3. キノマ Marvellが所有するKinomaソフトウェアプラットフォームは、3つの異なるオープンソースプロジェクトで構成されています。Kimona Createは、電子機器のプロトタイプ作成のためのDIYビルドツールキットです。Kimona Studioは、CreateおよびKinoma Platform Runtimeと連携して動作する開発環境です。Kimona Connectは、スマートフォンやタブレットをIoTデバイスに接続するための無料のiOSおよびAndroidアプリケーションです。 関連ウェブサイト: http://www.marvell.com/kinoma/ 4. M2MLabs メインスプリング Mainspringは、リモート監視、フリート管理、スマートグリッドなどのM2M(マシンツーマシン)アプリケーション開発用に設計されたオープンソースフレームワークです。柔軟なデバイスモデリング、デバイス構成、デバイスとアプリケーション間の通信、データの検証と正規化、長期データ保存、データ取得などの機能を備えています。JavaとApache Cassandra NoSQLデータベースをベースとしています。 関連ウェブサイト: http://www.m2mlabs.com/framework 5. ノードレッド Node.jsをベースに構築されたNode-REDは、「モノのインターネット(IoT)を接続するためのビジュアルツール」と自称しています。開発者はブラウザベースのワークフローエディタを使用して、多数のデバイス、サービス、API(アプリケーション・プログラミング・インターフェース)を接続できます。Raspberry Pi上で動作し、6万種類以上のテンプレートが用意されており、機能を拡張できます。 関連ウェブサイト: http://nodered.org/ ハードウェアセクション 6. Arduino ユン このマイクロコントローラは、Arduinoベースのボードの使いやすさとLinuxの使い勝手を兼ね備えています。ATmega32u4(Arduino用)とAtheros AR9331(Linux用)の2つのプロセッサを搭載しています。その他の機能としては、ワイヤレス接続、イーサネットサポート、USBポート、microSDカードスロット、3つのリセットボタンなどがあります。Arduinoのウェブサイトからご購入いただけます。 関連ウェブサイト: http://arduino.cc/en/Main/ArduinoBoardYun?from=Main.ArduinoYUN 7. ビーグルボード BeagleBoardは、AndroidとLinuxを搭載したクレジットカードサイズのコンピュータです。消費電力が非常に低いため、IoTデバイスに最適です。ハードウェア設計とソフトウェアはどちらもオープンソースで、BeagleBoardハードウェア(多くの場合、BeagleBoneというブランド名で販売されています)は多くの販売代理店から入手できます。 関連ウェブサイト: http://beagleboard.org/ 8. フラッター Flutterは長距離伝送で知られています。このArduinoベースのボードは、800メートルを超える範囲をカバーする無線送信機を搭載しています。さらに、ルーターは不要で、Flutterボード同士が直接通信できます。256ビットAES暗号化を採用しており、使い方も簡単です。ハードウェアとソフトウェアは完全にオープンソースで、基本ボードの価格はわずか20ドルです。 関連ウェブサイト: http://www.flutterwireless.com/ 9. ローカルモーターズ コネクテッドカー Local Motorsは、小規模なオープンソース自動車ソリューションを専門とする自動車メーカーです。IBMと提携してIoTコネクテッドカーを開発し、今夏の展示会で公開しました。プロトタイプのオープンソースソフトウェアと設計仕様の大部分は、以下のリンクからダウンロードできます。 関連ウェブサイト: https://localmotors.com/awest/connected-car-project-internet-of-things/ 10. マイクロドゥイノ Microduinoは、その名の通り、Arduinoと互換性のある超小型ボードを提供しています。これらのボードはコインほどの大きさで、積み重ねることで新しい製品を作ることができます。すべてのハードウェア設計はオープンソースで、コアモジュールはそれぞれわずか8ドルから購入できます。資金調達はKickstarterキャンペーンで行われ、134,563ドルが集まりました。 関連ウェブサイト: http://www.microduino.cc/ 11. オープンピカス この企業は、デバイスをクラウドやモノのインターネット(IoT)に接続するための、幅広いプログラマブルモジュールとキットを提供しています。ハードウェアとプラットフォームはオープンソースですが、その製品はクローズドソースの商用製品の製造にも利用可能です。また、レンタル開発サービスも提供しています。 関連ウェブサイト: http://www.openpicus.com/ 12. ピノッチョ Pinnoccioボード(同社では「Scouts」と呼んでいます)はArduinoと互換性があり、低消費電力のメッシュネットワークで相互接続できます。ボードには充電式バッテリーが内蔵されており、ソーラーパネルやUSB電源に接続できます。また、ボードの動作を監視するためのGUIとして、Pinnoccio HQとScoutScriptも提供しています。ScoutScriptは、デバイスを制御するための使いやすいスクリプト言語です。スターターキットの価格は197ドルです。 関連ウェブサイト: https://pinocc.io/ 13. ラスウィック Cisecoという会社が開発したRasWIKは、Raspberry Pi Wireless Inventors Kitの略です。Raspberry Piをお持ちの方なら誰でも、独自のワイヤレスネットワーク接続デバイスを自作することができます。29種類のプロジェクトに関するドキュメントが付属しており、ご自身でドキュメントを作成することもできます。デバイスは無料ではありませんが、付属のコードはすべてオープンソースです。もちろん、ご希望であれば商用製品の開発にもご利用いただけます。 関連ウェブサイト: http://shop.ciseco.co.uk/raswik/ 14. ソダック SADAQは「Solar Powered Data Acquisition(太陽光発電によるデータ収集)」の略です。Arduino互換ボードとレゴ風のプラグインモジュールを提供しています。公式サイトには多数のチュートリアルが用意されており、初心者にも最適です。ソーラーパネルを搭載しているため、電気やインターネット接続が利用できない場所でも環境データを記録できます。基本ボードの価格は39ドルからです。 関連ウェブサイト: http://www.sodaq.net/ 15. テッセル Tesselは、あらゆるUSBポートに接続できるJavaScript対応マイクロコントローラによって、ソフトウェア開発者のハードウェア開発を容易にすることを目指しています。また、追加モジュールを接続することで、方位センサー、環境光と音、カメラ、Bluetooth、GPSなど、9つの機能を追加することも可能です。ボードとモジュール単体の価格は99ドルからで、追加モジュールは25ドルで購入できます。すべてのハードウェアとソフトウェアの設計は完全にオープンソースです。 関連ウェブサイト: https://tessel.io/ 16. ウドゥー このArduino互換ボードは、セカンドプロセッサからAndroidまたはLinux(UDOObuntuと呼ばれるディストリビューション)も実行できます。Raspberry Piの4倍の性能を誇ります。公式サイトには多数のチュートリアルとプロジェクトが掲載されているほか、ユーザーが作品を展示できるオンラインの「Made by UDOOers」セクションもあります。基本ボードの価格は99ドルからです。 関連ウェブサイト: http://www.udoo.org/ ホームオートメーションソフトウェア 17. オープンハブ OpenHABは、家庭内の既存のスマートデバイスを相互に接続することを可能にします。ベンダーやハードウェアに依存せず、Java対応システムであればどこでも動作します。OpenHABの目標の一つは、ユーザーがデバイスに新しい機能を追加し、新しい方法でデバイスを組み合わせられるようにすることです。OpenHABは数々の賞を受賞しており、my.openHABというクラウドコンピューティングサービスも提供しています。 関連ウェブサイト: http://www.openhab.org/ 18. シングシステム このプロジェクトには、ソフトウェアコンポーネントとネットワークプロトコルが含まれています。家庭内のインターネット接続デバイスをすべて検出し、統合して制御できるようにします。Nestサーモスタット、Samsungスマートエアコンシステム、Insteon LED電球、Roku、Google Chromecast、Pebbleスマートウォッチ、Gojiスマートロックなど、幅広いデバイスをサポートしています。Node.jsで記述されており、Raspberry Piにインストールできます。 関連ウェブサイト: http://thethingsystem.com/index.html ミドルウェア 19. IoTSyS このIoTミドルウェアは、スマートデバイス向けの通信スタックを提供します。IPv6、oBIX、6LoWPAN、Constrained Application Protocol、効率的なXML交換など、複数の標準規格とプロトコルをサポートしています。公式ウェブサイトには、実際の動作を解説する複数のビデオが掲載されています。 関連ウェブサイト: https://code.google.com/p/iotsys/ 20. オープンIoT OpenIoTのウェブサイトでは、このプロジェクトは「センサークラウドから情報を取得するためのオープンソースミドルウェアであり、どのセンサーが使用されているかを気にする必要がなくなる」と説明されています。クラウドベースの「サービスとしてのセンシング」を実現することを目指しており、スマート農業、スマート製造、都市クラスターセンシング、スマートリビング、スマートキャンパスなど、数多くのユースケースを開発しています。支援機関には、アテネ情報技術研究所(AIT)、スイス連邦工科大学ローザンヌ校(EPFL)、フラウンホーファー光電子システム技術・画像処理研究所、SENSAP Microsystems AE、AcrossLimits、英国連邦科学産業研究機構(CSIRO)、ザグレブ大学電気工学・コンピュータサイエンス学部、アイルランド国立大学ゴールウェイ校などが含まれます。 関連ウェブサイト: http://openiot.eu/ オペレーティングシステムセクション 21. オールジョイン このモノのインターネット(IoT)向けオープンソースオペレーティングシステムは、当初はQualcommによって開発され、現在は最も権威のあるIoT組織の一つであるAllSeen Allianceによってサポートされています。AllSeen Allianceのメンバーには、Linux Foundation、Microsoft、LG、Qualcomm、シャープ、パナソニック、シスコ、シマンテックなど、多くの有名企業が含まれています。メーカーが互換性のあるデバイスを開発するためのフレームワークとサービススイートが含まれています。クロスプラットフォームで、Android、iOS、OS X、Linux、Windows 7用のAPIを備えています。 関連ウェブサイト: https://allseenalliance.org/developer-resources/alljoyn-open-source-project 22. コンティキ Contikiは「モノのインターネット(IoT)向けのオープンソースオペレーティングシステム」を自称しています。低消費電力マイクロコントローラをインターネットに接続し、IPv6、6lowpan、RPL、CoAPなどの標準規格をサポートしています。その他の主な機能としては、効率的なメモリ割り当て、オールIPネットワーク、超低消費電力、動的なモジュールローディングなどが挙げられます。サポートされているハードウェアプラットフォームには、Redwire Econotags、Zolteria z1モジュール、STMicroelectronics開発キット、Texas Instrumentsチップおよびボードなどがあります。有償の商用サポートも利用可能です。 関連ウェブサイト: http://www.contiki-os.org/ 23. ラズビアン Raspberry Piはもともと教育用デバイスとして開発されましたが、多くの開発者がこのクレジットカードサイズのコンピューターをモノのインターネット(IoT)プロジェクトに活用し始めています。ハードウェアの仕様は完全にはオープンソースではありませんが、ソフトウェアとドキュメントの大部分はオープンソースです。Raspbianは、Raspberry Piでよく使われるオペレーティングシステムで、DebianベースのLinuxディストリビューションです。 関連ウェブサイト: http://raspbian.org/ 24. 暴動 RIOTは「IoT向けのユーザーフレンドリーなオペレーティングシステム」と謳われています。FeuerWhereプロジェクトから派生したRIOSは、2013年に初めて登場しました。開発者フレンドリーでありながら、リソースフレンドリー(つまり、消費リソースが少ない)であることを目指しています。MSP430、ARM7、Cortex-M0、Cortex-M3、Cortex-M4、そして標準的なx86 PCなど、複数のアーキテクチャをサポートしています。 関連ウェブサイト: http://riot-os.org/ 25. スパーク Sparkはクラウドベースの分散型IoTオペレーティングシステムです。同社は、使いやすいハードウェア開発キットと関連製品も提供しており、価格はわずか39ドルからとなっています(ハードウェア設計もオープンソースです)。WebベースのIDE、コマンドラインインターフェース、複数言語のサポート、そして様々なIoTデバイスと互換性のあるコードベースが含まれています。非常に活発なユーザーコミュニティがあり、充実したドキュメントとオンラインヘルプも提供されています。 関連ウェブサイト: https://www.spark.io/ 監視セクション 26. フリーボード Freeboardは、ユーザーが導入済みのIoTデバイスを監視するための独自のダッシュボードを作成できるようにすることを目的としています。コードはGitHubで無料で公開されており、ダッシュボードを公開すれば無料でサービスを試すこともできます。データのプライバシーを確保したい方には、低価格のオプションもご用意しています。ウェブサイトに掲載されているサンプルダッシュボードでは、空気質、家庭用電化製品、醸造所の稼働状況、加湿器内の環境条件などを追跡する方法をご覧いただけます。 関連ウェブサイト: http://freeboard.io/ 印刷セクション 27. エキサイティングなプリンター Excitingは、IoTプリンティングを体験できるオープンソースツールキットを提供しています。これを使えば、自分だけの小型プリンターを作り、様々なIoTデバイスから情報を印刷することができます。例えば、毎日のリマインダーや天気予報を印刷できます。興味深いことに、プロジェクトリーダーに連絡を取りたい場合は、パターンを描くだけで、そのオフィスにあるIoTプリンターで印刷できます。 関連ウェブサイト: http://exciting.io/printer/ プラットフォームと統合ツール 28. デバイスハイブ このプロジェクトは、デバイスをモノのインターネット(IoT)に接続するためのマシンツーマシン(M2M)通信フレームワークを提供します。ネットワークの構築、セキュリティルールの適用、デバイスの監視を行うための、使いやすいWebベースの管理ソフトウェアが含まれています。公式ウェブサイトでは、DeviceHubで作成されたサンプルプロジェクトが公開されているほか、「Playground」セクションも設けられており、ユーザーはオンラインでDeviceHubを操作し、その動作を確認できます。 関連ウェブサイト: http://www.devicehive.com/ 29. デバイスハブ Devicehub.netは、「モノのインターネット(IoT)のためのオープンソースの礎」と自称しています。このクラウドベースのサービスは、IoT関連データを保存・可視化し、ユーザーがWebブラウザからIoTデバイスを制御できるようにします。開発者はこのサービスを利用して、健康情報の追跡、子供の位置情報の監視、家電製品の自動管理、車両データの追跡、天気の監視など、数多くのアプリケーションを開発しています。 関連ウェブサイト: http://devicehub.net/dev/api#summary 30. IoTツールキット このプロジェクトを運営する組織は、複数のIoT関連センサーネットワークとプロトコルを統合するためのツールスイートを開発しています。主なプロジェクトはスマートオブジェクトAPIですが、HTTP-CoAPセマンティックマッピングプロキシシステム(組み込みソフトウェアエージェントなどのコンポーネントを含むアプリケーションフレームワーク)も開発しています。また、シリコンバレーで開催されるミートアップを支援し、IoT開発に関心を持つ人々のネットワーキングを促進しています。 関連ウェブサイト: http://iot-toolkit.com/ 31. マンゴー Mangoは「世界で最も人気のあるオープンソースのマシンツーマシン(M2M)ソフトウェア」を自称しています。Webベースで、複数のプラットフォームをサポートしています。主な機能としては、複数の言語とデータベースのサポート、メタポイント、ユーザー定義イベント、インポート/エクスポートなどがあります。 関連ウェブサイト: 32. ニンビット Nimbitsは、タイムスタンプ付きデータやジオスタンプ付きデータなど、特定の種類のデータを保存・処理できます。パブリックなPaaS(Platform as a Service)として提供されており、ソフトウェアをダウンロードしてGoogle App Engine、Amazon EC2上の任意のJ2EEサーバー、またはRaspberry Piにデプロイすることも可能です。Arduino、JavaScript、HTML、Nimbits.io Javaライブラリなど、複数のプログラミング言語をサポートしています。 関連ウェブサイト: http://forum.infiniteautomation.com/ 33. オープンリモート OpenRemoteは、家庭で活動する愛好家、インテグレーター、販売代理店、そしてメーカー向けに、4つの異なる統合ツールを提供しています。数十種類の既存プロトコルをサポートしており、ユーザーは想像し得るあらゆるタイプのスマートデバイスを作成し、Java対応デバイスから制御することができます。このプラットフォームはオープンソースですが、設計と製品開発プロセスを支援するためのサポートサービス、電子書籍、その他のツールも提供しています。 関連ウェブサイト: http://www.openremote.com/ 34. サイトの場所 このプロジェクトは、IoTデバイスの管理、データ収集、そしてそれらのデータを外部システムと統合するための包括的なプラットフォームを提供します。SiteWhereディストリビューションはダウンロード可能で、Amazonクラウドでも利用可能です。また、MongoDBやApache HBaseといった様々なビッグデータツールとも連携可能です。 関連ウェブサイト: http://www.sitewhere.org/ 35. シングスピーク ThingSpeakはHTTPリクエストを処理し、データを保存・処理できます。このオープンデータプラットフォームの主な機能は、オープンAPI、リアルタイムデータ収集、位置情報データ、データ処理と可視化、デバイスステータスメッセージ、プラグインなどです。Arduino、Raspberry Pi、ioBridge/RealTime.io、Electric Imp、モバイルアプリケーションやインターネットアプリケーション、ソーシャルネットワーク、MATLABデータ分析ツールなど、様々なハードウェアおよびソフトウェアプラットフォームと統合できます。オープンソース版に加え、マネージド版も提供しています。 関連ウェブサイト: https://thingspeak.com/ |