CodeZine(コードジン)

特集ページ一覧

【デブサミ2015】19-B-4 レポート
IoTは総合格闘技である ~組み込み、IT、インフラ、セキュリティ――幅広い知識の習得が不可欠

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/04/06 14:00

 最近、話題のキーワード「IoT(Internet of Things)」。IoTというとセンサー技術やビッグデータにフォーカスを当てて語られることが多いが、それはIoTの一部でしかない。モノがインターネットにつながり、データが蓄積され、そのビッグデータを分析してビジネスにつなげていくことまでが、IoTの全体像である。このようなIoTシステムの開発に携わっていくためには、これまでのような一つの技術に特化した技術者では務まらない。つまり格闘技に例えれば、ボクシングや空手の選手が、その他の技を身につけて総合格闘技に進むようなものである。IoTではどんな技術が必要なのか。どうやって身につけていけばよいのか。日本マイクロソフト テクニカル エバンジェリストの太田寛氏と大田昌幸氏がデモを交えながら、解説した。

目次
日本マイクロソフト テクニカル エバンジェリスト 太田 寛氏
日本マイクロソフト テクニカル エバンジェリスト 太田 寛氏
日本マイクロソフト テクニカル エバンジェリスト 大田 昌幸氏
日本マイクロソフト テクニカル エバンジェリスト 大田 昌幸氏

 マイクロソフトの太田寛氏と大田昌幸氏の二人が登壇し、まるで漫才のようなやり取りをしながら進んだ本セッション。「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」とすると、自動的に適切なソケット位置を教えてくれるのだ。それにしたがって、あとはプログラムと配線を行っていくのである。

参考画像:.NET Gadgeteer(日本マイクロソフト提供)
参考画像:.NET Gadgeteer(日本マイクロソフト提供)

 「IoTの猛者達と戦うために、空手三段目の人がケリを手に入れたという感じかな」という大田(昌)氏の言葉に対し、IoT猛者の太田(寛)氏は「これはまだ単独の技を習得しているだけ。組み手、つまりインターネットにつなぐことをしないと」と突っ込み。

 というのもIoTにおける組み込み機器とクラウド(サーバ)間のデータの特徴は、データ長が比較的短いパケットを断続的に送受信することにある。そのような接続でも1対1の場合は問題なくほぼ行えるが、デバイスの数が増えると、取りこぼしやレイテンシーが問題となってくる、と太田(寛)氏はIoTで接続する場合の注意点を指摘する。それを解消する方法の一つとして、太田(寛)氏が紹介したのはAzureで提供されている「イベントハブ」というサービス。これを使えば大量のデータを効率よくクライアントに配信できるようになるという。

IoTの構成要素
IoTの構成要素

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

バックナンバー

連載:【デブサミ2015】セッションレポート

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5