Bluemix

IBM Bluemix
www.bluemix.net
IBM Bluemix テクニカル・セミナー
Internet of Things (IoT)
2016年7月26日
日本アイ・ビー・エム 株式会社
クラウド・ソフトウェア事業部
Bluemix & XaaS テクニカル・セールス
佐藤 光太
IBM Bluemix
www.bluemix.net
Disclaimer
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の
目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもあ
りません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわら
ずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、
IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明
を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような
結果を生むものでもありません。
本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示す
るものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもって
いつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資
料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意
図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と
予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入
出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここ
で述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたも
のです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM、IBM ロゴ、ibm.com、Bluemix、IBM MobileFirst は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。
Windowsは Microsoft Corporationの米国およびその他の国における商標です。
JavaおよびすべてのJava関連の商標は Oracleやその関連会社の米国およびその他の国における商標または登録商標です。
2
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
アジェンダ
Internet of Things(IoT)とは?
Bluemixで始めるIoTとは?
機能概要(つながる、使える、管理する)
DEMO( IoTデバイスからのデータ収集・分析)
サンプル構成と価格
IoTを活用した事例
3
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Internet of Things(IoT)とは?
4
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Internet of Things(IoT)とは?
Internet of Thingsとは”モノのインターネット”と呼ばれている。
これまでパソコンやサーバーなどを接続していたインターネットにそれ以外の
様々な”モノ”を接続したネットワーク。
5
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
インターネットにつながる様々な”モノ”
生活家電
セキュリティ
スマートフォン
ウェアラブル
乗り物
ロボット
6
製造工場
製造機器
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
IoT活用の急速な進化
180 兆円、日本市場 6兆円
日本経済では2015年6兆円、毎年15%成長。
2020年には13兆円規模への成長が予想され
る。
130 億個から 290 億個へ増加
今後 2020 年にかけてのネットワークに接続した
デバイスの数の伸び。
82%
企業の意思決定者が、IoT によって自社に
戦略的な影響または変革が実現すると述べている。
7
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Bluemixで始めるIoTとは?
8
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Bluemixで始めるIoTとは?
トータルプロセスをサポート
コンポーザブルな環境でのIoT活用
IoTデバイスの接続からデータの収集 / 蓄積 /
分析 / 活用までを一つのプラットフォームで
実現することが可能
ビジネスニーズに合わせ、100を越えるサービス
を利用したアプリケーションインフラストラクチャ
を構成可能。
Sensor
Gateway
IInternet of Things
Foundation
センサーデバイス
センサーデバイス
Bluemix
ゲートウェイ
お客様オンプレミス
データセンター
データ配信
Integration
センサーデバイス
9
デバイス登録
デバイス監視
履歴の保存
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Bluemixで始めるIoTのサービス
特徴的な3つのサービス
IoTデバイス・センサーデータ
への強力なアクセスを提供
Internet of Things
Foundation
10
スピーディーな
ビジネスアイディアの検証
Node-RED
ビジネス・ルールベースでの
アクション管理
IoT Real-Time
Insights
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
機能概要
- つながる、使える、管理する
11
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
つながる
12
使える
管理する
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
デバイスとアプリケーションがつながる
IoTアプリケーションを作成するためには、
まずセンサーデバイスとアプリケーションがつながる必要があります。
情報の発信
センサーデバイス
13
センサーデータ
の送信
中継サーバー
?
アプリケーション
での情報取得
?
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
デバイスとアプリケーションをつなげる仕組み
IoTのように頻度が高く情報量が少ない通信を得意とした軽量なMQTTプロトコル
軽量
ヘッダーサイズが2byte
シンプル
シンプルなプロトコル
シーケンス
省電力
HTMLと比較して10分の
1以下の電力で処理可能
14
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
MQTTの特徴:Pub/Sub型モデル 1/2
情報の送り手
中継サーバー
情報の受け手
Publisher
Broker
Subscriber
センサーの情報を
Brokerに向けて発信
15
Publisherから
送信された情報を
Subscriverに配信
センサーデータを
利用するアプリ
Brokerから配信され
た情報を受け取る
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
MQTTの特徴:Pub/Sub型モデル 2/2
Publisher
②送信
Subscriber
①購読
接続
CONNECT
確認応答
確認応答
接続
CONNECT
送信
Publish
受け取り
登録
購読
Subscribe
後続処理
16
Broker
中継サーバー
④受信
③配信制御
保持
Retain
送信
Publish
後続処理
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
MQTTとHTTPの比較
項目
MQTT
HTTP
通信形態
非同期(Pub/Subモデル)
同期
通信方向
双方向
単方向
同報通知
可
不可
サービス品質(QoS)制御
3つの規定
規定なし
プロトコルオーバーヘッド
低い(2バイト~)
高い(50バイト~)
適する利用形態
短いメッセージの頻繁な送受信
比較的頻度の少ないメッセージ
送信
適する利用用途
プロトコルのオーバーヘッドが比較
的少なく、通信料、CPU負荷、電力
消費が抑えられるため、IoTデバイス
やモバイルに適する。
RFCで定義されており、Webの
世界で一般的に使用されている
プロトコル。
17
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
デバイスとアプリケーションがつながる
Publisher
情報の発信
センサーデバイス
18
センサーデータ
の送信
Broker
中継サーバー
?
Subscriber
アプリケーション
での情報取得
?
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Publisher:情報の発信
Publisher
情報の発信
センサーデバイス
19
センサーデータ
の送信
Broker
中継サーバー
?
Subscriber
アプリケーション
での情報取得
?
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
提供する3つ選択肢
?
物理デバイス
ない
シミュレーターで、
IoTシステムを体験!
ある
チュートリアル
つかう
公開されているレシピに従い、IoT
プラットフォームへ接続!
不要!
スキルあり
MQTTライブラリを使用して、
中継サーバへパブリッシュ!
20
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
シミュレーター:クイックに始める
https://quickstart.internetofthings.ibmcloud.com/iotsensor/
 センサーデバイスをシミュレート
 3つのセンサーデータを提供しています。
