Your SlideShare is downloading. ×
0
Copyright © 2015 TIS Inc. All rights reserved.
IoT時代のデバイスクラスタ
- Hashicorp consulを用いたIntel Edisonクラスタの構成 -
2015年7月26日
TIS株式...
Copyright © 2015 TIS Inc. All rights reserved. 2
松井 暢之(まつい のぶゆき)
TIS株式会社 戦略技術センター
~2003
2003~2008
2009
2010~2012
2013~
201...
Copyright © 2015 TIS Inc. All rights reserved.
Agenda
1. IoT市場の急拡大
2. fog & cloud
3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ
...
Copyright © 2015 TIS Inc. All rights reserved.
そもそも「IoT」とはなんだ?
 いま一歩イメージがわかない。結局「IoT」とは具体的に何だろう?
4
Question! by Stefan Ba...
Copyright © 2015 TIS Inc. All rights reserved.
「IoT」市場の急拡大
 なんだかよくわからないが、「IoT」市場は急拡大するようだ。
 IoT業界で生み出される収益の予測
 2020年には最...
Copyright © 2015 TIS Inc. All rights reserved.
「IoT」市場の急拡大
 なんだかよくわからないが、「IoT」市場は急拡大するようだ。
 相互接続されるデバイス数の予測
 2020年には最大で...
Copyright © 2015 TIS Inc. All rights reserved.
「IoT」市場の急拡大
 なんだかよくわからないが、「IoT」市場は急拡大するようだ。
 接続されるデバイス数の内訳の予測
 2018年には、相...
Copyright © 2015 TIS Inc. All rights reserved.
デバイスが接続されていれば「IoT」なのだろうか?
 「M2M」と「IoT」は同じ?違う?
8
Question! by Stefan Baudy,...
Copyright © 2015 TIS Inc. All rights reserved.
「IoT」とは(個人的見解)
 個人的には「IoT」を以下のように捉えている。
9
ヒトやモノが相互連携して
営まれる現実世界の活動を
「データ」と...
Copyright © 2015 TIS Inc. All rights reserved.
「IoT」とは(個人的見解)
10
 個人的には「IoT」を以下のようには捉えていない。
 モノをインターネットにつなげばIoTである?
 つな...
Copyright © 2015 TIS Inc. All rights reserved.
「IoT」と「IoE」
 シスコは「人」「プロセス」「データ」「モノ」をつなぐことで新た
な価値を生み出すことを、「Internet of Ever...
Copyright © 2015 TIS Inc. All rights reserved.
「IoT」と「IoE」
 モノの接続とデータ活用という「IoT(狭義のIoT)」と、より
