マイクロソフトの太田寛氏と大田昌幸氏の二人が登壇し、まるで漫才のようなやり取りをしながら進んだ本セッション。「IoTは総合格闘技である」というユニークなタイトルをつけた理由について、太田(寛)氏が説明するところから、セッションは始まった。
IoTは総合格闘技である理由
IoTとは何か。組み込み系のイベントではセンシング技術関連、IT系だとビッグデータ関連の話が中心となることが多い。しかしマイクロソフトが捉えているIoTとは、「センサーや設備機器、装置などのモノがインターネットにつながり(コネクティビティ)、モノそのもの状況や置かれている環境などの情報(データ)が、人中心のシステムに蓄積されていく。そしてそのビッグデータをきちんと分析(アナリティクス)して価値を見つけ、新しいビジネスを立ち上げていくまでの全体像として捉えている」と太田氏は説明する。つまりIoTはデバイス(実世界)とサービス(クラウド、ビッグデータ、サーバ)、開発・運用・管理、データ活用、クライアント(利用者)という要素で構成されている、と太田氏は言うのである。
IoTの世界では従来のように、WebエンジニアがWebアプリケーションを作る、組み込み系エンジニアが組み込み系システムを作るという世界ではない。モノ、IT、クライアント、インフラ、セキュリティ、ハードウェア、デザインなどの技術要素が入ってくる。格闘技の世界で例えると、これまでのような打突系のみのボクシング、組み技のみの柔道というステージから、「総合格闘技のステージに参加するようなもの。だからこれまでのように打突だけ、組み技だけを練習していればよいというわけではない」と太田氏は説明をする。このような理由により、今回のセッションタイトル名が付けられたのである。
では実際に、WindowsでIoTのどんな開発ができるのか、太田(寛)氏から大田(昌)氏にバトンタッチしてデモが展開された。インテルの開発ボード「Galileo」を取り出し、Windowsが入ったmicroSDカードをGalileoに挿すところから実際に見せる大田(昌)氏。そして本人達も「こんな光景はマイクロソフトのセッションでは見られない」というようにブレッドボードを組み立てていくシーンをスクリーンに映し出していく。実際に見せるのは「IoTという言葉は良く聞くが、実際どうやって開発しているのか全体像が見えない。だからこういう形で開発していくんだということ紹介している」と大田(昌)氏はその理由を語る。実は大田(昌)氏はWeb屋。だからブレッドボードを組み立てるということには慣れていない。だが「開発ツールが揃っていればIoTは難しいモノではない」と言い切る。
それに相づちをうつように太田(寛)氏も「総合格闘技も、ちゃんとベースが整っていれば怖くない」と答える。ブレッドボードに赤外線センサーを取り付け、デバイスと大田(昌)氏の手との距離を測るプログラムを、開発用PCのVisual Studioで開発・ビルド後、Galileoに展開していく大田(昌)氏。配線をしながら開発していくことはWeb出身の大田氏には初めはしんどい作業だったという。しかしVisual Studioならそれも容易になる。Visual Studioで「Gadgeteer」というプロジェクトを選ぶのだ。
「何がいいかというとインストールしたデバイスの模型が表示されることに加え、どういう風に回路を組み立てていけばよいか推薦してくれること」と大田(昌)氏は説明を続ける。例えばインターネットにつなぎたいというのであれば、右クリックして「Connect all modules」とすると、自動的に適切なソケット位置を教えてくれるのだ。それにしたがって、あとはプログラムと配線を行っていくのである。
「IoTの猛者達と戦うために、空手三段目の人がケリを手に入れたという感じかな」という大田(昌)氏の言葉に対し、IoT猛者の太田(寛)氏は「これはまだ単独の技を習得しているだけ。組み手、つまりインターネットにつなぐことをしないと」と突っ込み。
というのもIoTにおける組み込み機器とクラウド(サーバ)間のデータの特徴は、データ長が比較的短いパケットを断続的に送受信することにある。そのような接続でも1対1の場合は問題なくほぼ行えるが、デバイスの数が増えると、取りこぼしやレイテンシーが問題となってくる、と太田(寛)氏はIoTで接続する場合の注意点を指摘する。それを解消する方法の一つとして、太田(寛)氏が紹介したのはAzureで提供されている「イベントハブ」というサービス。これを使えば大量のデータを効率よくクライアントに配信できるようになるという。