SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
© 2015 IBM Corporation1
IBM  IoT  FoundationとNode-‐‑‒REDで
IoTアプリを作ってみる

Tohru  Suzuki
Analy1cs,  IBM  Japan
© 2015 IBM Corporation2
まずは事前準備...
© 2015 IBM Corporation3
IBM  Bluemix  利利⽤用登録
n  http://ibm.biz/bluemixfree  にア
クセスします。もしくは
bluemix.netへアクセスし
「サインアップ」を選択します
n  登録したアドレスに  IBM  Bluemix
よりメールが届きます
n  メール本⽂文内のリンクをクリック
することでアカウントの有効化が
⾏行行われます
© 2015 IBM Corporation4
Bluemix  へログイン
Bluemix  にログインします
n Webブラウザを起動し、Bluemix  にアクセスします。下記URLを
⼊入⼒力力します
  
http://bluemix.net/
n 表⽰示された画⾯面右上の「ログイン」  をクリックします
n ユーザーIDとパスワードを⼊入⼒力力して「サインイン」ボタンをクリック
します
ログインが成功すると  Bluemix  の
Dashboardが表⽰示されます
© 2015 IBM Corporation5
作業する地域を確認する
Bluemixは、「米国南部」と「英国」の2つの地域で稼動しています
上部メニューの 「地域」 をクリックすることで、稼動する環境を選択する
ことができます
n  今回は「米国南部」を利用しますので、地域が「米国南部」になってい
ることを確認してください
n  「英国」になっている場合は、「地域」をクリックして、「米国南部」
を選択してください
© 2015 IBM Corporation6
[補⾜足]  「⽶米国南部」選択時のポップアップへの対
応⽅方法
⽶米国南部を選択した際に、スペースを作成するように指⽰示するポップア
ップ・ウィンドウが表⽰示された場合は、任意の名前を⼊入⼒力力し、作成をクリ
ックしてください
たとえば開発⽤用として
「dev」などと
指定します
© 2015 IBM Corporation7
IoTアプリを作成してみる...
© 2015 IBM Corporation8
ハンズオンの概要
n  Internet  of  Thingsの”ボイラープレート”(テンプレート
)を使⽤用して、クラウド上のセンサー・シミュレーター
のデータを活⽤用します
n  ボイラープレートに含まれるNode-‐‑‒REDというツール
を⽤用いて、センサー・データ(温度度、湿度度など)を活⽤用する  
IoT  アプリを作成します
センサー・
シミュレー
ター
© 2015 IBM Corporation9
IoTセンサーのシミュレーターを⽤用意する  (1)
n  このハンズオンではセンサーのシミュレーターを使⽤用します
n  https://developer.ibm.com/iotfoundation/  へアクセスして“IBM  IoT  
Foundation”のレシピページを開きます。ここには種々のIoTデバイス
をセットアップするためのスクリプトや⼿手順などが提供されています
n  画⾯面右上の”Simulate  a  device”メニューをクリックして、IoTセンサー
・シミュレーターのページを開きます
© 2015 IBM Corporation10
IoTセンサーのシミュレーターを⽤用意する(2)
n  「Device  Simulator」の画⾯面の“Connect”セク
ションにあるURLをクリックすると、次ページの
IoTセンサー・シミュレーターが表⽰示されます
n  クラウド上にIoTセンサーのシミュレーターが
⼀一つ起動され、MACアドレスがアサインされます
© 2015 IBM Corporation11
IoTセンサーのシミュレーターを⽤用意する(3)
n  起動されたIoTセンサーのシミュレーターで左右の⽮矢印をクリックす
ると、温度度、湿度度、オブジェクト温度度が表⽰示されます。また画⾯面下部の
⽮矢印を操作すると温度度などを上下させられます
n  これらの値は毎秒クラウド上に発信されるので、実際に物理理的な装置を
持っていなくても、IoTデータのシミュレーターとして使⽤用できます
n  右上に当デバイスの  MAC  アドレスが表⽰示されるので、メモしておき
ます。
後のステップで
使⽤用するので、
このタブは開いた
ままにしておきます
© 2015 IBM Corporation12
ボイラープレートでアプリケーションを作成する  (1)
n  Bluemix  には予めランタイムやサービスを組み合わせたボイラープレート  
(テンプレート)が⽤用意されています
これを利利⽤用することで、簡単に  Bluemix  アプリケーションを開発する
ことができます
n  Bluemix  の  カタログメニューにボイラープレートを確認してください
各ボイラープレートをクリックすると、それがどのランタイム、サービ
スを組み合わせたものか説明されています
© 2015 IBM Corporation13
ボイラープレートでアプリケーションを作成する  (2)
n  “Internet  of  Things  Foundation”をクリックします。このボイラー
プレートは、以下のコンポーネントから構成されていることが分かります
-‐‑‒  SDK  for  Node.js  
-‐‑‒  Cloudant  NoSQL  DB
n  「名前」欄に固有のアプリ名を⼊入⼒力力します。このアプリ名がURLの⼀一部
になります(そのため、“test”などのアプリ名はすでに誰かが使っていて
URLにならないのでアプリ名として登録できません)
© 2015 IBM Corporation14
ボイラープレートでアプリケーションを作成する  (3)
n  左上の、「ダッシュボードに戻る」をクリックします
n  ダッシュボードに  アプリケーションと  Cloudant  NoSQL  DB  のサービ
スが追加されることを確認します
n  アプリケーションの状態が⻘青信号になるのを待ち、右下のリンク・アイ
コン、もしくは「経路路:」に表⽰示されるURLをクリックします
  