(温度、湿度、デバイス温度)
 中継サーバへのパブリッシュ
 センサーデータはInternet of Things Foundationへ
定期的にパブリッシュされます。
 パブリッシュされたセンサーデータは、
発行されたデバイスIDでサブスクライブ可能です。
21
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
レシピ:デバイス毎のチュートリアル 1/2
https://developer.ibm.com/recipes/
22
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
レシピ:デバイス毎のチュートリアル 2/2
Raspberry Piからの接続チュートリアル
1.接続に必要なモジュールのダウンロード
curl -LO https://github.com/ibm-messaging/iot-raspberrypi/releases/…...
2.モジュールへのインストール
sudo dpkg -i iot_1.0-2_armhf.deb
3.モジュールのステータス確認
service iot status
4.接続状況の確認コマンド
service iot getdeviceid
5.モジュールの停止/アンインストール
sudo service iot stop
sudo dpkg -P iot
23
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
MQTTライブラリ:Paho
http://www.eclipse.org/paho/
 MQTTをアプリケーション実装す
る上で便利なライブラリ
米IBMらがMQTTプロトコルのクラ
イアントコードを開発、後にオープ
ンソースとしてEclipse Foundation
に寄贈
 C / Java / JavaScriptなど、
24
多くのメジャーな言語に対応
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
補足:JavaScriptを使用したパブリッシュ例
Paho.MQTTライブラリを利用した場合
// MQTTクライアントのインスタンス生成
client = new Paho.MQTT.Client(location.hostname, Number(location.port), "clientId");
// コールバック関数の設定
client.onConnectionLost = onConnectionLost;
// クライアント接続
client.connect({onSuccess:onConnect});
// 接続時の処理
function onConnect() {
message = new Paho.MQTT.Message("Hello");
message.destinationName = "/World";
client.send(message);
}
25
// コネクションロスト時の処理
function onConnectionLost(responseObject) {
if (responseObject.errorCode !== 0) {
console.log("onConnectionLost:"+responseObject.errorMessage);
}
}
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
MQTTライブラリ:言語ごとに提供される主要なライブラリ
ライブラリ
paho
言語/プラットフォーム
特徴
Android、C/C++、Java、 Eclipseプロジェクトの1つで、MQTT
JavaScript、Python、
のオープンソース実装。多数の言語に
Golang、.Net
対応している。
Python
オープンソースのMQTTブローカー、
MQTTクライアント機能を提供。
Objective-C
ObjectiveーC向けにMosquittoをラッ
プしたMQTTクライアント。
Swift
swift向けにMosquittoをラップ下
MQTTクライアント。
Windows Phone
Windows
Windows Phone、Windowsに対応し
たMQTTライブラリ
JavaScript
IBMが提供しているIBM IoT
Foundationのライブラリ
Mosquitto
MQTTKit
Moscapsule
m2mqtt
Moscapsule
26
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Broker: 中継サーバー
Publisher
情報の発信
センサーデバイス
27
センサーデータ
の送信
Broker
中継サーバー
?
Subscriber
アプリケーション
での情報取得
?
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
提供する2つのBroker
クイックに始める
QuickStart
28
より高度な接続
Internet of Things Foundation
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
QuickStart - クイックに始められる
IBMが無償で提供している中継サーバー。数台のIoTデバイスを使用した技術検
証から、小規模での運用試験まで幅広い利用が可能です。
パブリックな環境にて
中継サーバを提供
無料で利用が可能
デバイスIDのみで
MQTTメッセージの収集が可能
29
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Internet of Things Foundation - より高度な接続環境
Internet of Things Foundation では実運用に適した機能を提供
デバイス管理機能の提供
数多のIoTデバイスを任意のグルーピングして
管理することができます。
モニタリング機能の提供
IoTデバイスのデータトラフィックを
モニタリングすることができます。
MQTT SSL接続のサポート
MQTT接続を暗号化して安全な通信環境を提供します。
到達保障のサポート
全てのQoSをサポートします。
30
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
QuickStartと IoT Foundationの特徴
観点
Internet of Things
Foundation
QuickStart
適する利用用途
まだデバイスが確定していない
場合の技術検証
実際のデバイスを使用した検証
および運用
利用料金
無料
有料
想定接続デバイス数
数台(高頻度のメッセージはド
ロップされる可能性)
数台から数千台以上
デバイス管理
不可
可能
到達保障
QoS0のみサポート
最高1回配信
QoS2をサポート
正確に1回配信
認証機能の利用
不可
可
31
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
つながる
32
使える
管理する
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
デバイスの情報を使ったアプリケーション開発
Publisher
情報の発信
センサーデバイス
センサーデータ
の送信
Broker
中継サーバー
Internet of Things
Foundation
Subscriber
アプリケーション
での情報取得
Bluemix
データ配信
(MQTT Broker)
33
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
提供する2つのSubscriber
クイックに始められる
Node-RED
34
リアルタイムなモニタリング
ルールベースのアクション管理
IoT Real-Time Insights
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Node-Red:IoTデバイスからのクイック名連携
Node-REDとは、デバイス、API、オンラインサービスなどの機能を繋げてア
プリケーションを作成していくプラットフォームです。
 IBMのEmerging Technology Teamが開発したソフトウェア
 元々はIoTデバイスの活用に特化したビジュアルツールだが
