iotクラウドで拡がるbluemixの世界

30
IBM Bluemix www.bluemix.net IBM Bluemix そこが知りたい! テクニカル・セミナー 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 メインフレーム・ミドルウェア 城戸健太郎 エマージング・テクノロジー 橋本裕樹 日本アイ・ビー・エム株式会社 SWG WebSphere事業部 佐々木志門 IoTクラウドで拡がるBluemixの世界

Upload: ibm

Post on 15-Jul-2015

1.029 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: IoTクラウドで拡がるBluemixの世界

IBM Bluemixwww.bluemix.net

IBM Bluemixそこが知りたい!

テクニカル・セミナー

日本アイ・ビー・エムシステムズ・エンジニアリング株式会社

メインフレーム・ミドルウェア 城戸健太郎エマージング・テクノロジー 橋本裕樹

日本アイ・ビー・エム株式会社

SWG WebSphere事業部 佐々木志門

IoTクラウドで拡がるBluemixの世界

Page 2: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation2

IBM Bluemixwww.bluemix.net

アジェンダ

Internet of Things(IoT)の背景

IBMが提供するクラウド上のIoT環境

デバイス/Bluemixアプリケーションとの連携

Node-REDによるデバイスとサービスの連携

Page 3: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation3

IBM Bluemixwww.bluemix.net

ご注意

この資料は日本アイ・ビー・エム株式会社および日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。

資料の内容には正確を期するよう注意しておりますが、この資料の内容は2014年09月現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。

当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても⼀切の補償をするものではありません。

また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。

Page 4: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation4

IBM Bluemixwww.bluemix.net

Internet of Things(IoT)の背景

Page 5: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation5

IBM Bluemixwww.bluemix.net

Internet of Things(IoT)の背景モノ

ヒト

場所

ヒト

10億

50億

500億

変曲点

グローバルな接続性

一人ひとりのモバイル

デジタル社会持続可能な成長

モノ

場所

ヒト

10億

50億

500億

変曲点

グローバルな接続性

一人ひとりのモバイル

デジタル社会持続可能な成長

Page 6: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation6

IBM Bluemixwww.bluemix.net

IoT事例 ~ 北九州スマートコミュニティー創造事業

IBMスマートコミュニティー

情報統合基盤

IBMMiddleware

地域エネルギーマネジメント・システムスマート

メーター(低圧⽤)

ビル・商業施設・工場など

スマートメーター

スマートメーター(高圧⽤)

コンセントレーター

住宅

BEMS

BEMS

交通・JEMS

MQTTによる相互接続

CEMS連携モバイル・システム

HEMS

HEMS

IBM蓄電池等アセット管理システム

仕様/構成管理

設置/点検作業管理

トレーサビリティー管理

状態管理

計測情報管理

データ収集 大規模データ集積

データ加工・提供

最適配置分析

http://www-06.ibm.com/innovation/jp/smarterplanet/cities/kitakyusyu_201205.html

EMS:Energy Management System

Page 7: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation7

IBM Bluemixwww.bluemix.net

IoTの特徴と通信プロトコルに求められる要件

デバイスの特徴

多種多様

膨大な数を接続する

小規模でマシンパワーが少ない

通信が不安定

通信プロトコルに求められる要件

軽量性: コンパクトで軽量なプロトコル

拡張性: クライアント増加に柔軟に対応

双方向性: 双方向でN:N型の通信

信頼性: 確実な転送

オープン性:可搬性向上、開発負荷の軽減

Page 8: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation8

IBM Bluemixwww.bluemix.net

MQ Telemetry Transport (MQTT)

IoTやM2M環境に最適化された通信プロトコル

不安定な稼動環境、低帯域N/W環境で使⽤されるセンサー/端末向けに開発

オープンな仕様