広範囲に接続して価値を創造する「IoE(広義のIoT)」(...
Copyright © 2015 TIS Inc. All rights reserved.
Agenda
1. IoT市場の急拡大
2. fog & cloud
3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ
...
Copyright © 2015 TIS Inc. All rights reserved.
インターネットトラフィックの急拡大
 グローバルなIPトラフィック量は年平均23%で急拡大し、2019年に
は2014年の2.8倍となる160EB/...
Copyright © 2015 TIS Inc. All rights reserved.
IoTのセキュリティリスク
 現実世界に近いIoTがハッキングを受けると、直接的で深刻な被害が
発生する可能性がある。例えば以下のような事例が報告さ...
Copyright © 2015 TIS Inc. All rights reserved.
fog computing
 「IoT」全体の中で、ヒトやモノに近い場所(エッジ)で行う処理と
クラウドで行う処理を分割し、それらが分散協調して動作...
Copyright © 2015 TIS Inc. All rights reserved.
fogの特徴とcloudとの役割分担
 雲の向こうの(多分土地と電気が安い)どこかにあるcloudではなく、
fogはヒトやモノに近い「その場」にあ...
Copyright © 2015 TIS Inc. All rights reserved.
Agenda
1. IoT市場の急拡大
2. fog & cloud
3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ
...
Copyright © 2015 TIS Inc. All rights reserved.
 fog : EdisonとRaspberry Piを用いたIoTデバイスクラスタ
 cloud : IBM Bluemix
fogとcloudの...
Copyright © 2015 TIS Inc. All rights reserved.
 日常生活において「点いているけれど見ていないテレビ」に費やされ
ている時間を可視化するアプリである。
 カラーチャートによってテレビの視聴状態が...
Copyright © 2015 TIS Inc. All rights reserved.
 クラウドのデータ分析ロジックが「テレビは点いているけれど集中し
て見ていない」と判断すると、自動的にテレビが消える。
 この機能は有効化/無効化...
Copyright © 2015 TIS Inc. All rights reserved. 22
Wasted energy of TVの動作 テレビ試聴状況の送信
Copyright © 2015 TIS Inc. All rights reserved.
 赤外線リモコンを用いてテレビをONにする。
 赤外線センサーがリモコンの赤外線パルスを傍受しテレビの
ON/OFFを捉える。
テレビ試聴状況の送...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ試聴状況の送信
 赤外線パルスを認識する赤外線センサーと、現在の認識状態を
表示するLED(テレビがONだと認識していると点灯)。
24
赤外...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ試聴状況の送信
 赤外線センサーがうまく認識できない場合に用いる、強制的にテレビ
のON/OFF認識を変更するスイッチ。
25
強制スイッチ
Copyright © 2015 TIS Inc. All rights reserved.
 テレビを見る。
 USBカメラの画像を解析し、テレビに顔の正面が向いていれば
「テレビを見ている」と判断。
テレビ試聴状況の送信
26
USBカ...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ試聴状況の送信
 テレビを見ているかを認識するためのUSBカメラ。
27
顔認識を行う
USBカメラ
Copyright © 2015 TIS Inc. All rights reserved.
テレビ試聴状況の送信
 現在テレビを見ているかを表示するLED(テレビを見ていると認識し
ていると点灯)。
28
テレビの視聴状態
認識表示LED
Copyright © 2015 TIS Inc. All rights reserved.
 現在の状態をクラウドへ送る。
 定期的にテレビのON/OFFをチェックし、テレビが点いていれば
顔認識の情報をクラウドへpublishする。
I...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ試聴状況の送信
 現在データを送信中かを表示するLED(データ送信中は点滅)。
30
データ送信
表示LED
Copyright © 2015 TIS Inc. All rights reserved.
 IoTデバイスクラスタから受信した情報を蓄積する。
 IoT Foundationがsubscribeした情報をMongoDBに蓄積する。
Mo...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ試聴状況の送信
 Wasted energy of TVのIoTデバイスクラスタの動画
 https://youtu.be/RDPD21L8...
Copyright © 2015 TIS Inc. All rights reserved. 33
Wasted energy of TVの動作 テレビ試聴状況の可視化
Copyright © 2015 TIS Inc. All rights reserved.
 テレビの視聴状況を可視化する。
 ブラウザからGUIアプリにアクセスし、指定した日付
のテレビ視聴状況を可視化する。
テレビ試聴状況の可視化
3...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ試聴状況の可視化
 テレビの視聴状況を可視化する。
 http://wasted-energy-of-tv-gui.mybluemix.ne...
Copyright © 2015 TIS Inc. All rights reserved. 36
Wasted energy of TVの動作 テレビ自動OFF
Copyright © 2015 TIS Inc. All rights reserved.
 テレビ自動OFFを登録する。
 ブラウザからGUIアプリにアクセスし、テレビの
自動OFFを登録する。
テレビ自動OFF
37
IBM Blue...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ自動OFF
 テレビ自動OFFを登録する。
 「Change」リンクをクリックすると、テレビ自動OFF機能の
登録画面が表示される。
 初...
Copyright © 2015 TIS Inc. All rights reserved.
テレビ自動OFF
 テレビ自動OFFを登録する。
 テレビ自動OFFを無効化する場合、トグルボタンをOFFにする。
 テレビ自動OFFを有効化す...
Copyright © 2015 TIS Inc. All rights reserved.
 テレビが自動で消える。
 テレビ自動OFFが有効の場合、テレビが点いており、かつ設定さ
れた時間連続してテレビを見てないと、cloud
からイベ...
Copyright © 2015 TIS Inc. All rights reserved.
 テレビが自動で消える。
 IoTデバイスクラスタがイベントを受信すると、赤外線LEDから
赤外線パルスが照射され、テレビが自動的に
OFFになる...
Copyright © 2015 TIS Inc. All rights reserved.
 「テレビを見る」というヒトとモノの相互作用をfogでデータ化し、
cloudで分析して現実世界へフィードバックすることで、次のような
価値が生まれ...
Copyright © 2015 TIS Inc. All rights reserved.
現在のWasted energy of TVの課題
 セキュリティが全く考慮されていない!
 GUIに認証認可を付けていないため、現時点では私の部...
Copyright © 2015 TIS Inc. All rights reserved.
Agenda
1. IoT市場の急拡大
2. fog & cloud
3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ
...
Copyright © 2015 TIS Inc. All rights reserved.
 Wi-Fiメッシュネットワーク
 Consulクラスタ
 MQTTプロトコル
Wasted energy of TVの fog に関する技術要...
Copyright © 2015 TIS Inc. All rights reserved.
Wasted energy of TVのプロトコルスタック
 Wasted energy of TVは、以下のようなプロトコルスタックで動作
してい...
Copyright © 2015 TIS Inc. All rights reserved.
メッシュネットワークとは
47
ノード間のデータや音声のルーティングの一種。故障などで使えなくなった経路が
発生しても継続的に接続・再構成を繰り返し、...
Copyright © 2015 TIS Inc. All rights reserved.
Wi-Fiメッシュネットワークのメリット
 普通のWi-Fiチップが利用できる。
 Edisonに内蔵されているWi-Fiだけで利用できる。
 ...
Copyright © 2015 TIS Inc. All rights reserved.
Wi-Fiメッシュネットワークのデメリット
 Edisonのデフォルトカーネルでは利用できない。
 カーネルの再構築が必要な場合がある。
 ht...
Copyright © 2015 TIS Inc. All rights reserved.
これからのIoTのプロトコルスタック
 電力消費を極力押さえ、かつメッシュネットワークを実現する以下の
ようなプロトコルが着目されている。
50
L...
Copyright © 2015 TIS Inc. All rights reserved.
Consulとは
 Hashicorp社が提供するオーケストレーションツール
 運用の自律化に有用な多数の機能を提供
 ノードやサービスの死活管...
Copyright © 2015 TIS Inc. All rights reserved.
メッシュネットワークとConsulを併用するメリット
 IoTデバイスへの導入が簡単
 Go 1.4以上があれば、簡単に動作させることができる。
...
Copyright © 2015 TIS Inc. All rights reserved.
Consulを利用するライブラリ
 プログラミング言語ごとにConsulを利用するライブラリが準備され
ているので、簡単に利用できる。
53
imp...
Copyright © 2015 TIS Inc. All rights reserved.
MQTTとは
54
A machine-to-machine (M2M)/"Internet of Things" connectivity prot...
Copyright © 2015 TIS Inc. All rights reserved.
MQTTを利用するメリット
 ブローカーを仲立ちにしたpublish/subscribe型の
プロトコルのため、クライアント間を疎結合にできる。
...
Copyright © 2015 TIS Inc. All rights reserved.
MQTTを利用するライブラリ
 プログラミング言語ごとにMQTTを利用するライブラリが準備されて
いるので、簡単に利用できる。
56
import ...
Copyright © 2015 TIS Inc. All rights reserved.
Agenda
1. IoT市場の急拡大
2. fog & cloud
3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ
...
Copyright © 2015 TIS Inc. All rights reserved.
まとめ
 なんだかよくわからないけれど、今後「IoT」は流行るらしい。
 「IoT」は明確に定義された言葉ではないが、「ヒトとモノをつない
で得ら...
Copyright © 2015 TIS Inc. All rights reserved.
ソースコードなど
 Wasted energy of TVのソースコードはgithubで公開中。
 https://github.com/nmat...
Jtf2015 edison consul_cluster
Upcoming SlideShare
Loading in...5
×

Jtf2015 edison consul_cluster

482

Published on

【JTF 2015】IoT時代のデバイスクラスタ - Hashicorp consulを用いたIntel Edisonクラスタの構成 -

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
482
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Jtf2015 edison consul_cluster"

  1. 1. Copyright © 2015 TIS Inc. All rights reserved. IoT時代のデバイスクラスタ - Hashicorp consulを用いたIntel Edisonクラスタの構成 - 2015年7月26日 TIS株式会社 戦略技術センター 松井暢之
  2. 2. Copyright © 2015 TIS Inc. All rights reserved. 2 松井 暢之(まつい のぶゆき) TIS株式会社 戦略技術センター ~2003 2003~2008 2009 2010~2012 2013~ 2015~ 現場PJでアーキテクト兼モデラー兼プログラマ兼…を歴任 基盤技術センター(現戦略技術センター)で不芳PJの火消しに奔走 全社生産性向上の企画策定に従事 オープンでエッジな技術を活用した事業企画に従事 Cloud Orchestrator “CloudConductor®” の企画開発とOSS化開始 IoTオーケストレーション関連の研究開発を開始 http://cloudconductor.org nbyk.matsui nmatsui nbyk.matsui@n_matsui
  3. 3. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 3
  4. 4. Copyright © 2015 TIS Inc. All rights reserved. そもそも「IoT」とはなんだ?  いま一歩イメージがわかない。結局「IoT」とは具体的に何だろう? 4 Question! by Stefan Baudy, on Flickr 一意に識別可能な「もの」がインターネット/クラウドに接続され、情報交換する ことにより相互に制御する仕組みである。 「Internet of Everything」や「Smart Everything」、「サービスのモノ化」 ともいう。 モノのインターネット(Internet of Things、IoT) 出展:ウィキペディア , https://ja.wikipedia.org/wiki/モノのインターネット
  5. 5. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」市場の急拡大  なんだかよくわからないが、「IoT」市場は急拡大するようだ。  IoT業界で生み出される収益の予測  2020年には最大で7兆ドル(IDC)の収益がIoT市場で生み出される 5 出展:IoT Analytics, "IoT Market – Forecasts at a glance“, 2014-10, http://iot-analytics.com/iot-market-forecasts-overview/
  6. 6. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」市場の急拡大  なんだかよくわからないが、「IoT」市場は急拡大するようだ。  相互接続されるデバイス数の予測  2020年には最大で500億個(CiscoやEricsson)のデバイスが 相互に接続される 6 出展:IoT Analytics, "IoT Market – Forecasts at a glance“, 2014-10, http://iot-analytics.com/iot-market-forecasts-overview/
  7. 7. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」市場の急拡大  なんだかよくわからないが、「IoT」市場は急拡大するようだ。  接続されるデバイス数の内訳の予測  2018年には、相互接続されるデバイスのうち半分程度は「IoT」 (BI Intelligence) 7 出展:Business Insider, "THE INTERNET OF EVERYTHING: 2014 “, 2014-02, http://www.businessinsider.com.au/the-internet-of-everything-2014-slide-deck-sai-2014-2
  8. 8. Copyright © 2015 TIS Inc. All rights reserved. デバイスが接続されていれば「IoT」なのだろうか?  「M2M」と「IoT」は同じ?違う? 8 Question! by Stefan Baudy, on Flickr コンピュータネットワークに繋がれた機械同士が人間を介在せずに相互に情報交換し、 自動的に最適な制御が行われるシステムを指す。 マシンツーマネジメント(Machine-to-Management)とも呼ばれる。 マシンツーマシン(Machine-to-Machine、M2M) 出展:ウィキペディア , https://ja.wikipedia.org/wiki/マシンツーマシン
  9. 9. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」とは(個人的見解)  個人的には「IoT」を以下のように捉えている。 9 ヒトやモノが相互連携して 営まれる現実世界の活動を 「データ」として映し出し、 様々な種類の「データ」を 組み合わせて分析・学習し、 得られた知見を現実世界へ フィードバックすることで、 現実世界の活動へ新たな 価値を生み出すこと。 IoTとは 現実世界 データ 分析・学習 現実世界へフィードバック
  10. 10. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」とは(個人的見解) 10  個人的には「IoT」を以下のようには捉えていない。  モノをインターネットにつなげばIoTである?  つないだだけでは意味が無いし、ヒトやモノが相互に連携してデータ を収集できるのであれば、すべてのモノを直接インターネットに接続 しなくても良い。  IoTとはセンサーから得た情報を機械にフィードバックして無人 運転することである?  センサーと機械をつないでフィードバックするだけではもったいない。 ヒトの行動やソーシャルの情報など、センサーだけでは得られない 様々なデータも組み合わせて新たな価値を提供することが肝心。
  11. 11. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」と「IoE」  シスコは「人」「プロセス」「データ」「モノ」をつなぐことで新た な価値を生み出すことを、「Internet of Everything」と呼んでいる。 11 出展:第15回 八子クラウド座談会, シスコシステムズ合同会社 シスココンサルティングサービス シニアパートナー 八子知礼, “IoE(Internet of Everything)元年2014 ~新設シスココンサルティングサービスが創る新クラウドビジネス~“, 2014-12, http://www.slideshare.net/tomokyun85/yako-presen-141213
  12. 12. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」と「IoE」  モノの接続とデータ活用という「IoT(狭義のIoT)」と、より 広範囲に接続して価値を創造する「IoE(広義のIoT)」(by シスコ) 12 出展:第15回 八子クラウド座談会, シスコシステムズ合同会社 シスココンサルティングサービス シニアパートナー 八子知礼, “IoE(Internet of Everything)元年2014 ~新設シスココンサルティングサービスが創る新クラウドビジネス~“, 2014-12, http://www.slideshare.net/tomokyun85/yako-presen-141213
  13. 13. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 13
  14. 14. Copyright © 2015 TIS Inc. All rights reserved. インターネットトラフィックの急拡大  グローバルなIPトラフィック量は年平均23%で急拡大し、2019年に は2014年の2.8倍となる160EB/月と予測されている。 14 出展:Cisco, " Cisco VNI Global IP Traffic Forecast, 2014–2019“, 2015-03, http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/VNI_Hyperconnectivity_WP.pdf
  15. 15. Copyright © 2015 TIS Inc. All rights reserved. IoTのセキュリティリスク  現実世界に近いIoTがハッキングを受けると、直接的で深刻な被害が 発生する可能性がある。例えば以下のような事例が報告されている。  シャワートイレを遠隔操作するBluetoothアプリに脆弱性がある というセキュリティアドバイザリが公表された(2013.08)  ベビーモニターがクラックされ、子どもや夫婦に暴言を吐く男の 声が聞こえた(2013.08)  テレビや冷蔵庫等のスマート家電がクラッキングを受け、大量の 不正メールを送信する「Thingbots」化した(2014.01)  ハッキングコンテストで、動作中の電気自動車のドアやサンルー フを遠隔開閉できた(2014.07) 15 出展:Proofpoint, "More than 750,000 Phishing and SPAM emails Launched from "Thingbots" Including Televisions, Fridge“, 2014-01, https://www.proofpoint.com/us/proofpoint-uncovers-internet-things-iot-cyberattack 出展:Trustwave, “Trustwave SpiderLabs Security Advisory TWSL2013-020: Hard-Coded Bluetooth PIN Vulnerability in LIXIL Satis Toilet“, 2014-01, https://www.trustwave.com/spiderlabs/advisories/TWSL2013-020.txt 出展:CNN, “Foul-mouthed hacker hijacks baby‘s monitor“, 2013-08, http://edition.cnn.com/2013/08/14/tech/web/hacked-baby-monitor/ 出展:ESET, "Tesla Model S hacked to open doors while in motion “, 2014-07, http://www.welivesecurity.com/2014/07/23/tesla-model-s-hacked-open-doors-motion/
  16. 16. Copyright © 2015 TIS Inc. All rights reserved. fog computing  「IoT」全体の中で、ヒトやモノに近い場所(エッジ)で行う処理と クラウドで行う処理を分割し、それらが分散協調して動作する仕組み  fog computingの概念はシスコシステムズ発祥 16 A distributed computing infrastructure in which some application services are handled at the network edge in a smart device and some application services are handled in the cloud. fog computing(fogging) 出展:WhatIs.com, http://whatis.techtarget.com/definition/fog-computing-fogging designed by Freepik.com fog cloud
  17. 17. Copyright © 2015 TIS Inc. All rights reserved. fogの特徴とcloudとの役割分担  雲の向こうの(多分土地と電気が安い)どこかにあるcloudではなく、 fogはヒトやモノに近い「その場」にある。  リアルタイム性が重要な処理はfogで行い、大量データの蓄積や 分析・学習はcloudで行う。  fogの中だけで完結できる、完結すべき処理はfogで行い、帯域や セキュリティ的に必要なデータのみをcloudと送受信する。  広く点在し移動するヒトやモノが動的にfogに参加し、cloudからの メンテナンスが無くてもfogが自律的に最適動作する。  fogに参加するヒトやモノの死活状態や、fog内やcloudとの通信 の正当性をfog自体が自律的にチェックし、不正なヒトやモノを 排除する。 17 After the rain - 2 by Randi Hausken on Flickr
  18. 18. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 18
  19. 19. Copyright © 2015 TIS Inc. All rights reserved.  fog : EdisonとRaspberry Piを用いたIoTデバイスクラスタ  cloud : IBM Bluemix fogとcloudのプロトタイプ ~ Wasted energy of TV ~ 19 MongoDB Intel Edison Intel Edison Intel Edison Raspberry Pi B+ USBカメラ Internet 赤外線 リモコン IoT Foundation Local Network Wi-Fi Mesh Network Internet Gateway Internet Gateway Network fog Node-REDアプリ Consul Cluster赤外線センサー 赤外線LED Webブラウザ テレビ cloud GUIアプリ
  20. 20. Copyright © 2015 TIS Inc. All rights reserved.  日常生活において「点いているけれど見ていないテレビ」に費やされ ている時間を可視化するアプリである。  カラーチャートによってテレビの視聴状態が可視化される。  赤色に近ければ近い時間ほど、集中してテレビを見ている  青色に近ければ近い時間ほど、テレビに視線を向けていない  灰色の時間は、テレビが点いていない Wasted energy of TVとは 20
  21. 21. Copyright © 2015 TIS Inc. All rights reserved.  クラウドのデータ分析ロジックが「テレビは点いているけれど集中し て見ていない」と判断すると、自動的にテレビが消える。  この機能は有効化/無効化することができる。  有効化した場合、テレビがONかつテレビを見ていない状態が設定 した時間(分)以上連続すると、自動的にテレビがOFFになる。 Wasted energy of TVとは 21
  22. 22. Copyright © 2015 TIS Inc. All rights reserved. 22 Wasted energy of TVの動作 テレビ試聴状況の送信
  23. 23. Copyright © 2015 TIS Inc. All rights reserved.  赤外線リモコンを用いてテレビをONにする。  赤外線センサーがリモコンの赤外線パルスを傍受しテレビの ON/OFFを捉える。 テレビ試聴状況の送信 23 赤外線 リモコン Local Network Wi-Fi Mesh Network Consul Cluster赤外線センサー ① 赤外線センサーが テレビのONを認識する ② Consul KVSへテレビ がONであることを登録 テレビ fog cloud Intel Edison Raspberry Pi B+
  24. 24. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  赤外線パルスを認識する赤外線センサーと、現在の認識状態を 表示するLED(テレビがONだと認識していると点灯)。 24 赤外線センサー テレビON/OFF 認識表示LED
  25. 25. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  赤外線センサーがうまく認識できない場合に用いる、強制的にテレビ のON/OFF認識を変更するスイッチ。 25 強制スイッチ
  26. 26. Copyright © 2015 TIS Inc. All rights reserved.  テレビを見る。  USBカメラの画像を解析し、テレビに顔の正面が向いていれば 「テレビを見ている」と判断。 テレビ試聴状況の送信 26 USBカメラ Wi-Fi Mesh Network Consul Cluster ② Consul KVSへテレビが 見られていることを登録 ① USBカメラの映像フレームを解析し、 「正面の顔」の有無を認識する テレビ fog cloud Intel Edison
  27. 27. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  テレビを見ているかを認識するためのUSBカメラ。 27 顔認識を行う USBカメラ
  28. 28. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  現在テレビを見ているかを表示するLED(テレビを見ていると認識し ていると点灯)。 28 テレビの視聴状態 認識表示LED
  29. 29. Copyright © 2015 TIS Inc. All rights reserved.  現在の状態をクラウドへ送る。  定期的にテレビのON/OFFをチェックし、テレビが点いていれば 顔認識の情報をクラウドへpublishする。 IoT Foundation テレビ試聴状況の送信 29 Internet Wi-Fi Mesh Network Internet Gateway Internet Gateway Network Consul Cluster ② テレビがONであれば、正面顔の 認識状態をMQTTでpublishする ① Consul KVSからテレビのON/OFF と正面顔の認識状態を取得する ③ IoTデバイスクラスタからのpublish された情報をsubscribeする fog cloud Intel Edison
  30. 30. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  現在データを送信中かを表示するLED(データ送信中は点滅)。 30 データ送信 表示LED
  31. 31. Copyright © 2015 TIS Inc. All rights reserved.  IoTデバイスクラスタから受信した情報を蓄積する。  IoT Foundationがsubscribeした情報をMongoDBに蓄積する。 MongoDB IoT Foundation Node-REDアプリ テレビ試聴状況の送信 31 ② IoT Foundationから送られてた 情報をMongoDBに蓄積する ① subscribeした情報をNode-RED アプリへ転送する fog cloud
  32. 32. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  Wasted energy of TVのIoTデバイスクラスタの動画  https://youtu.be/RDPD21L8voM 32
  33. 33. Copyright © 2015 TIS Inc. All rights reserved. 33 Wasted energy of TVの動作 テレビ試聴状況の可視化
  34. 34. Copyright © 2015 TIS Inc. All rights reserved.  テレビの視聴状況を可視化する。  ブラウザからGUIアプリにアクセスし、指定した日付 のテレビ視聴状況を可視化する。 テレビ試聴状況の可視化 34 IBM Bluemix MongoDB Node-REDアプリ GUIアプリ Webブラウザ ① GUIアプリのNginxから HTMLやJS等を取得 ② AJAXを用いてNode-RED アプリのREST APIから情報取得 fog cloud
  35. 35. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の可視化  テレビの視聴状況を可視化する。  http://wasted-energy-of-tv-gui.mybluemix.net/  赤色に近ければ近いほど、集中してテレビを見ている。  青色に近ければ近いほど、テレビに視線を向けていない。  灰色はテレビが点いていない。 35 集中してテレビを見ている ほとんどテレビを見ていない テレビを見たり見なかったり テレビが点いてない
  36. 36. Copyright © 2015 TIS Inc. All rights reserved. 36 Wasted energy of TVの動作 テレビ自動OFF
  37. 37. Copyright © 2015 TIS Inc. All rights reserved.  テレビ自動OFFを登録する。  ブラウザからGUIアプリにアクセスし、テレビの 自動OFFを登録する。 テレビ自動OFF 37 IBM Bluemix MongoDB Node-REDアプリ GUIアプリ Webブラウザ ① AJAXを用いてNode-RED アプリのREST APIから登録 fog cloud
  38. 38. Copyright © 2015 TIS Inc. All rights reserved. テレビ自動OFF  テレビ自動OFFを登録する。  「Change」リンクをクリックすると、テレビ自動OFF機能の 登録画面が表示される。  初期値として現在の登録状況が設定されている。 38
  39. 39. Copyright © 2015 TIS Inc. All rights reserved. テレビ自動OFF  テレビ自動OFFを登録する。  テレビ自動OFFを無効化する場合、トグルボタンをOFFにする。  テレビ自動OFFを有効化する場合、トグルボタンをONにして、 テキストボックスに自動OFFになるまでの時間(分)を入力する。 39
  40. 40. Copyright © 2015 TIS Inc. All rights reserved.  テレビが自動で消える。  テレビ自動OFFが有効の場合、テレビが点いており、かつ設定さ れた時間連続してテレビを見てないと、cloud からイベントが送出される。 テレビ自動OFF 40 MongoDB Node-REDアプリ IoT Foundation ① MongoDBに蓄積されている情報 を定期的にチェック ② テレビが点いているのに、設定された 時間連続してテレビを見ていなければ、 IoT Foundationへイベントを送出を依頼 fog cloud
  41. 41. Copyright © 2015 TIS Inc. All rights reserved.  テレビが自動で消える。  IoTデバイスクラスタがイベントを受信すると、赤外線LEDから 赤外線パルスが照射され、テレビが自動的に OFFになる。 テレビ自動OFF 41 Internet IoT Foundation Internet Gateway テレビ Local Network Wi-Fi Mesh Network Internet Gateway Network Consul Cluster 赤外線LED ① MQTTでsubscribeしている イベントの受信を検知 ② Consul Clusterへ イベントを発火 ③ watchしているイベントが 発生したことを検知 ④ 赤外線LEDから登録済みの 赤外線パルスを発信 fog cloud Intel Edison Intel Edison Raspberry Pi B+
  42. 42. Copyright © 2015 TIS Inc. All rights reserved.  「テレビを見る」というヒトとモノの相互作用をfogでデータ化し、 cloudで分析して現実世界へフィードバックすることで、次のような 価値が生まれる。  テレビを見ていたつもりでもテレビに集中しておらず、無駄に費 やしてしまった時間に気づくことで、生活にメリハリがつく。  集中してテレビを見ていないならばテレビが消えてしまうため、 家庭での無駄な電力消費を削減できる。 Wasted energy of TVが生み出す価値 42Psssst!! I'm watching you... by ..::Fluckr You::.. on Flickr
  43. 43. Copyright © 2015 TIS Inc. All rights reserved. 現在のWasted energy of TVの課題  セキュリティが全く考慮されていない!  GUIに認証認可を付けていないため、現時点では私の部屋の テレビを誰でも自動OFFにできます。。。(笑  fogとcloud間で送受信されるMQTTパケットも、ユーザ認証は しているものの平文なので盗聴・詐称し放題。。。  cloudでのデータ分析が甘い!  過去の同じ曜日の視聴データ、同じ日の視聴データ、などを分析 学習すれば、「テレビを点けたようですが、どうせあなた、今の 時間はテレビ見てないでしょ?」とcloudが言ってくれたり?  複数人での利用は考慮されていない!  似たような傾向の人がテレビを見ていれば、「あなたこの番組、 好きそうですよね」とcloudが点けてくれたり? 43
  44. 44. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 44
  45. 45. Copyright © 2015 TIS Inc. All rights reserved.  Wi-Fiメッシュネットワーク  Consulクラスタ  MQTTプロトコル Wasted energy of TVの fog に関する技術要素 45 Internet IoT Foundation Wi-Fi Mesh Network Internet Gateway fog Consul Cluster cloud MQTT Protocol Intel Edison Intel Edison Intel Edison Raspberry Pi B+
  46. 46. Copyright © 2015 TIS Inc. All rights reserved. Wasted energy of TVのプロトコルスタック  Wasted energy of TVは、以下のようなプロトコルスタックで動作 している。 46 Layer1: Physical Layer2: Data Link Layer3: Network Layer4: Transport Layer5: Session Layer6: Presentation Layer7: Application MAC LLC IEEE 802.2 IP(v4、v6)、ICMP RIP、OSPF等 IEEE 802.3 Ethernet IEEE 802.11 Wireless LAN (Infrastructure) TCP、UDP、SCTP等 HTTP、FTP、SMTP等 OSI参照モデル 有線LAN 無線LAN IEEE 802.2 IP(v4とv6) B.A.T.M.A.N.-adv IEEE 802.11 Wireless LAN (ad-hoc) TCP MQTT HTTP Gossip 一般的なプロトコルスタック 今回利用したプロトコルスタック クラウドとの通信 ConsulのREST API操作 ConsulのNode間通信 メッシュネットワーク用 ルーティングプロトコル の一種 Consulについては 15:15~17:00に H40でハンズオンが 行われます
  47. 47. Copyright © 2015 TIS Inc. All rights reserved. メッシュネットワークとは 47 ノード間のデータや音声のルーティングの一種。故障などで使えなくなった経路が 発生しても継続的に接続・再構成を繰り返し、送信先に達するまでノードから ノードへ転送を行う。 メッシュネットワークの最大の特徴は、各ノードがトラフィックを転送する 「ホップ (hop)」という動作をする点で、それによって各ノードから任意の ノードへ接続する。 メッシュネットワークには自己修復性がある。1つのノードがダウンしたり、 1つの接続が不良となっても、ネットワーク全体は運用可能である。 結果として、非常に信頼性の高いネットワークとなる。 メッシュネットワーク(mesh network) 出展:ウィキペディア , https://ja.wikipedia.org/wiki/メッシュネットワーク Ad-hocなWi-Fi上でメッシュネットワークを動作させれば 各IoTデバイスがパケットをバケツリレーしてくれるため、 電波が直接届かないIoTデバイスとも通信が可能となる。
  48. 48. Copyright © 2015 TIS Inc. All rights reserved. Wi-Fiメッシュネットワークのメリット  普通のWi-Fiチップが利用できる。  Edisonに内蔵されているWi-Fiだけで利用できる。  IPスタックが利用できる。  Zigbee等のセンサーネットワーク規格とは異なり、IPスタック用 に作られたミドルウェアやノウハウをそのまま利用できる。  Wi-Fiアクセスポイントの設置が必要ない。  電波が届く距離に別のIoTデバイスがあれば、バケツリレーです べてのIoTデバイスと連携することができる。  ネットワーク的な単一障害点が無いように実装できる。  メッシュネットワークとクラスタのヘルスチェック機構を連携さ せることで、ネットワーク的な単一障害点を無くすことができる。 48
  49. 49. Copyright © 2015 TIS Inc. All rights reserved. Wi-Fiメッシュネットワークのデメリット  Edisonのデフォルトカーネルでは利用できない。  カーネルの再構築が必要な場合がある。  http://qiita.com/nmatsui/items/cb7020929654a128cf84 を参 照  IoTデバイスの電力を消費する。  IoTデバイスは通常、無線通信をしていないときは無線モジュー ルへの給電を停止するが、メッシュネットワークがパケットをバ ケツリレーしなければならないため、常時電力を消費してしまう。  障害時のメンテナンスが大変。  IoTデバイスクラスタ内でのパケット経路が静的に特定できない ので、何かあった場合に追跡するのが大変。  メッシュルーティングプロトコルは研究余地が多い。  通常のルーティングよりも帯域をうまく活用できない(らしい)。49
  50. 50. Copyright © 2015 TIS Inc. All rights reserved. これからのIoTのプロトコルスタック  電力消費を極力押さえ、かつメッシュネットワークを実現する以下の ようなプロトコルが着目されている。 50 Layer1: Physical Layer2: Data Link Layer3: Network Layer4: Transport Layer5: Session Layer6: Presentation Layer7: Application MAC LLC OSI参照モデル IEEE 802.2 IP(v4とv6) B.A.T.M.A.N.-adv IEEE 802.11 Wireless LAN (ad-hoc) TCP MQTT HTTP Gossip 今回利用したプロトコルスタック 6LowPAN [2] RPL [3] IEEE 802.15.4 [1] WPAN TCP、UDP HTTP、CoAP等 低消費電力なプロトコルスタック [1] IEEE 802.15.4 : Zigbeeなどで利用されている近距離無線通信規格。伝送速度は速くないが消費電力が少ない [2] 6LowPAN(IPv6 over Low power Wireless Personal Area Networks):IETFが策定中のIPv6を用いる低消費電力の無線技術 [3] RPL(IPv6 Routing Protocol for Low power and Lossy Networks):IETFが策定中のIPv6上でマルチホップルーティングを実現する技術
  51. 51. Copyright © 2015 TIS Inc. All rights reserved. Consulとは  Hashicorp社が提供するオーケストレーションツール  運用の自律化に有用な多数の機能を提供  ノードやサービスの死活管理  障害や環境構成の変化、外部から発火させたイベント等に応じた 処理の自動実行  分散KVSや分散DNSなど  単一障害点が無く、リーダーノードがダウンした場合は生存して いるノードが自動的に処理を引き継ぐ  Go言語で開発されており、OSを問わずどの環境でもバイナリを 一つ置くだけで実行可能なため、導入が簡単  2014年4月に提供開始 51
  52. 52. Copyright © 2015 TIS Inc. All rights reserved. メッシュネットワークとConsulを併用するメリット  IoTデバイスへの導入が簡単  Go 1.4以上があれば、簡単に動作させることができる。 (Edisonであれば、x86 32bit用バイナリを置けば良いだけ)  IoTデバイスの障害時に、fogに自律的な対処を行わせることができる。  IoTデバイスに障害が起きた場合、生きている他のIoTデバイスが障 害を検知して、fogとして適切に動作するように自律的な対処を行 うことができる。  fog内での情報共有が簡単に行える。  Consul KVSを利用すれば、IoTデバイス間で簡単に情報共有できる。  fogへ到達するイベントに対するアクションを簡単に定義できる。  Consulのユーザーイベントを用いることで、適切なIoTデバイスが 自律的にイベントに対応することができる。 52
  53. 53. Copyright © 2015 TIS Inc. All rights reserved. Consulを利用するライブラリ  プログラミング言語ごとにConsulを利用するライブラリが準備され ているので、簡単に利用できる。 53 import consul … class ConsulWrapper(object): FACEDETECT_KEY = "face_detected" POWERDETECT_KEY = "power_detected" LASTPOWERTIME_KEY = "last_power_time" POWER_EVENT = "power" def __init__(self): self.c = consul.Consul() self.errcount = 0 def kv_put(self, key, value): def _f(): return self.c.kv.put(key, str(value)) self.__retry(_f) def kv_get(self, key): def _f(): return self.c.kv.get(key) i, v = self.__retry(_f) return v def ev_fire(self, event): def _f(): return self.c.event.fire(event) self.__retry(_f) def __retry(self, f): # Consulに接続できなかった場合のリトライ処理 class WatchRatePublisher(object): … def __init__(self, bluemix): self.consul = cw.ConsulWrapper() def check_state(self): while True: face = self.consul.kv_get(cw.ConsulWrapper.FACEDETECT_KEY) power = self.consul.kv_get(cw.ConsulWrapper.POWERDETECT_KEY) class NotifySubscriber(object): … def __init__(self, bluemix): self.consul = cw.ConsulWrapper() def notify(self): def callback(msg): self.consul.ev_fire(cw.ConsulWrapper.POWER_EVENT) self.bluemix.notify(NotifySubscriber.TOPIC, callback) class FaceDetector(object): … def __init__(self, cascade_file_name): self.consul = cw.ConsulWrapper() def __notify_detect(self, num_of_faces): if num_of_faces == 0: self.consul.kv_put(cw.ConsulWrapper.FACEDETECT_KEY, False) else: self.consul.kv_put(cw.ConsulWrapper.FACEDETECT_KEY, True)
  54. 54. Copyright © 2015 TIS Inc. All rights reserved. MQTTとは 54 A machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. MQTT 出展:MQTT.org, http://mqtt.org/ MQTT Broker MQTT Client publish(TOPIC) message MQTT Client subscribe(TOPIC) message delivery MQTT Client subscribe(TOPIC) message delivery
  55. 55. Copyright © 2015 TIS Inc. All rights reserved. MQTTを利用するメリット  ブローカーを仲立ちにしたpublish/subscribe型の プロトコルのため、クライアント間を疎結合にできる。  ヘッダが小さく(固定長ヘッダは2バイト)プロトコル自体が軽いため、 小さなデータを大量に送る場合は効果が大きい。  クライアントが異常切断した場合、指定しておいた「Last Will & Testament(遺言状)」メッセージが送られる。  クライアントから送ったメッセージのQoSを定義できる。  QoS0 At most once:ベストエフォート。消失や重複の可能性あり。  QoS1 At least once:必ず到着するが、重複の可能性あり。  QoS2 Exactly once:必ず1回到着することを保証。  クライアントが異常切断していた間のQoS1,2のメッセージを再配信 してくれる。 55
  56. 56. Copyright © 2015 TIS Inc. All rights reserved. MQTTを利用するライブラリ  プログラミング言語ごとにMQTTを利用するライブラリが準備されて いるので、簡単に利用できる。 56 import paho.mqtt.client as paho class BluemixWrapper(object): def __init__(self, conf): self.mqttc = paho.Client(client_name) self.mqttc.username_pw_set(USER, token) def notify(self, topic, func): def on_connect(client, userdata, flags, rc): client.subscribe(topic) def on_message(client, userdata, msg): func(str(msg.payload)) self.mqttc.on_connect = on_connect self.mqttc.on_message = on_message def publish(self, topic, msg): self.mqttc.publish(topic, msg) def connect(self): self.mqttc.connect(self.url, PORT, 60) self.mqttc.loop_start() class NotifySubscriber(object): TOPIC = "iot-2/cmd/notify/fmt/json" def __init__(self, bluemix): self.bluemix = bluemix def notify(self): def callback(msg): self.consul.ev_fire(cw.ConsulWrapper.POWER_EVENT) self.bluemix.notify(NotifySubscriber.TOPIC, callback) class WatchRatePublisher(object): TOPIC = "iot-2/evt/status/fmt/json" def __init__(self, bluemix): self.bluemix = bluemix def __publish(self, msg): self.bluemix.publish(WatchRatePublisher.TOPIC, msg) if __name__ == "__main__": try: bluemix = bw.BluemixWrapper(sys.argv[1]) NotifySubscriber(bluemix).notify() bluemix.connect() WatchRatePublisher(bluemix).check_state() except KeyboardInterrupt as err: print "watch_rate_publish end"
  57. 57. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 57
  58. 58. Copyright © 2015 TIS Inc. All rights reserved. まとめ  なんだかよくわからないけれど、今後「IoT」は流行るらしい。  「IoT」は明確に定義された言葉ではないが、「ヒトとモノをつない で得られたデータを分析・学習し、現実世界にフィードバックするこ とで新たな価値を生むもの」と捉えると良い(と思う)。  「IoT」のアーキテクチャを考える際には、fogとcloudの協調動作を 意識すると良い(と思う)。  fogにとって、メッシュネットワークやConsulクラスタは相性が良い (電力消費まわりが解決できれば・・・)。  fogのセキュリティまわりは、まだ調査中。。。ご存知の方はいろい ろと教えてくだい。 58 「IoT」関連技術は、無線技術からデータ分析・学習まで 多岐にわたり、今まさに発展している最中である。 だからこそ熱く面白い。
  59. 59. Copyright © 2015 TIS Inc. All rights reserved. ソースコードなど  Wasted energy of TVのソースコードはgithubで公開中。  https://github.com/nmatsui/wasted_energy_of_tv_iot  https://github.com/nmatsui/wasted_energy_of_tv_gui  https://github.com/nmatsui/wasted_energy_of_tv_nodered  動画  https://youtu.be/RDPD21L8voM  環境構築手順と操作手順  https://github.com/nmatsui/wasted_energy_of_tv_iot/wiki /docs/construction.pdf  https://github.com/nmatsui/wasted_energy_of_tv_iot/wiki /docs/operation.pdf 59
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×