現在は様々な用途で利用
 オープンソフトウェアでありNode.jsが動く環境なら何処でも動かせる
(Bluemix環境ではなくても使用可能)
35
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Node-Redを利用した開発の流れ
ブラウザのGUIアプリケーションとして利用でき、機能がカプセル化された
Nodeをつなげてデータの流れをデザインしていくだけで実装できます。
4.Deployボタンのクリックで実
行環境へ反映
1.処理ノードを
パレットから選択
2.キャンパスにドラッグ&ドロップし
処理順にノードを結合
36
3.各ノードの
動作を設定
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Node-Redでセンサーデータを保存するには?
Node-RedからBluemix上の様々なサービスを呼び出し利用することが可能で
す。
Node-Red
(Node.js
Runtime)
データベース
+
アプリ開発者
37
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Node-Redから通知するには?
Node-RedからBluemix上の様々なサービスを呼び出し利用することが可能です。
Mail
+
Node-Red
モバイル通知
38
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Node-Redで利用できる様々な機能
以下のカテゴリごとに豊富な機能が提供されています。
カテゴリ
Input
Output
Function
Social
処理フローのトリガとなるイベント機能を提供
(時間トリガ、IoTデバイス、httpリクエスト、websocket受信など)
外部へのデータ連携機能を提供
(IoTデバイス、mqttパブリッシュ、httpレスポンス、websocket送信など)
分岐、データ加工、フォーマット変換、一時停止などのロジック機能を提供
メールやTwitterなどの送受信機能を提供
Storage
各種データベースとのI/O機能を提供
(mongodb、cloudant、sqldb、dashdbなど)
Watson
言語翻訳、画像認識、音声テキスト相互変換などおWatson機能を提供
Analysis
分析機能を提供
Advanced
39
説明
RSSなどのフィード更新時のイベント機能を提供
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
IoT Real-Time Insights:
ビジネス・ルールを適用したプロセス管理
 設定したルールを元にアクションを実行
 ルールやアクションの設定はGUIにて定義可能
 リアルタイムでのモニタリング・分析
IBM Bluemix
IoT Platform
IBM IoT Foundation
MQTT
(IoTデバイスの登録/管理)
IoT Real-Time Insights
受
信
ルール1
アクション1
ルール2
アクション2
ルール3
アクション3
・
・
・
40
メールやWebサイト連携が
GUIで簡単に定義できる!
・
・
・
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Node-Red と IoT Real-Time Insightsの比較
観点
利用デバイスの登録
サービス構築の手段
Node-Red
不要
GUI
IoT Real-Time Insights
必要
IoT Foundation連携
高度な対応をする場合
JavaScriptを使用
GUI
構築サービスの多様性
高い
低い
カスタマイズ性
高い
低い
不可能
可能
アイディアのビジネス的
効果の検証
定義可能なビシネスルール
ベースでのアクション管理
データの分析・モニタリング
適する利用用途
41
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
つながる
42
使える
管理する
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
接続デバイスの管理 1/2
Internet of Things Foundationに接続するデバイスについては、
Bluemixの機能を利用することで個々に管理をすることができます。
デバイスの登録
 論理的て管理なデバイスタイプにより