© 2015 IBM Corporation15
Node-‐‑‒RED  で  IoT  アプリを作成する  (1)
n  Node-‐‑‒RED  のページが表⽰示されます。「Go  to  your  Node-‐‑‒RED  flow  
editor」ボタンをクリックし、Node-‐‑‒RED  フロー・エディターを起動し
ます
n  Node-‐‑‒RED  は、IoT  のフローを構築するためのビジュアル・ツールで、
開発したシステムを簡単に  Bluemix  にデプロイすることが可能になっ
ています。ここでは、温度度センサーにより取得したデータによって処理理
を変えるような  IoT  システムを作成していきます
クリック
© 2015 IBM Corporation16
Node-‐‑‒RED  で  IoT  アプリを作成する  (2)
n  Node-‐‑‒REDフロー・エディターによって、IoT  アプリの処理理フローを定
義していきます
n  サンプルのフローが以下のようにあらかじめ定義されています。これ
が「正解」なので、このページ(タブ)はそのまま置いておいて、画⾯面
右上の「+」印をクリックして2ページ⽬目を開き、そこに下記と同じフ
ローを作ってIoTアプリの作成を⾏行行っていきます
© 2015 IBM Corporation17
Node-‐‑‒RED  で  IoT  アプリを作成する  (3)
n  先ず、温度度データの⼊入⼒力力元である  IoTセンサーのノードを定義します。
左のパレットの  inputs:ibmiot  を中央のキャンバスにドラッグドロッ
プし、ダブルクリックします
n  Edit  ibmiot  in  node  のダイアログ・ボックスで以下を選択・⼊入⼒力力します
Authentication:  Quickstart
Input  Type:  Device  Event
Device  Id:  xxxxxxxxxxx  
          (Sensor  の  MAC  アドレスを⼩小⽂文字で⼊入⼒力力)
Name:  IoTセンサー
「Ok」ボタンをクリックします。
© 2015 IBM Corporation18
Node-‐‑‒RED  で  IoT  アプリを作成する  (4)
n  次に、IoTセンサーのデータから温度度データを取り出す  function  ノード
を定義します
n  パレットの  functions:function  をキャンバスにドラッグドロップし、
ダブルクリックします
n  Edit  function  node  のダイアログ・ボックスで以下のように⼊入⼒力力します。
Name:  温度度
Function:  return  {payload:msg.payload.d.temp};
「Ok」ボタンをクリックします。
n  「IoTセンサー」と「温度度」をマウスでつないでリンクします
© 2015 IBM Corporation19
Node-‐‑‒RED  で  IoT  アプリを作成する  (5)
n  次に、温度度データの条件分岐を指定する  switch  ノードを定義します
ここでは、温度度40度度以下と40度度超で分岐するよう設定します
n  パレットの  functions:switch  を中央のキャンバスに
ドラッグドロップし、ダブルクリックします
n  Edit  switch  node  のダイアログ・ボックスで以下のように⼊入⼒力力します
Name:  温度度判断
分岐条件に以下のようになるように追加します
(  +rule  ボタンをクリックして追加):
if  msg.payload
<= 40
>   40
「Ok」ボタンをクリックします。
n  「温度度」と「温度度判断」をリンクします
© 2015 IBM Corporation20
n  2つ⽬目のEdit  template  node  のダイアログ・ボックスには以下のように⼊入⼒力力
します
Name:  危険な状況
Template:  温度度  ({{payload}})  は危険です!確認してください!
  
