#cmdevio2016 (レポート: A-4) IoTのビジネスをデバイス・ゲートウェイから見てみる

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

DevelpersIO 2016のAトラックのぷらっとホーム株式会社の松下さまのセッション「IoTのビジネスをデバイス・ゲートウェイから見てみる」についてレポートします。

ご参加頂いた皆様、ありがとうございました。

概要

  • ビジネス:IoTビジネスの昨年からの展開
  • 通信:長距離通信可能な無線の規格
  • アプリ:1,000台のゲートウェイデバイスをセットアップ

の異なる3つのテーマを題材に、歴史に学ぶことの重大さが繰り返されました。

参加者の挙手を見る限りでは、参加者は2つ目、3つ目の技術的な側面よりは、1つ目のビジネス面に興味をお持ちのようでした。

iot-plathome-ma2shita-opening

IoTビジネス(2015年からの差分)

プレスリリースに「IoT」のキーワードを含めると株価が上がるほど、世間ではIoTは流行っています。IoTと縁遠そうな企業もIoTを名乗る時代です。実際のIoTプロジェクトではどういうことができているかというと、センシング結果をインターネットに送信出来る程度です。

  • IoTがどのように社会に役に立つのか
  • IoTでどうやって儲けるのか

については、まだ各社が手探りの状態です。

ガートナーのハイプサイクルでは

  • 黎明期
  • 過度な期待
  • 幻滅期
  • 啓蒙活動期
  • 生産性の安定性

というサイクルをたどります。

ハイプサイクルにおいて、IoTは2014年時点では過度な期待のピークに達しそうだったのが、2015年ではほぼピークに達しています

IoTをシステムをセンサー→ゲートウェイ→ネットワーク→クラウドと見立てた時、とりわけ、センサー(フィールドネットワーク)周りが手探りの状態で、今後のポイントになると思われます。

IoTシステムの基本構成

2015年のIoTと1995年のインターネットの類似性

センサーがインターネットに繋がりだした2015年のIoT事情は1995年のインターネット黎明期と類似しています。

IoTとインターネット黎明期の類似性

テクノロジー的に出揃ってきていますが、テクノロジー組み合わせてもなかなかビジネスは難しいと多くの企業が思っています。

IRCがSlackに置き換わったように、過去の技術を今の時代で焼き直すことで次のビジネスにつながることもあります。

歴史に学びましょう。

池袋で1,000mの距離を通信できる無線があるんです!

続いてテーマはサブGHz帯の無線通信に移ります。

サブGHz帯と2.4GHz帯の比較

920MHzを使った無線通信を一般に「サブギガ」と呼ばれ、2.4GHzと比べると以下の特徴を持っています。

メリット

  • 免許不要
  • 干渉が起きにくい
  • 通信距離が長い伝搬特性

デメリット

  • 通信時間や連続通信に制約あり(制約はモジュールに実装済で利用者側から意識することは無いことが多い)
  • スループットが低い(最大でも18Kbps)

920MHz帯の実際

2.4GHz(BLEなど)で諦めていたシステム構成も920MHz帯で実現出来ます。

障害物が何もない状態での見通し内通信の実験では中継器なしに8KMまでとび、一方で、通信速度が 477bps しか出なかったという報告があります。 都心部(池袋)での実験では、900Mまで飛び、通信速度が813bps まで出ました。

センサーからは基本的にはセンシング結果を送信するだけです。 通信速度が遅いという制約を理解した上で、転送量を軽減させるようにデータ設計すると、920MHz帯を効果的に使えます。

GWデバイス、1,000台セットアップどうする?

最後に、ゲートウェイへのデプロイにテーマが移ります。

スピーカーの松下さまはDevelopers.IO 2016のスポンサー「ぷらっとホーム株式会社」所属で、ぷらっとホームさまの本業はゲートウェイデバイスです。 ぷらっとホーム株式会社はゲートウェイデバイス屋さん

弊社でもOpenBlocksシリーズは様々な案件で活用しております。

  • パッケージ管理
  • デプロイ
  • 暗号ファイルシステム

といったオンプレ時代から培ってきた技術を、現代のサービス(SORACOM)と絡めることで、IoTゲートウェイ向けにアレンジします。ここでもキーワードは「歴史に学ぶ」です。

