IBM Bluemix www.bluemix.net IBM Bluemix テクニカル・セミナー Internet of Things (IoT) 2016年7月26日 日本アイ・ビー・エム 株式会社 クラウド・ソフトウェア事業部 Bluemix & XaaS テクニカル・セールス 佐藤 光太
IBM Bluemixwww.bluemix.net
IBM Bluemix テクニカル・セミナー
Internet of Things (IoT)
2016年7月26日
日本アイ・ビー・エム 株式会社クラウド・ソフトウェア事業部Bluemix & XaaS テクニカル・セールス
佐藤 光太
© 2016 IBM Corporation2
IBM Bluemixwww.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やその関連会社の米国およびその他の国における商標または登録商標です。
© 2016 IBM Corporation3
IBM Bluemixwww.bluemix.net
アジェンダ
Internet of Things(IoT)とは?
Bluemixで始めるIoTとは?
機能概要(つながる、使える、管理する)
DEMO( IoTデバイスからのデータ収集・分析)
サンプル構成と価格
IoTを活用した事例
© 2016 IBM Corporation4
IBM Bluemixwww.bluemix.net
Internet of Things(IoT)とは?
© 2016 IBM Corporation5
IBM Bluemixwww.bluemix.net
Internet of Things(IoT)とは?
Internet of Thingsとは”モノのインターネット”と呼ばれている。
これまでパソコンやサーバーなどを接続していたインターネットにそれ以外の様々な”モノ”を接続したネットワーク。
© 2016 IBM Corporation6
IBM Bluemixwww.bluemix.net
インターネットにつながる様々な”モノ”
スマートフォンウェアラブル
セキュリティ生活家電
乗り物
製造工場製造機器
ロボット
© 2016 IBM Corporation7
IBM Bluemixwww.bluemix.net
IoT活用の急速な進化
180 兆円、日本市場 6兆円日本経済では2015年6兆円、毎年15%成長。2020年には13兆円規模への成長が予想される。
82%企業の意思決定者が、IoT によって自社に戦略的な影響または変革が実現すると述べている。
130 億個から 290 億個へ増加今後 2020 年にかけてのネットワークに接続したデバイスの数の伸び。
© 2016 IBM Corporation8
IBM Bluemixwww.bluemix.net
Bluemixで始めるIoTとは?
© 2016 IBM Corporation9
IBM Bluemixwww.bluemix.net
Bluemixで始めるIoTとは?
トータルプロセスをサポート
IoTデバイスの接続からデータの収集 / 蓄積 /
分析 / 活用までを一つのプラットフォームで実現することが可能
コンポーザブルな環境でのIoT活用
ビジネスニーズに合わせ、100を越えるサービスを利用したアプリケーションインフラストラクチャ
を構成可能。
Sensor お客様オンプレミス
データセンターGateway
センサーデバイス
センサーデバイス
センサーデバイス
ゲートウェイ
IInternet of Things
Foundation
データ配信
デバイス登録
デバイス監視
履歴の保存
Bluemix
Integration
© 2016 IBM Corporation10
IBM Bluemixwww.bluemix.net
Bluemixで始めるIoTのサービス
特徴的な3つのサービス
Node-REDInternet of Things
Foundation
IoT Real-Time
Insights
IoTデバイス・センサーデータへの強力なアクセスを提供
スピーディーなビジネスアイディアの検証
ビジネス・ルールベースでのアクション管理
© 2016 IBM Corporation11
IBM Bluemixwww.bluemix.net
機能概要
- つながる、使える、管理する
© 2016 IBM Corporation12
IBM Bluemixwww.bluemix.net
つながる 使える 管理する
© 2016 IBM Corporation13
IBM Bluemixwww.bluemix.net
デバイスとアプリケーションがつながる
IoTアプリケーションを作成するためには、
まずセンサーデバイスとアプリケーションがつながる必要があります。
センサーデータの送信センサーデバイス
情報の発信 中継サーバーアプリケーションでの情報取得
? ?
© 2016 IBM Corporation14
IBM Bluemixwww.bluemix.net
デバイスとアプリケーションをつなげる仕組み
軽量
ヘッダーサイズが2byte
シンプル
シンプルなプロトコルシーケンス
省電力
HTMLと比較して10分の1以下の電力で処理可能
IoTのように頻度が高く情報量が少ない通信を得意とした軽量なMQTTプロトコル
© 2016 IBM Corporation15
IBM Bluemixwww.bluemix.net
MQTTの特徴:Pub/Sub型モデル 1/2
情報の送り手
Publisher
センサーの情報を
Brokerに向けて発信
中継サーバー
Broker
Publisherから
送信された情報を
Subscriverに配信
情報の受け手
Subscriber
センサーデータを
利用するアプリ
Brokerから配信され
た情報を受け取る
© 2016 IBM Corporation16
IBM Bluemixwww.bluemix.net
Broker中継サーバー
Publisher
MQTTの特徴:Pub/Sub型モデル 2/2
Subscriber
送信Publish
接続CONNECT
確認応答
後続処理③配信制御
受け取り
確認応答
登録購読
Subscribe
接続CONNECT
後続処理送信Publish
保持Retain
①購読②送信
④受信
© 2016 IBM Corporation17
IBM Bluemixwww.bluemix.net
MQTTとHTTPの比較
項目 MQTT HTTP
通信形態 非同期(Pub/Subモデル) 同期
通信方向 双方向 単方向
同報通知 可 不可
サービス品質(QoS)制御 3つの規定 規定なし
プロトコルオーバーヘッド 低い(2バイト~) 高い(50バイト~)
適する利用形態 短いメッセージの頻繁な送受信比較的頻度の少ないメッセージ送信
適する利用用途
プロトコルのオーバーヘッドが比較的少なく、通信料、CPU負荷、電力消費が抑えられるため、IoTデバイスやモバイルに適する。
RFCで定義されており、Webの世界で一般的に使用されているプロトコル。
© 2016 IBM Corporation18
IBM Bluemixwww.bluemix.net
デバイスとアプリケーションがつながる
センサーデータの送信センサーデバイス
情報の発信 中継サーバーアプリケーションでの情報取得
? ?
Publisher Broker Subscriber
© 2016 IBM Corporation19
IBM Bluemixwww.bluemix.net
Publisher:情報の発信
センサーデータの送信センサーデバイス
情報の発信 中継サーバーアプリケーションでの情報取得
? ?
Publisher Broker Subscriber
© 2016 IBM Corporation20
IBM Bluemixwww.bluemix.net
提供する3つ選択肢
物理デバイス シミュレーターで、
IoTシステムを体験!
公開されているレシピに従い、IoT
プラットフォームへ接続!
MQTTライブラリを使用して、
中継サーバへパブリッシュ!
チュートリアル
ある
ない
つかう
不要!スキルあり
?
© 2016 IBM Corporation21
IBM Bluemixwww.bluemix.net
センサーデバイスをシミュレート
3つのセンサーデータを提供しています。
(温度、湿度、デバイス温度)
中継サーバへのパブリッシュ
センサーデータはInternet of Things Foundationへ
定期的にパブリッシュされます。
パブリッシュされたセンサーデータは、
発行されたデバイスIDでサブスクライブ可能です。
シミュレーター:クイックに始める
https://quickstart.internetofthings.ibmcloud.com/iotsensor/
© 2016 IBM Corporation22
IBM Bluemixwww.bluemix.net
レシピ:デバイス毎のチュートリアル 1/2
https://developer.ibm.com/recipes/
© 2016 IBM Corporation23
IBM Bluemixwww.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
© 2016 IBM Corporation24
IBM Bluemixwww.bluemix.net
MQTTライブラリ:Paho
MQTTをアプリケーション実装す
る上で便利なライブラリ
米IBMらがMQTTプロトコルのクラ
イアントコードを開発、後にオープ
ンソースとしてEclipse Foundation
に寄贈
C / Java / JavaScriptなど、
多くのメジャーな言語に対応
http://www.eclipse.org/paho/
© 2016 IBM Corporation25
IBM Bluemixwww.bluemix.net
補足:JavaScriptを使用したパブリッシュ例
// 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);
}
// コネクションロスト時の処理
function onConnectionLost(responseObject) {
if (responseObject.errorCode !== 0) {
console.log("onConnectionLost:"+responseObject.errorMessage);
}
}
Paho.MQTTライブラリを利用した場合
© 2016 IBM Corporation26
IBM Bluemixwww.bluemix.net
ライブラリ 言語/プラットフォーム 特徴
paho
Android、C/C++、Java、JavaScript、Python、Golang、.Net
Eclipseプロジェクトの1つで、MQTTのオープンソース実装。多数の言語に対応している。
Mosquitto
Python オープンソースのMQTTブローカー、MQTTクライアント機能を提供。
MQTTKit
Objective-C ObjectiveーC向けにMosquittoをラップしたMQTTクライアント。
Moscapsule
Swift swift向けにMosquittoをラップ下MQTTクライアント。
m2mqtt
Windows PhoneWindows
Windows Phone、Windowsに対応したMQTTライブラリ
Moscapsule
JavaScript IBMが提供しているIBM IoTFoundationのライブラリ
MQTTライブラリ:言語ごとに提供される主要なライブラリ
© 2016 IBM Corporation27
IBM Bluemixwww.bluemix.net
Broker: 中継サーバー
センサーデータの送信センサーデバイス
情報の発信 中継サーバーアプリケーションでの情報取得
? ?
Publisher Broker Subscriber
© 2016 IBM Corporation28
IBM Bluemixwww.bluemix.net
提供する2つのBroker
クイックに始める
QuickStart
より高度な接続
Internet of Things Foundation
© 2016 IBM Corporation29
IBM Bluemixwww.bluemix.net
QuickStart - クイックに始められる
パブリックな環境にて中継サーバを提供
無料で利用が可能
デバイスIDのみでMQTTメッセージの収集が可能
IBMが無償で提供している中継サーバー。数台のIoTデバイスを使用した技術検証から、小規模での運用試験まで幅広い利用が可能です。
© 2016 IBM Corporation30
IBM Bluemixwww.bluemix.net
Internet of Things Foundation - より高度な接続環境
デバイス管理機能の提供
数多のIoTデバイスを任意のグルーピングして
管理することができます。
モニタリング機能の提供
IoTデバイスのデータトラフィックを
モニタリングすることができます。
MQTT SSL接続のサポート
MQTT接続を暗号化して安全な通信環境を提供します。
到達保障のサポート
全てのQoSをサポートします。
Internet of Things Foundation では実運用に適した機能を提供
© 2016 IBM Corporation31
IBM Bluemixwww.bluemix.net
QuickStartと IoT Foundationの特徴
観点 QuickStartInternet of Things
Foundation
適する利用用途まだデバイスが確定していない場合の技術検証
実際のデバイスを使用した検証および運用
利用料金 無料 有料
想定接続デバイス数数台(高頻度のメッセージはドロップされる可能性)
数台から数千台以上
デバイス管理 不可 可能
到達保障QoS0のみサポート最高1回配信
QoS2をサポート正確に1回配信
認証機能の利用 不可 可
© 2016 IBM Corporation32
IBM Bluemixwww.bluemix.net
つながる 使える 管理する
© 2016 IBM Corporation33
IBM Bluemixwww.bluemix.net
デバイスの情報を使ったアプリケーション開発
センサーデータの送信センサーデバイス
Internet of Things
Foundation
データ配信
(MQTT Broker)
Bluemix
情報の発信 中継サーバーアプリケーションでの情報取得
Publisher Broker Subscriber
© 2016 IBM Corporation34
IBM Bluemixwww.bluemix.net
提供する2つのSubscriber
クイックに始められる
Node-RED
リアルタイムなモニタリングルールベースのアクション管理
IoT Real-Time Insights
© 2016 IBM Corporation35
IBM Bluemixwww.bluemix.net
Node-Red:IoTデバイスからのクイック名連携
IBMのEmerging Technology Teamが開発したソフトウェア
元々はIoTデバイスの活用に特化したビジュアルツールだが
現在は様々な用途で利用
オープンソフトウェアでありNode.jsが動く環境なら何処でも動かせる
(Bluemix環境ではなくても使用可能)
Node-REDとは、デバイス、API、オンラインサービスなどの機能を繋げてアプリケーションを作成していくプラットフォームです。
© 2016 IBM Corporation36
IBM Bluemixwww.bluemix.net
Node-Redを利用した開発の流れ
ブラウザのGUIアプリケーションとして利用でき、機能がカプセル化されたNodeをつなげてデータの流れをデザインしていくだけで実装できます。
1.処理ノードをパレットから選択
4.Deployボタンのクリックで実行環境へ反映
3.各ノードの動作を設定
2.キャンパスにドラッグ&ドロップし処理順にノードを結合
© 2016 IBM Corporation37
IBM Bluemixwww.bluemix.net
Node-Redでセンサーデータを保存するには?
Node-RedからBluemix上の様々なサービスを呼び出し利用することが可能です。
アプリ開発者
データベースNode-Red
(Node.js
Runtime) +
© 2016 IBM Corporation38
IBM Bluemixwww.bluemix.net
Node-Redから通知するには?
Node-RedからBluemix上の様々なサービスを呼び出し利用することが可能です。
+ Node-Red
モバイル通知
© 2016 IBM Corporation39
IBM Bluemixwww.bluemix.net
Node-Redで利用できる様々な機能
以下のカテゴリごとに豊富な機能が提供されています。
カテゴリ 説明
Input処理フローのトリガとなるイベント機能を提供(時間トリガ、IoTデバイス、httpリクエスト、websocket受信など)
Output外部へのデータ連携機能を提供(IoTデバイス、mqttパブリッシュ、httpレスポンス、websocket送信など)
Function 分岐、データ加工、フォーマット変換、一時停止などのロジック機能を提供
Social メールやTwitterなどの送受信機能を提供
Storage各種データベースとのI/O機能を提供(mongodb、cloudant、sqldb、dashdbなど)
Watson 言語翻訳、画像認識、音声テキスト相互変換などおWatson機能を提供
Analysis 分析機能を提供
Advanced RSSなどのフィード更新時のイベント機能を提供
© 2016 IBM Corporation40
IBM Bluemixwww.bluemix.net
MQTT
IoT Real-Time Insights:ビジネス・ルールを適用したプロセス管理
設定したルールを元にアクションを実行
ルールやアクションの設定はGUIにて定義可能
リアルタイムでのモニタリング・分析
IB
M Io
TFou
nd
atio
n
IBM Bluemix
IoT Platform
(IoTデバイスの登録/管理)
IoT Real-Time Insights
受信
ルール1
ルール2
ルール3
・・・
アクション1
アクション2
アクション3
・・・
メールやWebサイト連携が
GUIで簡単に定義できる!
© 2016 IBM Corporation41
IBM Bluemixwww.bluemix.net
Node-Red と IoT Real-Time Insightsの比較
観点 Node-Red IoT Real-Time Insights
利用デバイスの登録 不要必要
IoT Foundation連携
サービス構築の手段GUI
高度な対応をする場合JavaScriptを使用
GUI
構築サービスの多様性 高い 低い
カスタマイズ性 高い 低い
データの分析・モニタリング 不可能 可能
適する利用用途アイディアのビジネス的
効果の検証定義可能なビシネスルールベースでのアクション管理
© 2016 IBM Corporation42
IBM Bluemixwww.bluemix.net
つながる 使える 管理する
© 2016 IBM Corporation43
IBM Bluemixwww.bluemix.net
接続デバイスの管理 1/2
Internet of Things Foundationに接続するデバイスについては、
Bluemixの機能を利用することで個々に管理をすることができます。
デバイスの登録論理的て管理なデバイスタイプによりグルーピングして管理。
デバイスIDのほか、シリアル番号や製造元、ファームウェアバージョンなどもデバイス情報として登録できます。
デバイス情報の管理 RestAPIによりデバイスのロケーション、メタデータ、デバイス情報、およびファームウェアを更新できます。
ロケーション情報については、デバイス自身から更新することができます。
© 2016 IBM Corporation44
IBM Bluemixwww.bluemix.net
接続デバイスの管理 2/2
Internet of Things Foundationに接続するデバイスについては、
Bluemixの機能を利用することで個々に管理をすることができます。
デバイスの診断/監視デバイス側からエラー情報やログ情報を通知することができます。デバイス情報の変更を監視設定することで、デバイス情報の変更通知を受け取ることができます。
デバイスの制御デバイスのリブート、工場出荷時の設定へのリセットをすることができます。デバイスのファームウェアダウンロード、ファームウェア更新をすることができます。
© 2016 IBM Corporation45
IBM Bluemixwww.bluemix.net
つながる 使える 管理する
© 2016 IBM Corporation46
IBM Bluemixwww.bluemix.net
DEMO
© 2016 IBM Corporation47
IBM Bluemixwww.bluemix.net
DEMO
IoTデバイスから簡単にデータを収集する
収集データを元に個別データ毎の相関関係の有無を調べる
情報の蓄積 / 分析
センサーデバイスの情報収集
PC等
NodeRed CloudantNo SQL
Dash DB
センサーデバイス
データ収集
© 2016 IBM Corporation48
IBM Bluemixwww.bluemix.net
© 2016 IBM Corporation50
IBM Bluemixwww.bluemix.net
サンプル構成と価格
© 2016 IBM Corporation51
IBM Bluemixwww.bluemix.net
単価 想定使用量(1ヶ月あたり) 小計(月額)
IoT Foundation Standard
データ転送 ¥1.05 / 1MB
無償分:最初の100MBまで2,160MB転送量 ¥2,163
SDK for Node.js ¥7.35 /GB 時間無償分:375 GB 時間 (0.5GB×1ヶ月分)
1GB×3インスタンス(推奨*1)
¥13,120
Cloudant Sharedプラン¥105.00 / GB
¥3.15 / 1000 の軽負荷 API 呼び出し¥15.75 / 1000 の高負荷 API 呼び出し
無料枠:20 GB の無料データ・ストレージ毎月 500,000 の軽負荷 API 呼び出し毎月 100,000 の高負荷 API 呼び出し
8.64GB
10,800,000 の軽負荷 API 呼び出し10,800,000 の高負荷 API 呼び出し
¥0
¥32,445
¥168,525
dashDB Entryプラン¥5,250 10GB ¥5,250
Bluemix合計(月額) ¥221,503
*1 本番環境でのご利用におきましては、3インスタンス以上での構成・ご利用を弊社では推奨しております。*2 上記料金は2016.7.1 時点での算出です。今後、料金変更の可能性がございますので、料金カリキュレータで最新料金をご確認お願いします。
なお、デバイス費用、アプリ設計支援、アジャイル開発支援等のサービス費用は別途お見積りとなります。
以下、費用見積例です。各ランタイム、及びサービス毎に課金単価が異なります。費用試算はBluemix上の料金カリキュレータでご確認いただくことができます。
サンプル構成と価格(デモ構成の場合)
© 2016 IBM Corporation52
IBM Bluemixwww.bluemix.net
IoTを活用した事例
© 2016 IBM Corporation53
IBM Bluemixwww.bluemix.net
テキサス・インスツルメンツ
開封してわずか3分でBluemixとつながるセンサーデバイス。
光、マイク、磁気センサ、湿度、圧力、加速度計、ジャイロスコープ、磁力計、物体の温度、周囲温度などの10 個のデータを使ったIoT活用が初められる。
http://www.tij.co.jp/ww/wireless_connectivity/sensortag2015/gettingStarted.html
$29 ≒ 3,000円
© 2016 IBM Corporation54
IBM Bluemixwww.bluemix.net
アルプス電気株式会社
国内・法人向けセンサーモジュール「IoT Smart Module」
軽量・コンパクトモデル、障害物に強い通信+防水・防塵設計なハイエンドモデルを提供
© 2016 IBM Corporation55
IBM Bluemixwww.bluemix.net
SilverHook
1
時速200kmで疾走するボートから送られてくる大量のセンサーデータをリアルタイムに解析しチームの勝利と新しいユーザー体験をもたらす。
時速200kmで疾走するボートから80箇所毎秒100回計測したデータを5回送信
© 2016 IBM Corporation56
IBM Bluemixwww.bluemix.net
Olli (Watson x IoT)
車体に搭載された30以上のセンサー情報とWatsonの組み合わせて乗客に今までにない利用体験を提供。
長年待ち望まれてきたスマート、安全、かつビジネスとして長期に運営可能な公共交通機関を目指して。
車体には、30以上のセンサーが搭載され、10時間で製造。ワシントンD.Cに続き、マイアミとラスベガスでパイロット予定。
© 2016 IBM Corporation57
IBM Bluemixwww.bluemix.net