「Ok」ボタンをクリックします
n  右図のようにリンクします
Node-‐‑‒RED  で  IoT  アプリを作成する  (6)
n  次に、条件ごとの処理理を指定する  template  ノードを定義します。ここ
ではメッセージ出⼒力力をそれぞれ設定します
n  パレットの  functions:template  を
2つ、キャンバスにドラッグドロップ
します
n  1つ⽬目のEdit  template  node  の
ダイアログ・ボックスをダブルクリッ
クし、以下のように⼊入⼒力力します
Name:  安全な状況
Template:  温度度  ({{payload}})  は
安全です
  
「Ok」ボタンをクリックします
© 2015 IBM Corporation21
Node-‐‑‒RED  で  IoT  アプリを作成する  (7)
n  最後に、処理理結果をモニター出⼒力力するための  debug  ノードを定義します
n  パレットの  outputs:debug  をキャンバスにドラッグドロップし、
ダブルクリックします
n  Edit  debug  node  のダイアログ・ボックスで以下のように⼊入⼒力力します
Output:  message  property  を選択
to:  debug  tab
Name:  温度度の判断結果の出⼒力力
「Ok」ボタンをクリックします
n  これらのノードを右図のようにリンクします
© 2015 IBM Corporation22
Node-‐‑‒RED  で  IoT  アプリを作成する  (8)
n  これまでのステップで下図のようなフローができあがります。右上の
「Deploy」ボタンをクリックし、ブラウザ上の定義をクラウド上のアプ
リケーションへ反映します。上部に  “Successfully  deployed”  と表⽰示さ
れれば、Bluemix  へのデプロイは成功です
n  右側のサイドバーを  debug  タブに切切り替えます
(必要に応じ、右側にウィンドウが表⽰示されるよう操作します)
© 2015 IBM Corporation23
デプロイしたアプリケーションを確認する
n  別タブで開いておいたIoTセンサー・シミュレーターの「温度度」のページ
を開き、⽮矢印ボタンをクリックして温度度を変更更してみます
n  IoTセンサーの温度度が  debug  タブに出⼒力力され、40度度以下であれば、”温度度  
(xx)  は安全です”  と出⼒力力されることを確認します
n  IoTセンサーの温度度を上げて、40度度を超えると  “温度度  (xx)  は危険です!
確認んしてください!”  と出⼒力力されることを確認します  
© 2015 IBM Corporation24
作成したIoTアプリを拡張してみる
画⾯面左側にある部品を使って、作成したIoTアプリの拡張を試みます。
  例例えばTwitterへ出⼒力力する部品やメールを発
信する部品などもあるので、前ページまでの
例例で温度度が40度度を超えたらTwitterへ「危険
です!逃げましょう!」とつぶやく、といっ
た変更更も可能です。またデータベースへの格
納や結果をWebSocket等を使って他のサービ
スへ送る、といった部品も⽤用意されています
  Node-‐‑‒REDを使ったアプリ作成の例例や拡張
の⽅方法などについては、QiitaやGitHub、
YouTubeなどを通していろいろご紹介してい
ますので、ご参考にして頂ければと思います
  IBM  IoT  FoundationとNode-‐‑‒REDを使⽤用した
IoTアプリの作成をご紹介しました
  お疲れさまでした
© 2015 IBM Corporation25
1.  IBM	
  MessageSightを使ってみる	
  
•  無償評価版ダウンロード	
  
h0ps://developer.ibm.com/messaging/messagesight/	
  
•  MessageSightマニュアル	
  
h0p://www-­‐01.ibm.com/support/knowledgecenter/SSCGGQ/welcome	
  
	
  
2.  MQTTの情報	
  
•  MQTT3.1.1仕様(OASISより)	
  
h0p://docs.oasis-­‐open.org/mq0/mq0/v3.1.1/os/mq0-­‐v3.1.1-­‐os.html	
  
•  MQTTクライアント(Pathより)	
  
h0ps://eclipse.org/paho/	
  
3.  MQTT/MessageSightの紹介記事	
  
•  h0p://it.impressbm.co.jp/arMcles/-­‐/10773	
  
•  h0p://www.itmedia.co.jp/enterprise/arMcles/1402/24/news006.html	
  
4.  IoT関連の紹介記事	
  
•  h0p://japan.zdnet.com/arMcle/35063346/	
  
•  h0p://japan.zdnet.com/extra/ibm_bigdatauniversity/35064389/	
  