コミュニティー・サイト(http://www.mqtt.org/) で情報公開

現在はMQTT V3.1を公開

OASISにて標準化が進められている

パブリッシュ/サブスクライブ型のメッセージング・モデル

トピックをベースに、通信相手を意識することなく双方向のN:N通信が可能

※M2M: Machine to Machine

パブリッシュ

サブスクライブ

MQTTクライアント

MQTTサーバー

MQTTクライアントパブリッシャー

Pub/Subブローカーサブスクライバー

サブスクライバー

MQTTプロトコル MQTTプロトコル

トピック

Page 9: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation9

IBM Bluemixwww.bluemix.net

MQ Telemetry Transport (MQTT)

コンパクトで単純な設計

ヘッダー・フォーマットをビット単位で規定

固定長フィールド(2バイト)と可変長フィールド(0~12バイト)

単純なAPI(connect, publish, subscribe, disconnect)で、モジュールのフットプリントも軽量

TCP/IPを前提としたプロトコル

ネットワーク・レベルの転送はTCPで保証

QoS(Quality of Service)

クライアントの不安定な稼働環境を想定し、クライアント、サーバー間のメッセージ送達保証レベルを3種類規定

QoS = 0 :メッセージは1回のみ送信される(送信先に届くかは保証しない)

QoS = 1 :メッセージは最低1回は送信先に送られる(重複の可能性あり)

QoS = 2 :メッセージは必ず正確に1回送信先に送られる

Page 10: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation10

IBM Bluemixwww.bluemix.net

IBMが提供するクラウド上のIoT環境

Page 11: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation11

IBM Bluemixwww.bluemix.net

IBMが提供するクラウド上のIoT環境

クラウド環境上のIoT基盤(IoTファンデーション)の3要素

IoTファンデーションを利⽤するメリット

IoTアプリケーションのプロトタイプを即座に実行可能

準備済みMQTT基盤を利⽤することで、アプリケーションの開発に注力

•IBM Bluemix IoT Service•IBM Internet of Things Foundation •Node-RED

MQTT

アプリケーション開発者デバイス

準備済みMQTT基盤

IoTファンデーション

Page 12: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation12

IBM Bluemixwww.bluemix.net

IBM IoT FoundationとIBM Bluemix

IBM IoT Foundation

クラウド上でMQTTサーバー機能を提供

デバイス/アプリケーションはMQTTプロトコルを使⽤し、IoT Foundationに接続

IBM Bluemix

ブラウザ・ベースのコーディネーション・ツールNode-REDを提供

Node-REDはIoTサービスを利⽤してIoT Foundationに接続

IBM Bluemix

MQTT

IBM IoTFoundation

MQTTサーバー

アプリケーション

アプリケーション

アプリケーション

IoTサービスMQTT

アプリケーションMQTT

MQTT

MQTT

MQTTクライアント

MQTTクライアント

Page 13: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation13

IBM Bluemixwww.bluemix.net

IoT Foundation

IoT Foundation(Beta)

クラウド上でMQTTサーバー機能を提供

デバイスの認証機能を提供IBM IDを使⽤しサイン・イン後、認証トークンを発行

https://internetofthings.ibmcloud.com

Web API経由での登録も可能

Beta版では使⽤可能なデバイスを10に制限

Quickstartにてデバイスからの接続を認証なしで確認可能データ参照⽤GUI、センサーシミュレーターを⽤意

デバイス IoT Foundation

Quickstart

認証トークンを⽤いて接続 認証トークンを発行

認証なしでも接続可能

データ確認⽤GUIを提供

MQTT

MQTTサーバー

MQTT

※Beta版として提供(2014年9月現在)

Page 14: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation14

IBM Bluemixwww.bluemix.net

デモ①:Quickstartダッシュボード デモ構成

手元の環境センサーで取得したデータ(温度・湿度など)をIoT FoundationのMQTTサーバーへ送り、そのデータをGUIで確認

IBM IoTFoundation

MQTT

サーバー

Quickstart

UI

MQTT

HTTP

ブラウザー

センサー

環境情報(気温や湿度など)を収集。

◆デモで使⽤するデバイス

TEXAS INSTRUMENTS SensorTag

パブリッシュ

MQTTクライアント

Page 15: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation15

IBM Bluemixwww.bluemix.net

IoT Foundationが提供する接続(認証)種別

IoT Foundationは以下の接続(認証)種別を提供

以下を登録時にauth-token(認証コード)を発行

Devices

IoT Foundationに接続するデバイスを登録する

Device Type, Organization, Device ID(Macアドレス)を登録

API Keys

IoT Foundationに接続する(Bluemixを含む)アプリケーションを登録

Page 16: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation16

IBM Bluemixwww.bluemix.net

(参考) IoT FoundationへのQuickstart接続

検証デバイスやアプリケーションからの接続を確認可能

デバイスはMACアドレスにて識別される

http://quickstart.internetofthings.ibmcloud.com/#/

デバイスから送信されたデータがグラフ化される

デバイスはMACアドレスで識別される

Page 17: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation17

IBM Bluemixwww.bluemix.net

(参考) IoT Foundationへの接続チュートリアル

検証デバイスの接続チュートリアルを提供

検証デバイス向けにサンプル・プログラムも提供される

Texas InstrumentsやRasberry piなど

https://developer.ibm.com/iot/

Page 18: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation18

IBM Bluemixwww.bluemix.net

IoT Service(Beta)

BluemixからデバイスにアクセスするためのBluemixサービス

IoT Foundationへの認証情報を登録

Node-REDアプリケーション(後述)が認証情報を利⽤

※Beta版として提供(2014年9月現在)

Bluemix IoT Service

IBM BluemixIBM IoT Foundation

アプリケーションIoTサービスMQTT

アプリケーションMQTT

認証トークンを登録

MQTTサーバー

Page 19: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation19

IBM Bluemixwww.bluemix.net

Bluemix IoT Service

Internet of Things サービスの作成

API Keyを登録

認証トークンを登録

Page 20: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation20

IBM Bluemixwww.bluemix.net

デバイス/Bluemixアプリケーションとの連携

Page 21: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation21

IBM Bluemixwww.bluemix.net

デバイス/Bluemixアプリケーションからの接続

MQTTクライアントからIoT Foundationに接続

MQTTクライアント・ライブラリを利⽤して接続

代表的なMQTTクライアント

IBM Mobile Messaging and M2M Client Pack MA9BIBM提供のMQTTクライアント・ライブラリ

https://www.ibm.com/developerworks/connect/IBMmessaging

Java、C、JavaScript(for browser)をサポート

Eclipse Paho MQTT ClientsオープンソースのMQTTクライアント

http://www.eclipse.org/paho/

C, C++, Java, JavaScript(for browser), Python and Goをサポート

MQTT.jsNode.js⽤MQTTクライアント(JavaScript)

https://github.com/adamvr/MQTT.js

Page 22: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation22

IBM Bluemixwww.bluemix.net

IoT Foundationへの接続要件

IoT Foundation への接続要件

MQTTバージョン: MQTT V3.1 (V3.1.1推奨)

接続先ホスト名

IoT Foundation

<orgid>.messaging.internetofthings.ibmcloud.com

※orgid: Bluemixアカウントにて使⽤するOrganization ID

IoT Foundation Quickstart

messaging.quickstart.internetofthings.ibmcloud.com

クライアントIDや接続先トピックも接続種別ごとに規定されている

詳細はInternet of Things Recipesを参照

https://developer.ibm.com/iot/

その他の制約

QoS=0のみをサポート

メッセージサイズは4096バイトまで(Quickstart)

トピックのサブスクライブが不可(Quickstart)

Page 23: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation23

IBM Bluemixwww.bluemix.net

デモ②:Bluemixアプリケーション デモ構成

Bluemix上のデモ・アプリケーションからIoT FoundationのMQTTサーバーへ接続し、センサーから送られたデータをWebページで利⽤

IBM IoTFoundation

MQTT

サーバー

センサー

IBM Bluemix

Node.js

アプリ

MongoDB

センサー(ダミー)

MQTT

MQTT

HTTPブラウザー

WebSocket

環境情報(気温や湿度など)を収集。

太陽光発電のパワコン情報を収集(デモではダミー・データを送信しています)。

家庭⽤太陽光発電システムのダッシュボードを模したデモ・アプリケーション。

センサーから得られたデータはDBに蓄積し、ブラウザー画面へ⼀定間隔で反映(WebSocketを使⽤しています)。

パブリッシュ

サブスクライブ

MQTTクライアント

MQTTクライアント

Page 24: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation24

IBM Bluemixwww.bluemix.net

Node-REDによるデバイスとサービスの連携

Page 25: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation25

IBM Bluemixwww.bluemix.net

Node-REDとは

Node-REDとは

デバイス, API, オンライン・サービスのコーディネーション・ツール

IBM Emerging Technologyが開発

異なるイベント・ソースの処理を簡素化

ブラウザベースのUIで処理フローを作成し、直接実行環境にデプロイ

Node.js上でツールやランタイムが動作

デバイスでの実行も想定されたLight-weightなランタイム

BluemixのNode.jsでも実行環境を提供

Node-RED StarterもしくはInternet of Things Boilerplatesで使⽤可能

作成したアプリにてROUTES: のURLからUIにアクセス

Page 26: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation26

IBM Bluemixwww.bluemix.net

Node-REDフローNode-REDフロー開発の流れ

処理ノードをパレットから選択しフローに接続

各ノードにて動作を設定後、「Deploy」ボタンをクリック

処理ノードをパレットから選択

デプロイボタンをクリック

各ノードの動作を設定

シートにドラッグ&ドロップし処理順にノードを結合

Page 27: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation27

IBM Bluemixwww.bluemix.net

(参考) Node-REDフロー

幅広いタイプの処理ノードを提供

Input/Output: HTTP, TCP, UDP, MQTT, WebSocket、twilio, etc..

functions:JavaScript関数, delay制御, パーサー(HTML, CSV, JSON, XML), etc..

social: Twitter, IRC

storage: Cloudant, mongodb, redis

インプット、アウトプット関数、ソーシャル、ストレージ、分析

analysis: 感情分析

デフォルトのノードを追加することも可能

Page 28: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation28

IBM Bluemixwww.bluemix.net

デモ③:Node-REDアプリケーション デモ構成

Bluemix上のNode-REDアプリケーションからIoT FoundationのMQTTサーバーへ接続し、センサーから送られたデータをフローで利⽤

IBM IoTFoundation

MQTT

サーバー

センサー

IBM Bluemix

Node-RED

フロー

Cloudant

MQTT

HTTPブラウザー

WebSocket

MQTT

外部サービス

TwitterHTTP

環境情報(気温や湿度など)を収集。

気温・湿度から不快指数を計算し、その結果に基づいてツイートするデモ・フロー。

パブリッシュ

サブスクライブ

MQTTクライアント

MQTTクライアント

Page 29: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation29

IBM Bluemixwww.bluemix.net

まとめ

IoTファウンデーションによるIoTのためのクラウド環境

IBM IoT Foundation

クラウド上でMQTTサーバー機能を提供

IBM Bluemix

ブラウザ・ベースのコーディネーション・ツールNode-REDの実行環境を提供

クラウド上に準備済みのMQTT基盤を利⽤することで、MQTTサーバーなどを⽤意することなく、アプリケーションの開発に注力することが可能

Page 30: IoTクラウドで拡がるBluemixの世界

© 2014 IBM Corporation30

IBM Bluemixwww.bluemix.net

IBM Bluemixwww.bluemix.net