グルーピングして管理。
 デバイスIDのほか、シリアル番号や製
造元、ファームウェアバージョンなども
デバイス情報として登録できます。
デバイス情報の管理
 RestAPIによりデバイスのロケーション、
メタデータ、デバイス情報、およびファー
ムウェアを更新できます。
 ロケーション情報については、デバイ
ス自身から更新することができます。
43
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
接続デバイスの管理 2/2
Internet of Things Foundationに接続するデバイスについては、
Bluemixの機能を利用することで個々に管理をすることができます。
デバイスの診断/監視
 デバイス側からエラー情報やログ情報を通知
することができます。
 デバイス情報の変更を監視設定することで、
デバイス情報の変更通知を受け取ることができ
ます。
デバイスの制御
 デバイスのリブート、工場出荷時の設定への
リセットをすることができます。
 デバイスのファームウェアダウンロード、
ファームウェア更新をすることができます。
44
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
つながる
45
使える
管理する
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
DEMO
46
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
DEMO
IoTデバイスから簡単にデータを収集する
収集データを元に個別データ毎の相関関係の有無を調べる
データ収集
センサーデバイスの情報収集
Cloudant
No SQL
NodeRed
センサー
デバイス
情報の蓄積 / 分析
Dash DB
47
PC等
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
48
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
サンプル構成と価格
50
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
サンプル構成と価格(デモ構成の場合)
以下、費用見積例です。各ランタイム、及びサービス毎に課金単価が異なります。
費用試算はBluemix上の料金カリキュレータでご確認いただくことができます。
単価
IoT Foundation
SDK for Node.js
Cloudant
Standard
データ転送 ¥1.05 / 1MB
無償分:最初の100MBまで
¥7.35 /GB 時間
無償分:375 GB 時間 (0.5GB×1ヶ月分)
Sharedプラン
¥105.00 / GB
¥3.15 / 1000 の軽負荷 API 呼び出し
¥15.75 / 1000 の高負荷 API 呼び出し
想定使用量(1ヶ月あたり)
小計(月額)
2,160MB転送量
¥2,163
1GB×3インスタンス
(推奨*1)
¥13,120
8.64GB
10,800,000 の軽負荷 API 呼び出し
10,800,000 の高負荷 API 呼び出し
¥0
¥32,445
¥168,525
無料枠:
20 GB の無料データ・ストレージ
毎月 500,000 の軽負荷 API 呼び出し
毎月 100,000 の高負荷 API 呼び出し
dashDB
Entryプラン
¥5,250
10GB
Bluemix合計(月額)
¥5,250
¥221,503
*1 本番環境でのご利用におきましては、3インスタンス以上での構成・ご利用を弊社では推奨しております。
*2 上記料金は2016.7.1 時点での算出です。今後、料金変更の可能性がございますので、料金カリキュレータで最新料金をご確認お願いします。
なお、デバイス費用、アプリ設計支援、アジャイル開発支援等のサービス費用は別途お見積りとなります。
51
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
IoTを活用した事例
52
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
テキサス・インスツルメンツ
開封してわずか3分でBluemixとつながるセンサーデバイス。
光、マイク、磁気センサ、湿度、圧力、加速度計、ジャイロスコープ、磁力計、
物体の温度、周囲温度などの10 個のデータを使ったIoT活用が初められる。
$29 ≒ 3,000円
http://www.tij.co.jp/ww/wireless_connectivity/sensortag2015/gettingStarted.html
53
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
アルプス電気株式会社
国内・法人向けセンサーモジュール「IoT Smart Module」
軽量・コンパクトモデル、障害物に強い通信+防水・防塵設計なハイエンドモ
デルを提供
54
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
SilverHook
時速200kmで疾走するボートから送られてくる大量のセンサーデータをリ
アルタイムに解析しチームの勝利と新しいユーザー体験をもたらす。
時速200kmで疾走するボートから80箇
1
所毎秒100回計測したデータを5回送信
55
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
Olli (Watson x IoT)
車体に搭載された30以上のセンサー情報とWatsonの組み合わせて乗客に今まで
にない利用体験を提供。
長年待ち望まれてきたスマート、安全、かつビジネスとして長期に運営可能な公
共交通機関を目指して。
車体には、30以上のセンサーが搭載され、
10時間で製造。ワシントンD.Cに続き、
マイアミとラスベガスでパイロット予定。
56
© 2016 IBM Corporation
IBM Bluemix
www.bluemix.net
57
© 2016 IBM Corporation