•  h0p://wired.jp/innovaMoninsights/analyMcs/i001/digital-­‐iot-­‐innovaMon/	
  
Next Step
© 2015 IBM Corporation26 26
	
  
ワークショップ、セッション、および資料料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃自の⾒見見解を反映したものです。それらは情報提供の⽬目的のみで提供されて
おり、いかなる参加者に対しても法律律的またはその他の指導や助⾔言を意図したものではなく、またそのような結果を⽣生むものでもありません。本講演資料料に含まれている情報につ
いては、完全性と正確性を期するよう努⼒力力しましたが、「現状のまま」提供され、明⽰示または暗⽰示にかかわらずいかなる保証も伴わないものとします。本講演資料料またはその他の
資料料の使⽤用によって、あるいはその他の関連によって、いかなる損害が⽣生じた場合も、IBMは責任を負わないものとします。  本講演資料料に含まれている内容は、IBMまたはそのサプ
ライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤用を規定する適⽤用ライセンス契約の条項を変更更することを意図
したものでもなく、またそのような結果を⽣生むものでもありません。
本講演資料料でIBM製品、プログラム、またはサービスに⾔言及していても、IBMが営業活動を⾏行行っているすべての国でそれらが使⽤用可能であることを暗⽰示するものではありません。本
講演資料料で⾔言及している製品リリース⽇日付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃自の決定権をもっていつでも変更更できるものとし、いかなる⽅方法においても
将来の製品または機能が使⽤用可能になると確約することを意図したものではありません。本講演資料料に含まれている内容は、参加者が開始する活動によって特定の販売、売上⾼高の
向上、またはその他の結果が⽣生じると述べる、または暗⽰示することを意図したものでも、またそのような結果を⽣生むものでもありません。  パフォーマンスは、管理理された環境にお
いて標準的なIBMベンチマークを使⽤用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマル
チプログラミングの量量、⼊入出⼒力力構成、ストレージ構成、および処理理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーが
ここで述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例例は、それらのお客様がどのようにIBM製品を使⽤用したか、またそれらのお客様が達成した結果の実例例として⽰示されたものです。実際の環境コスト
およびパフォーマンス特性は、お客様ごとに異異なる場合があります。
IBM、IBM	
  ロゴ、ibm.com、InfoSphere、WebSphere	
  は、世界の多くの国で登録されたInternaMonal	
  Business	
  Machines	
  CorporaMonの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での  IBM	
  の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。  
JavaおよびすべてのJava関連の商標およびロゴは	
  Oracleやその関連会社の⽶米国およびその他の国における商標または登録商標です。	
  

Contenu connexe

Similaire à IBM IoT Foundation - Develop IoT Appl in 10 min

Intalio cloud development way in Japanese
Intalio cloud development way in JapaneseIntalio cloud development way in Japanese
Intalio cloud development way in Japanese
Daisuke Sugai
 
作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】
作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】
作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】
schoowebcampus
 

Similaire à IBM IoT Foundation - Develop IoT Appl in 10 min (20)

Unity入門 初心者でもできるスマホアプリ課金ゲーム作り
Unity入門 初心者でもできるスマホアプリ課金ゲーム作りUnity入門 初心者でもできるスマホアプリ課金ゲーム作り
Unity入門 初心者でもできるスマホアプリ課金ゲーム作り
 
Bluemixハンズオン資料
Bluemixハンズオン資料Bluemixハンズオン資料
Bluemixハンズオン資料
 
Ibm bluemix を使ってモバイルのセンサーデータを利用する
Ibm bluemix を使ってモバイルのセンサーデータを利用するIbm bluemix を使ってモバイルのセンサーデータを利用する
Ibm bluemix を使ってモバイルのセンサーデータを利用する
 
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
 
ハンズオン:Bluemix とスマホでゲームを作ろう!
ハンズオン:Bluemix とスマホでゲームを作ろう! ハンズオン:Bluemix とスマホでゲームを作ろう!
ハンズオン:Bluemix とスマホでゲームを作ろう!
 
「TTNノードのセットアップハンズオン」
「TTNノードのセットアップハンズオン」「TTNノードのセットアップハンズオン」
「TTNノードのセットアップハンズオン」
 
イノベート・ハブ九州 Bluemix勉強会#3
イノベート・ハブ九州 Bluemix勉強会#3イノベート・ハブ九州 Bluemix勉強会#3
イノベート・ハブ九州 Bluemix勉強会#3
 