パッケージのアップデート

ばらまいた大量のゲートウェイに対してパッケージをアップデートするにはどうすればよいでしょうか?

SORACOM AirとAirのカスタムDNSを使ったソリューションが紹介されました。 カスタムDNS機能を使うと、SIMごとにDNSサーバーをカスタマイズ出来ます。

具体的は以下の手順となります。

  1. パッケージサーバを用意
  2. カスタムDNSでDNSサーバを指定し、上記サーバの名前を引けるようにする
  3. ゲートウェイからパッケージサーバを名前解決出来るならパッケージアップデート&アップデート完了後にカスタム
  4. DNSを解除

SORACOMカスタムDNSとapt-get

このようにすることで

  • ゲートウェイでのパッケージ更新タイミングをコントロールできる
  • キャシュ型のパッケージサーバ(Debian系の場合は apt-cacher-ngなど)にすることで、2台目以降は更新が高速になる

といったメリットがうまれます。

アプリケーションのアップデート

ばらまいた大量のゲートウェイに対してアプリケーションをアップデートするにはどうすればよいでしょうか?

プロビジョニングツールのAnsibleと先ほどのSORACOM カスタムDNSを使ったソリューションが紹介されました。

Ansibleは対象サーバに対してplaybookと呼ばれる設定に従ってデプロイします。今回のケースでは、外部からplaybookをダウンロードし、自分自身に対して ansible を実行します。

SORACOMカスタムDNSとansible

具体的は以下の手順となります。

  1. Ansibleサーバを用意
  2. カスタムDNSでDNSサーバを指定し、上記サーバの名前を引けるようにする
  3. ゲートウェイからAnsibleサーバを名前解決出来るなら、playbookをダウンロードしansible を実行してアプリケーションをアップデート

このようにすることで

  • ゲートウェイでのデプロイタイミングをコントロールできる
  • デプロイ内容を後からコントールできる

といったメリットがうまれます。

ゲートウェイの盗難

ゲートウェイは盗難のリスクがあります。 盗難そのものをソフトウェア的に防ぐのは難しいです。盗まれるリスクがあることを前提に、ゲートウェイの情報を守るにはどうすればよいでしょうか?

EncFSとSORACOM Airメタデータを使ったソリューションが紹介されました。 EncFSはFuseベースの暗号ファイルシステムで暗号・復号には共通鍵を利用します。

鍵の管理はどうすればよいでしょうか?

SORACOM Air のメタデータサービスを使うと、Air SIM を使用するデバイス自身から、Air SIM の情報を HTTP 経由で取得することができます。鍵をSORACOM Airのメタデータで管理し、curlなどでネットワーク経由で鍵を取得すれば、ゲートウェイは共通鍵をローカルファイルシステムで管理しなくてすみます。

$ encfs --extpass='curl -s http://metadata.soracom.io/v1/userdata' ~/.crypted ~/mnt

SORACOMメタデータ:空から、暗号化キー

盗難にあった時は、SORACOM管理画面からSIMを無効化すれば、ファイルシステムを復号する鍵は取得できなくなりますね。これでゲートウェイのデータも安心です。

詳細は次の記事をご確認ください。

暗号化ファイルシステム "EncFS" のパスフレーズにSORACOM Air メタデータサービスを使う - Qiita

身近なところから IoTをやってみよう

参加者の反応を見ても、IoTというキーワードを目にする機会は多くても、IoTで実際に何かやってみた方は少ないようです。

松下さまが本日の発表で使用したクリッカー(スライドをめくる機器)はTI CC2451 SensorTagです。

TI CC2541 SensorTag

 

詳細は次の記事をご確認ください。

TI SensorTagのボタンとGUIの暗黒面 ”SendKeys” とを組み合わせてプレゼンリモコンをつくる - Qiita

みなさまも身近な課題をIoTで解決してみてはいかがでしょうか?

まとめ

愚者は経験に学び 賢者は歴史に学ぶ

初代ドイツ帝国宰相 オットー・フォン・ビスマルク

Fools say they learn from experience; I prefer to learn from the experience of others.

Fools say they learn from experience; I prefer to learn from the experience of others.

補足資料

松下様の昨年のDevelopers.IO 2015発表資料