2017.05.19

未来のIoT/WoT人材育成に向けた取り組み:IoT/WoT時代の開発環境

こんにちは。KDDI総合研究所の関口です。

私は現在オープンソースプロジェクトCHIRIMEN Open Hardwareでの活動を通して、IoT/WoTに関する技術開発や標準化と、その普及に取り組んでおります。
これからは、様々なモノがネットワークで繋がるIoT (Internet of Things)の世界が来ると言われています。その中でも特に、オープンなWeb技術を用いてモノ同士の連携を行っていくことはWoT (Web of Things)と呼ばれています。CHIRIMENとは組み込み向けボードコンピュータとその上で動作するソフトウェアを含めた開発環境で、LED、スイッチ、センサ、アクチュエータなど様々なデバイスをWebブラウザ技術のみで制御することができます。IoT/WoTやCHIRIMEN Open Hardwareについてはこちらもご覧下さい。

 

IoT/WoT時代の開発環境

現在、IoTに関する様々な技術開発が急ピッチで進められています。コンピュータや携帯電話がそうであったように、IoTの分野でも高速大容量なネットワークと高い処理能力を持ったコンピュータによってアプリケーションが構築される時代がやって来るでしょう。より広く普及するためには、誰もがアプリケーションを開発できるオープンプラットフォームと、利用者のフィードバックをすぐに取り入れられるアップデータビリティが必要だと思います。そしてそれは、Webブラウザのような存在だと私は考えています。
CHIRIMENは組み込みボードではあるものの、上記のWebブラウザの要素をそのまま兼ね備えています。CHIRIMENではハードウェア制御を含むIoT/WoTアプリケーションが純粋なWebアプリケーションとして動作します。これは、既存のオープンなWeb開発の環境がそのまま使用できるというだけでなく、IoT/WoTアプリケーションをWebサービスとして公開でき、URLにアクセスするだけで実行可能になることを意味します(もちろん、標準化の観点ではセキュリティなどの議論が必要になりますが)。さらに、Webサービスと同様のアップデータビリティを得ることになるので、デバイスがどこにあろうと、いくつあろうと、一斉にアップデートするということが可能になるのです。(herokuを用いた具体的な一例はこちら

 

WoTプログラミング環境の開発

今回、さらにアップデータビリティを良くし、簡単にアプリケーションの試行錯誤ができる環境として、ブラウザ上でリアルタイムにソースコードを編集・実行し、URLを共有している全員が共同でIoT/WoTアプリケーションを開発することができる開発環境を開発しました。この開発環境を使用すると、IoT/WoTアプリケーションのリモートプログラミングが可能になります。つまり、開発用のPCとCHIRIMENのブラウザ上で同じURLを開いておき、PCからソースコードを編集すると、編集内容がリアルタイムにCHIRIMENにも反映され動作させることができます。例えば、LEDの点滅間隔が早いなと思って数値を書き換える、サーボモータの角度がずれているなと思って数値を書き換える。するとすぐにそれらデバイスの動作が変化して、実際の動作を確かめながらアプリケーションを開発することができます。

関口1

WoTプログラミング環境の概要図

 

WoTプログラミング環境を使用した授業の実施

試行錯誤が簡単になることで、教育用途での活用も期待できます。実際に、WoTプログラミング環境を使用してCHIRIMENアプリケーションを開発する授業を、専門学校東京テクニカルカレッジさんの協力のもとで実施させて頂き、教育現場でも有効活用できることがわかりました。
ブラウザを立ち上げてURLにアクセスするだけで開発をスタートできるので、学生は授業開始から1時間足らずでLEDや物理スイッチを制御するサンプルプログラムを動作させ、これからどのようなことが学べるのかを理解していました。また、大人数を対象にした授業では、全員に十分なハードウェアを配布できない可能性があります。今回の授業でも、3、4名のグループで一つのハードウェアを共有しながら学習を進めていました。このような場合でも、グループで一つのURLを共有することで、全員がソースコードとハードウェア動作の変化を目で追いながらアプリケーションの開発を進めることができます。自然とグループ内で学生同士が教え合い、理解を深めていました。

関口2

自分のPC上でソースコードの変化を追いながらグループで開発する学生たち

 

プログラミング授業を実施する際の課題の一つに指導者不足が挙げられますが、これを解消するために、遠隔地にいるエンジニアからの指導を受けられる機能も備えました。授業毎にclassというまとまりを形成し、classに属する学生から質問が挙げられると、その内容を見たエンジニアがリモートから参加し、現在動作しているソースコードを閲覧、時に直接編集を加えながら指導を行うことができます。授業では、実際にCHIRIMEN Open Hardwareコミュニティのエンジニアの方々にリモートサポートをお願いし、学生はエンジニアとテキストチャットやソースコード編集を行いながらエラーの原因を解決していました。指導の結果、どのようにソースコードが書き換えられたかをその場で確認できるので、スムーズなコミュニケーションが取れていました。

関口3

ブラウザ上でエンジニアからリモートで指導を受けている

 

全6回の授業を実施させて頂き、後半には学生チームがそれぞれ作りたいアプリを開発するという自主制作期間を設けましたが、様々な面白いアプリが登場しました。写真は、カラーセンサで着ている服の色を読み込み、アクセントとなる色を提示するアプリケーションです。これまでの、文字やタッチ操作の入力だけでなく、着ている服の色という新しいインターフェースを使って情報を引き出している、とてもIoT/WoTらしいユースケースだと思います。

関口4

カラーセンサーで洋服のアクセントとなる色を指摘するアプリケーション

 

WoTプログラミング環境のオープンソース化

今回、授業でも使用したWoTプログラミング環境のソースコードを、MITライセンスのもとこちらに公開しました。Node.jsとMySQLを使用して簡単に環境を立ち上げられるようにしています。また、こちらにWoTプログラミング環境の試験環境を用意しているのでぜひ試してみてください。

※入力されたデータは個別のURLに紐付き保管されます。他者に見られる可能性がありますので、秘密情報や個人情報などは入力しないことをお薦めします。
※試験運用のため、予告なくサービスを停止、またはデータの削除を行う可能性があります。重要なデータはバックアップを取るようお願いいたします。本格的な開発プロジェクト等への利用を検討される場合、個別に環境構築を行うことをお勧めします。

2017年3月18、19日には、Web × IoT メイカーズハッカソンも開催され、CHIRIMENを活用した様々なアプリケーションが誕生しました。(ハッカソンの様子はこちら
今後もCHIRIMENに関わる様々な取り組みが予定されていますのでご注目ください。

CHIRIMEN webページ

 

謝辞

授業実施の場をご提供頂いた、専門学校東京テクニカルカレッジ 情報処理科の井坂 昭司氏、呉石 義明氏、授業にご参加頂いた同校の学生の皆様、遠隔指導にご協力頂いたグロースエクスパートナーズ株式会社の酒巻 瑞穂氏、CHIRIMEN Open Hardware コミュニティの木暮 晶彦氏に心より感謝いたします。

カテゴリ
タグ

KDDI株式会社 経営戦略本部
KDDI総合研究所

関口 直紀

新着記事
タグ
アーカイブ
カテゴリー
Contact
TOP