Soft layerを申込んでみたver3【重要改訂】 140930
Soft layerを申込んでみたver3【重要改訂】 140930Soft layerを申込んでみたver3【重要改訂】 140930
Soft layerを申込んでみたver3【重要改訂】 140930
 
Intalio cloud development way in Japanese
Intalio cloud development way in JapaneseIntalio cloud development way in Japanese
Intalio cloud development way in Japanese
 
Watson.assistant chat bot-20200117
Watson.assistant chat bot-20200117Watson.assistant chat bot-20200117
Watson.assistant chat bot-20200117
 
作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】
作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】
作ったアプリに広告を入れてみよう!収益を最大化させるアプリ内広告を実装する方法 【appC cloud school】
 
Unity appC cloudを使ってゲームアプリに課金機能を入れよう。
Unity appC cloudを使ってゲームアプリに課金機能を入れよう。Unity appC cloudを使ってゲームアプリに課金機能を入れよう。
Unity appC cloudを使ってゲームアプリに課金機能を入れよう。
 
APEX Workshop I 日本語版
APEX Workshop I 日本語版APEX Workshop I 日本語版
APEX Workshop I 日本語版
 
IoTクラウドで拡がるBluemixの世界
IoTクラウドで拡がるBluemixの世界IoTクラウドで拡がるBluemixの世界
IoTクラウドで拡がるBluemixの世界
 
【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!
 
enebular INFOMOTION デモ環境のつくりかた
enebular INFOMOTION デモ環境のつくりかたenebular INFOMOTION デモ環境のつくりかた
enebular INFOMOTION デモ環境のつくりかた
 
SORACOM LTE-M Buttonって何?
SORACOM LTE-M Buttonって何?SORACOM LTE-M Buttonって何?
SORACOM LTE-M Buttonって何?
 
Unity Cloud Buildの使い方
Unity Cloud Buildの使い方Unity Cloud Buildの使い方
Unity Cloud Buildの使い方
 
Unity開発アプリに広告実装するよー!
Unity開発アプリに広告実装するよー!Unity開発アプリに広告実装するよー!
Unity開発アプリに広告実装するよー!
 
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
 

IBM IoT Foundation - Develop IoT Appl in 10 min

  • 1. © 2015 IBM Corporation1 IBM  IoT  FoundationとNode-‐‑‒REDで IoTアプリを作ってみる Tohru  Suzuki Analy1cs,  IBM  Japan
  • 2. © 2015 IBM Corporation2 まずは事前準備...
  • 3. © 2015 IBM Corporation3 IBM  Bluemix  利利⽤用登録 n  http://ibm.biz/bluemixfree  にア クセスします。もしくは bluemix.netへアクセスし 「サインアップ」を選択します n  登録したアドレスに  IBM  Bluemix よりメールが届きます n  メール本⽂文内のリンクをクリック することでアカウントの有効化が ⾏行行われます
  • 4. © 2015 IBM Corporation4 Bluemix  へログイン Bluemix  にログインします n Webブラウザを起動し、Bluemix  にアクセスします。下記URLを ⼊入⼒力力します   http://bluemix.net/ n 表⽰示された画⾯面右上の「ログイン」  をクリックします n ユーザーIDとパスワードを⼊入⼒力力して「サインイン」ボタンをクリック します ログインが成功すると  Bluemix  の Dashboardが表⽰示されます
  • 5. © 2015 IBM Corporation5 作業する地域を確認する Bluemixは、「米国南部」と「英国」の2つの地域で稼動しています 上部メニューの 「地域」 をクリックすることで、稼動する環境を選択する ことができます n  今回は「米国南部」を利用しますので、地域が「米国南部」になってい ることを確認してください n  「英国」になっている場合は、「地域」をクリックして、「米国南部」 を選択してください
  • 6. © 2015 IBM Corporation6 [補⾜足]  「⽶米国南部」選択時のポップアップへの対 応⽅方法 ⽶米国南部を選択した際に、スペースを作成するように指⽰示するポップア ップ・ウィンドウが表⽰示された場合は、任意の名前を⼊入⼒力力し、作成をクリ ックしてください たとえば開発⽤用として 「dev」などと 指定します
  • 7. © 2015 IBM Corporation7 IoTアプリを作成してみる...
  • 8. © 2015 IBM Corporation8 ハンズオンの概要 n  Internet  of  Thingsの”ボイラープレート”(テンプレート )を使⽤用して、クラウド上のセンサー・シミュレーター のデータを活⽤用します n  ボイラープレートに含まれるNode-‐‑‒REDというツール を⽤用いて、センサー・データ(温度度、湿度度など)を活⽤用する   IoT  アプリを作成します センサー・ シミュレー ター
  • 9. © 2015 IBM Corporation9 IoTセンサーのシミュレーターを⽤用意する  (1) n  このハンズオンではセンサーのシミュレーターを使⽤用します n  https://developer.ibm.com/iotfoundation/  へアクセスして“IBM  IoT   Foundation”のレシピページを開きます。ここには種々のIoTデバイス をセットアップするためのスクリプトや⼿手順などが提供されています n  画⾯面右上の”Simulate  a  device”メニューをクリックして、IoTセンサー ・シミュレーターのページを開きます
  • 10. © 2015 IBM Corporation10 IoTセンサーのシミュレーターを⽤用意する(2) n  「Device  Simulator」の画⾯面の“Connect”セク ションにあるURLをクリックすると、次ページの IoTセンサー・シミュレーターが表⽰示されます n  クラウド上にIoTセンサーのシミュレーターが ⼀一つ起動され、MACアドレスがアサインされます
  • 11. © 2015 IBM Corporation11 IoTセンサーのシミュレーターを⽤用意する(3) n  起動されたIoTセンサーのシミュレーターで左右の⽮矢印をクリックす ると、温度度、湿度度、オブジェクト温度度が表⽰示されます。また画⾯面下部の ⽮矢印を操作すると温度度などを上下させられます n  これらの値は毎秒クラウド上に発信されるので、実際に物理理的な装置を 持っていなくても、IoTデータのシミュレーターとして使⽤用できます n  右上に当デバイスの  MAC  アドレスが表⽰示されるので、メモしておき ます。 後のステップで 使⽤用するので、 このタブは開いた ままにしておきます
  • 12. © 2015 IBM Corporation12 ボイラープレートでアプリケーションを作成する  (1) n  Bluemix  には予めランタイムやサービスを組み合わせたボイラープレート   (テンプレート)が⽤用意されています これを利利⽤用することで、簡単に  Bluemix  アプリケーションを開発する ことができます n  Bluemix  の  カタログメニューにボイラープレートを確認してください 各ボイラープレートをクリックすると、それがどのランタイム、サービ スを組み合わせたものか説明されています
  • 13. © 2015 IBM Corporation13 ボイラープレートでアプリケーションを作成する  (2) n  “Internet  of  Things  Foundation”をクリックします。このボイラー プレートは、以下のコンポーネントから構成されていることが分かります -‐‑‒  SDK  for  Node.js   -‐‑‒  Cloudant  NoSQL  DB n  「名前」欄に固有のアプリ名を⼊入⼒力力します。このアプリ名がURLの⼀一部 になります(そのため、“test”などのアプリ名はすでに誰かが使っていて URLにならないのでアプリ名として登録できません)
  • 14. © 2015 IBM Corporation14 ボイラープレートでアプリケーションを作成する  (3) n  左上の、「ダッシュボードに戻る」をクリックします n  ダッシュボードに  アプリケーションと  Cloudant  NoSQL  DB  のサービ スが追加されることを確認します n  アプリケーションの状態が⻘青信号になるのを待ち、右下のリンク・アイ コン、もしくは「経路路:」に表⽰示されるURLをクリックします  
  • 15. © 2015 IBM Corporation15 Node-‐‑‒RED  で  IoT  アプリを作成する  (1) n  Node-‐‑‒RED  のページが表⽰示されます。「Go  to  your  Node-‐‑‒RED  flow   editor」ボタンをクリックし、Node-‐‑‒RED  フロー・エディターを起動し ます n  Node-‐‑‒RED  は、IoT  のフローを構築するためのビジュアル・ツールで、 開発したシステムを簡単に  Bluemix  にデプロイすることが可能になっ ています。ここでは、温度度センサーにより取得したデータによって処理理 を変えるような  IoT  システムを作成していきます クリック
  • 16. © 2015 IBM Corporation16 Node-‐‑‒RED  で  IoT  アプリを作成する  (2) n  Node-‐‑‒REDフロー・エディターによって、IoT  アプリの処理理フローを定 義していきます n  サンプルのフローが以下のようにあらかじめ定義されています。これ が「正解」なので、このページ(タブ)はそのまま置いておいて、画⾯面 右上の「+」印をクリックして2ページ⽬目を開き、そこに下記と同じフ ローを作ってIoTアプリの作成を⾏行行っていきます
  • 17. © 2015 IBM Corporation17 Node-‐‑‒RED  で  IoT  アプリを作成する  (3) n  先ず、温度度データの⼊入⼒力力元である  IoTセンサーのノードを定義します。 左のパレットの  inputs:ibmiot  を中央のキャンバスにドラッグドロッ プし、ダブルクリックします n  Edit  ibmiot  in  node  のダイアログ・ボックスで以下を選択・⼊入⼒力力します Authentication:  Quickstart Input  Type:  Device  Event Device  Id:  xxxxxxxxxxx             (Sensor  の  MAC  アドレスを⼩小⽂文字で⼊入⼒力力) Name:  IoTセンサー 「Ok」ボタンをクリックします。
  • 18. © 2015 IBM Corporation18 Node-‐‑‒RED  で  IoT  アプリを作成する  (4) n  次に、IoTセンサーのデータから温度度データを取り出す  function  ノード を定義します n  パレットの  functions:function  をキャンバスにドラッグドロップし、 ダブルクリックします n  Edit  function  node  のダイアログ・ボックスで以下のように⼊入⼒力力します。 Name:  温度度 Function:  return  {payload:msg.payload.d.temp}; 「Ok」ボタンをクリックします。 n  「IoTセンサー」と「温度度」をマウスでつないでリンクします
  • 19. © 2015 IBM Corporation19 Node-‐‑‒RED  で  IoT  アプリを作成する  (5) n  次に、温度度データの条件分岐を指定する  switch  ノードを定義します ここでは、温度度40度度以下と40度度超で分岐するよう設定します n  パレットの  functions:switch  を中央のキャンバスに ドラッグドロップし、ダブルクリックします n  Edit  switch  node  のダイアログ・ボックスで以下のように⼊入⼒力力します Name:  温度度判断 分岐条件に以下のようになるように追加します (  +rule  ボタンをクリックして追加): if  msg.payload <= 40 >   40 「Ok」ボタンをクリックします。 n  「温度度」と「温度度判断」をリンクします
  • 20. © 2015 IBM Corporation20 n  2つ⽬目のEdit  template  node  のダイアログ・ボックスには以下のように⼊入⼒力力 します Name:  危険な状況 Template:  温度度  ({{payload}})  は危険です!確認してください!   「Ok」ボタンをクリックします n  右図のようにリンクします Node-‐‑‒RED  で  IoT  アプリを作成する  (6) n  次に、条件ごとの処理理を指定する  template  ノードを定義します。ここ ではメッセージ出⼒力力をそれぞれ設定します n  パレットの  functions:template  を 2つ、キャンバスにドラッグドロップ します n  1つ⽬目のEdit  template  node  の ダイアログ・ボックスをダブルクリッ クし、以下のように⼊入⼒力力します Name:  安全な状況 Template:  温度度  ({{payload}})  は 安全です   「Ok」ボタンをクリックします
  • 21. © 2015 IBM Corporation21 Node-‐‑‒RED  で  IoT  アプリを作成する  (7) n  最後に、処理理結果をモニター出⼒力力するための  debug  ノードを定義します n  パレットの  outputs:debug  をキャンバスにドラッグドロップし、 ダブルクリックします n  Edit  debug  node  のダイアログ・ボックスで以下のように⼊入⼒力力します Output:  message  property  を選択 to:  debug  tab Name:  温度度の判断結果の出⼒力力 「Ok」ボタンをクリックします n  これらのノードを右図のようにリンクします
  • 22. © 2015 IBM Corporation22 Node-‐‑‒RED  で  IoT  アプリを作成する  (8) n  これまでのステップで下図のようなフローができあがります。右上の 「Deploy」ボタンをクリックし、ブラウザ上の定義をクラウド上のアプ リケーションへ反映します。上部に  “Successfully  deployed”  と表⽰示さ れれば、Bluemix  へのデプロイは成功です n  右側のサイドバーを  debug  タブに切切り替えます (必要に応じ、右側にウィンドウが表⽰示されるよう操作します)
  • 23. © 2015 IBM Corporation23 デプロイしたアプリケーションを確認する n  別タブで開いておいたIoTセンサー・シミュレーターの「温度度」のページ を開き、⽮矢印ボタンをクリックして温度度を変更更してみます n  IoTセンサーの温度度が  debug  タブに出⼒力力され、40度度以下であれば、”温度度   (xx)  は安全です”  と出⼒力力されることを確認します n  IoTセンサーの温度度を上げて、40度度を超えると  “温度度  (xx)  は危険です! 確認んしてください!”  と出⼒力力されることを確認します  
  • 24. © 2015 IBM Corporation24 作成したIoTアプリを拡張してみる 画⾯面左側にある部品を使って、作成したIoTアプリの拡張を試みます。   例例えばTwitterへ出⼒力力する部品やメールを発 信する部品などもあるので、前ページまでの 例例で温度度が40度度を超えたらTwitterへ「危険 です!逃げましょう!」とつぶやく、といっ た変更更も可能です。またデータベースへの格 納や結果をWebSocket等を使って他のサービ スへ送る、といった部品も⽤用意されています   Node-‐‑‒REDを使ったアプリ作成の例例や拡張 の⽅方法などについては、QiitaやGitHub、 YouTubeなどを通していろいろご紹介してい ますので、ご参考にして頂ければと思います   IBM  IoT  FoundationとNode-‐‑‒REDを使⽤用した IoTアプリの作成をご紹介しました   お疲れさまでした
  • 25. © 2015 IBM Corporation25 1.  IBM  MessageSightを使ってみる   •  無償評価版ダウンロード   h0ps://developer.ibm.com/messaging/messagesight/   •  MessageSightマニュアル   h0p://www-­‐01.ibm.com/support/knowledgecenter/SSCGGQ/welcome     2.  MQTTの情報   •  MQTT3.1.1仕様(OASISより)   h0p://docs.oasis-­‐open.org/mq0/mq0/v3.1.1/os/mq0-­‐v3.1.1-­‐os.html   •  MQTTクライアント(Pathより)   h0ps://eclipse.org/paho/   3.  MQTT/MessageSightの紹介記事   •  h0p://it.impressbm.co.jp/arMcles/-­‐/10773   •  h0p://www.itmedia.co.jp/enterprise/arMcles/1402/24/news006.html   4.  IoT関連の紹介記事   •  h0p://japan.zdnet.com/arMcle/35063346/   •  h0p://japan.zdnet.com/extra/ibm_bigdatauniversity/35064389/   •  h0p://wired.jp/innovaMoninsights/analyMcs/i001/digital-­‐iot-­‐innovaMon/   Next Step
  • 26. © 2015 IBM Corporation26 26   ワークショップ、セッション、および資料料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃自の⾒見見解を反映したものです。それらは情報提供の⽬目的のみで提供されて おり、いかなる参加者に対しても法律律的またはその他の指導や助⾔言を意図したものではなく、またそのような結果を⽣生むものでもありません。本講演資料料に含まれている情報につ いては、完全性と正確性を期するよう努⼒力力しましたが、「現状のまま」提供され、明⽰示または暗⽰示にかかわらずいかなる保証も伴わないものとします。本講演資料料またはその他の 資料料の使⽤用によって、あるいはその他の関連によって、いかなる損害が⽣生じた場合も、IBMは責任を負わないものとします。  本講演資料料に含まれている内容は、IBMまたはそのサプ ライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤用を規定する適⽤用ライセンス契約の条項を変更更することを意図 したものでもなく、またそのような結果を⽣生むものでもありません。 本講演資料料でIBM製品、プログラム、またはサービスに⾔言及していても、IBMが営業活動を⾏行行っているすべての国でそれらが使⽤用可能であることを暗⽰示するものではありません。本 講演資料料で⾔言及している製品リリース⽇日付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃自の決定権をもっていつでも変更更できるものとし、いかなる⽅方法においても 将来の製品または機能が使⽤用可能になると確約することを意図したものではありません。本講演資料料に含まれている内容は、参加者が開始する活動によって特定の販売、売上⾼高の 向上、またはその他の結果が⽣生じると述べる、または暗⽰示することを意図したものでも、またそのような結果を⽣生むものでもありません。  パフォーマンスは、管理理された環境にお いて標準的なIBMベンチマークを使⽤用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマル チプログラミングの量量、⼊入出⼒力力構成、ストレージ構成、および処理理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーが ここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例例は、それらのお客様がどのようにIBM製品を使⽤用したか、またそれらのお客様が達成した結果の実例例として⽰示されたものです。実際の環境コスト およびパフォーマンス特性は、お客様ごとに異異なる場合があります。 IBM、IBM  ロゴ、ibm.com、InfoSphere、WebSphere  は、世界の多くの国で登録されたInternaMonal  Business  Machines  CorporaMonの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での  IBM  の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。   JavaおよびすべてのJava関連の商標およびロゴは  Oracleやその関連会社の⽶米国およびその他の国における商標または登録商標です。