話題のNode-REDでIoTアプリを
作ってみよう

∼ SoftLayerとBluemixで試してみよう ∼
2015.12.09 初版
2015.12.21 更新	
⽇本アイ・ビー・エム株式会社
クラウド・エバンジェリスト
北瀬公彦
text
© IBM Corporation 2
更新履歴
変更⽇ 変更概要
2015年12⽉9⽇ 初版
2015年12⽉21⽇ プロビジョニングスクリプト変更に伴う変更(Mongo DB Nodeの追加とサービスの起動)
北瀬 公彦
KIMIHIKO KITAsE
http://blogs.itmedia.co.jp/kkitase
@kkitase
⽇本IBM勤務 (前職: Citrix Systems)
マーケティング兼クラウドエバンジェリスト
IBMクラウド(SoftLayerやBluemixなど)を担当
OSS / クラウドコミュニティ⽀援にも従事(XenServerや
Apache CloudStackなど)
仮想化、クラウド関連の記事執筆、講演多数
facebook.com/kkitase
text
© IBM Corporation 4
2020年までにネットに接続するデバイスは、500億 を超える
出典: ncta, GROWTH IN THE INTERNET OF THINGS https://www.ncta.com/broadband-by-the-numbers
text
© IBM Corporation 5
スマートハウスの例
出典: The Internet of Thinks, http://www.bloombergview.com/quicktake/internet-things
ワイヤレスオムツ
オムツが濡れてき
たこをと知らせる
ガーデニング
湿度をモニターし、
⽔が必要なタイミ
ングを知らせる
家具メンテナンス
⽔漏れがおきてい
ることを知らせる
家電センサー
乾燥機にいれるタ
イミングを知らせ
る
アラーム
煙がでていることを
伝える 照明
部屋に⼊ったときに⾃動的
に明かりをつける
⼦供、⾼齢者ケア
侵⼊者があれば、ドアセン
サーがアラームをあげ、
SMSを送る
スマートエアコン
リモートから、部屋の
エアコンをコントロー
ルする
スマートキッチン
オーブンがセットした時
間がくれば、SMSなどで
知らせる
text
© IBM Corporation 6
ちょっと考えてみてください…
○○が、
○○に、
○○と話す
text
© IBM Corporation 7
例えば…
– ⾞が、駐⾞場に、シャッターを開けてと話す
– 家のカメラが、スマホに、侵⼊者ありと話す
– 不在ボックスが、宅配便がついたら、スマホに、教えてくれる
– ビニールハウスが、スマホに、湿度と温度が⾼くなったから、窓をあ
けるようにと教えてくれる
– 体重メーカーが、スマホに肥満度指数を教えてくれる
– ⾃動販売機が、スマホに気温や湿度をみて、本⽇のお勧めの飲みもの
を教えてくれる
© IBM Corporation 8
実際にIoTを活⽤した事例
© IBM Corporation 9
事例紹介:

⽇本IBMらが「天狗舞」で有名な⾞多酒造や、

「満寿泉」で知られる枡⽥酒造店の協⼒を得て、

⽇本IBMらが進めている⽇本酒輸出の実証プロジェクト



⽇本酒を世界中でおいしく

呑めるなんて、うれしい!
text
© IBM Corporation 10
⽣産管理からクラウド分析まで、

ITをフル活⽤して攻勢に出る⽇本酒
– 背景
• 輸出している途中で商品の⽇本酒が紛失し
たり、偽造品にすり替えられることを防⽌
– 解決策
• 酒瓶⼀つひとつに貼ってある紙のラベルに、
ICタグを埋め込み、流通経路のトレーサビ
リティーを確保
• 各タグから送られてくるデータは、IBMの
クラウド・サービスSoftLayerに収集され、
グローバル規模でのデータ管理
text
© IBM Corporation 11
⽇本酒物流可視化プロジェクト
– 真贋タグ (新規開発) と温度管理ロガー、QRコード等をクラウド上でデータ連携
– EPCコード(商品識別⽤)体系上の⼀貫した採番を国を跨いだクラウド環境で利⽤
text
© IBM Corporation 12
利⽤したタグ、リーダー・クラウド
n  真贋タグ(凸版印刷㈱様作成RFID) n  温度ロガー(市販品から) n  QRコード印字
n  箱タグ
n  ガン型(国内:ATID880) n  スマートフォン・パッド
l  搬送効率の良いRFID読み取り n  ガン型(タイ:ATID870)
l  RFID読み取り(業務⽤汎⽤)
l  QRコード読み取り(⼀般⼈)
l  偽物のチェック・プロテクト l  温度変化のチェック l  ⼀般ユーザーへの情報提供
l  箱単位の管理
 ※これはイメージです
n  パブリッククラウド環境とグローバル・データ・フォーマット
+ EPCコード体系
タグリーダー&アップローダープラットフォーム
 ※これはイメージです
n  PC
l  アップロード⽤SW&USB
n  ⾞型(慶応⼤学様作成)
text
© IBM Corporation 13
タイへ⽇本酒を輸出した時の流れ
わざと真贋タグを切る
真贋タグ他を
セットする
ガンタイプでRFIDの読み取り
輸出待ち倉庫
空港エリア
真贋タグ他を、出荷時点で、
 最初のデータとして読み込む
ULD搭載
複数物流業者
⼀時保管
6/22 〜 6/23の2⽇間で各酒造から出荷作業、輸出待ち倉庫で合流、そして空港へ
text
© IBM Corporation 14
タイへ⽇本酒を輸出した時の流れ
タイ最新鋭⾷品⽤倉庫
ホテル オークラ会場
保税
エリア
温度変化をアップロード
      RFIDの読み取り
スマホでQRを読む
⼀時保管
⼀時保管
通関がなかなか通らず保税エリアにて⻑期に滞留、
そして7/9の⼣⽅に倉庫⼊庫(当初予定は7/3⽬標)、7/10報告会
text
© IBM Corporation 15
基本の物流状況の情報の可視化を⾏う「箱タグ」
どのタイミングでどこを通過したのか?(ルートは正しい? 想定外のルート? 滞留は?)
text
© IBM Corporation 16
どの区間で破られたのか?がわかる
text
© IBM Corporation 17
輸送中の温度変化は?
レストラン到着時 出庫時〜⽇本の空港  タイ空港?
 タイ保税エリア(⻑期)
text
© IBM Corporation 18
遠いからこそ消費者とシェアする⼊り⼝としてのQRコード

そして+α
お酒基本情報
と他へのリンク
温度トレース情報 ⾷べ合わせ

お薦めレシピ情報
企業のFacebook
© IBM Corporation 19
事例紹介:

株式会社データ・テック


⾞の運⾏データをSoftLayerに集めて
解析、管理や教育に役⽴てる
© IBM Corporation 20
普段の運転振り
SR運転診断書
振
り
⼦
の
揺
れ
を
点
数
化 
 
や
さ
し
い
運
転
は
⾼
得
点
「運転のくせ」を
教えてくれます!
SRは、
「事故に遭いにくい運転操作」
を導きます!
ヒヤリハット
発⽣すると
振り⼦が⼤きく揺れる!!
「いつ」「どこで」「どんな操作」
をしたかを発⽣地点の地図で確認可能
セイフティ・レコーダーとは
© IBM Corporation 21
SR-WEB解析システム(概要)
<⾞両側>
・運⾏データ送信
・位置データ送信
<現地PC>
・⽇報データ閲覧
・安全運転確認書印刷
・集計データ閲覧等
<⽇本国内PC>
・⽇報データ閲覧
・安全運転確認書印刷
・集計データ閲覧等
SR-WEB解析システムはクラウドサーバーに構築されており、
⾞載機データは、3G通信でリアルタイムに転送されます。
© IBM Corporation 22
⾛⾏データ
速度チャートなどの⾛⾏データを表⽰・印刷することができます。
© IBM Corporation 23
運転診断
運転診断結果を表⽰・印刷することができます。
© IBM Corporation 24
⾛⾏軌跡
1分毎の⾛⾏履歴を表⽰することができます。
© IBM Corporation 25
現在位置
1分毎の⾛⾏履歴を表⽰することができます。
© IBM Corporation 26
⼀覧集計
1か⽉の運⾏データの⼀覧と集計ができます。
© IBM Corporation 27
実際に試してみたいと思いませんか
© IBM Corporation 28
IoTの典型的なアーキテクチャ
センサー
センサー デバイス
デバイス
MQTT
サーバー
アプリケー
ション
パブリッシャー
サブスクライバー
代表的なブローカー
・IBM MessageSight
・Mosquitto
・Apache Apollo
など
ブローカー
鉄板構成
・Node.js
・MongoDB
BLE
MQTT
MQTT
MQTT
ビッグ
データ
クラウド
モバイル
© IBM Corporation 29
IBM Bluemixで試してみよう
© IBM Corporation 30
Bluemixで試してみよう
IBM IoT
Foundation
MQTT
サーバー
IBM Bluemix
Node-RED
Node.js
Cloudant
(NoSQL)
センサー
(ダミー)
MQTT
MQTT
HTTP
ブラウザー
WebSocket
気温や湿度を収集(デ
モではダミー・データ
を送信)
設定気温以上になると
ツイッター、SMSで
通知
センサーから得られたデータはDB
に蓄積し、ブラウザー画⾯へ⼀定
間隔で反映(WebSocketを使⽤)
パブリッシュ
サブスクライブ
MQTTクライアント
MQTTクライアント
外部サービス
Twitter
TwilioHTTP
Bluemix IoT

Boilerplates
text
© IBM Corporation 31
デモ
– 温度、湿度、表⾯温度をトラッキング
– 加速度センサーにより、傾きをトラッキング
© IBM Corporation 32
IBM SoftLayerで試してみよう
© IBM Corporation 33
Node-REDとは
nodered.org
groups.google.com/forum/#!forum/node-red
twitter.com/nodered
github.com/node-red/node-red
– 2013年に
IBM Emerging Technologyで、
オープンソースプロジェクトと
して開発
• Nick O'Leary @knolleary
• Dave Conway-Jones @ceejay
© IBM Corporation 34
http://ibm.github.io
text
© IBM Corporation 35
nodered.org
IoTアプリを作る為の
ビジュアルツール
※IoTアプリ以外の開発もできる
簡単にインストー
ルできる
text
© IBM Corporation 36
nodered.org
ブラウザーベースの
フローエディター
Node.jsで
書かれている
text
© IBM Corporation 37
nodered.org
フローをエクスポー
トして共有できる
⾊々なノードを利⽤
することができる
© IBM Corporation 38
Node-REDとMQTTブローカーをSoftLayer上のサーバーに
いれてみる
センサー
センサー デバイス
デバイス
MQTT
サーバー
アプリケー
ション
パブリッシャー
サブスクライバー
Mosquitto
ブローカー
BLE
MQTT
MQTT
MQTT
Node-RED
Node.js
今回は同じサーバー
text
© IBM Corporation 39
SoftLayer でサーバー(ブローカー兼Node-RED)を作成
– SoftLayer 上で下記スペックの仮想インスタンス(Virtual Server (public node))を
作成
– 仮想インスンタスが作成されても、プロビジョニングスクリプト完了に数分かか
ります。ログイン時に”Provisioning was successful.”と表⽰されるまでお待ち下さい。
Data Center TOK02 - Tokyo
Operating System CentOS 6.x - Minimal Install (64 bit)
Advanced Monitoring None
Monitoring Host Ping
Response Automated Notification
Provisioning script https://raw.githubusercontent.com/kkitase/softlayer-provisioning-script/master/
centos-nodered
(MQTTブローカー ”mosquitto”、Node-RED等をインストールするプロビジョニングス
クリプト)
Host Name 任意(例: nodered)
Domain Name 任意(例: handson.jp)
インストール手順は
ここをみてください
text
© IBM Corporation 40
mosquitto(ブローカー)の起動とテスト
1.  Mosquitto(ブローカーサービス)をインストール
cd /etc/yum.repos.d
wget http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/
home:oojah:mqtt.repo
yum install mosquitto -y
/usr/sbin/mosquitto &
chkconfig mosquitto on
2.  Mosquitto_client(パブリッシャー)をインストール
yum install mosquitto-clients -y
3.  Mosquitto(ブローカーサービス)の起動
/usr/sbin/mosquitto
2. 別のターミナルで、Subscribe するクライアントを⽴ち上げておきます。トピックは “hello” としておきます。
mosquitto_sub -d -t hello
3. 別のターミナルから、メッセージを Publish してみます。
mosquitto_pub -d -t hello -m "Hello World”
4. Subscribe している側にメッセージが送信されたのが確認できます。
Client mosqsub/13885-nodered4. received PUBLISH (d0, q0, r0, m0, 'hello', ... (11 bytes))
Hello World!!!
こ
こ
ま
で
プ
ロ
ビ
ジ
ニ
ン
グ
ス
ク
リ
プ
ト
で
完
了
済
み
text
© IBM Corporation 41
Node-REDの起動
1.  Node-REDのインストール
yum install epel-release -y
yum install nodejs npm --enablerepo=epel -y
2.  基本的なNodeのインストール
npm install -g node-red
npm install -g node-red-node-mongodb
npm install -g node-red-contrib-mongodb2
3.  node-redを起動
node-red &
4.  node-redにアクセス
http://<IP address>:1880
こ
こ
ま
で
プ
ロ
ビ
ジ
ニ
ン
グ
ス
ク
リ
プ
ト
で
完
了
済
み
text
© IBM Corporation 42
メッセージの受信を試してみよう
MQTTブローカーからの
メッセージinputノード	
debugノード	
MQTTブローカーの
登録	
最後にDeployボ
タンを押すのを
忘れずに
text
© IBM Corporation 43
メッセージの受信を試してみよう
ターミナルで、パブリッシャーから、”Hello World”を送信
mosquitto_pub -d -t hello -m "Hello World"
Node-REDのdebugノードで、正しく出⼒されたか確認
text
© IBM Corporation 44
ノード (Node)とは
text
© IBM Corporation 45
inputノード
Debug
ノード
Function
ノード
スイッチ
ノード
Social
ノード
フロー (Flow)とは
text
© IBM Corporation 46
もっと⾯⽩いノードないの?
たとえば
npm install –g node-red-contrib-slack
npm install -g node-red-bluemix-nodes
node-redの再起動
https://www.npmjs.com/browse/keyword/node-red 	 http://flows.nodered.org
text
© IBM Corporation 47
フローをインポートもできる
http://flows.nodered.org
text
© IBM Corporation 48
フローのインポート
text
© IBM Corporation 49
Node-REDユーザー会
https://www.facebook.com/groups/noderedjp
https://nodered.jp(未完成)
–  User Groupの概要
–  公式ドキュメント翻訳
–  nodered.orgへの導線
https://github.com/node-red-jp
–  User Group Webサイトリポジトリ
–  nodered.org&Qiita監視flowなど
http://qiita.com/tags/node-red
–  nodeやflowの活⽤例の投稿
–  User Group WebサイトからQiita APIで取得
代表の古城さん
http://www.slideshare.net/joeartsea/nodered-user-group-japan より
IBMクラウドコミュニティ
jslug.jp
softlayer.connpass.com
softlayer.doorkeeper.com
facebook.com/groups/jslug
info@jslug.jp
youtube.com/user/softlayerjp
twitter.com/softlayerjp
qiita.com/tags/softlayer
ja.stackoverflow.com/questions/tagged/softlayer
bmxug.doorkeeper.jp
ibm.biz/bluemixug
qiita.com/tags/bluemix
ja.stackoverflow.com/questions/tagged/bluemix
Accelerating Digital Business

話題のNode-REDでIoTアプリを作ってみよう

  • 1.
    話題のNode-REDでIoTアプリを 作ってみよう
 ∼ SoftLayerとBluemixで試してみよう ∼ 2015.12.09初版 2015.12.21 更新 ⽇本アイ・ビー・エム株式会社 クラウド・エバンジェリスト 北瀬公彦
  • 2.
    text © IBM Corporation2 更新履歴 変更⽇ 変更概要 2015年12⽉9⽇ 初版 2015年12⽉21⽇ プロビジョニングスクリプト変更に伴う変更(Mongo DB Nodeの追加とサービスの起動)
  • 3.
    北瀬 公彦 KIMIHIKO KITAsE http://blogs.itmedia.co.jp/kkitase @kkitase ⽇本IBM勤務(前職: Citrix Systems) マーケティング兼クラウドエバンジェリスト IBMクラウド(SoftLayerやBluemixなど)を担当 OSS / クラウドコミュニティ⽀援にも従事(XenServerや Apache CloudStackなど) 仮想化、クラウド関連の記事執筆、講演多数 facebook.com/kkitase
  • 4.
    text © IBM Corporation4 2020年までにネットに接続するデバイスは、500億 を超える 出典: ncta, GROWTH IN THE INTERNET OF THINGS https://www.ncta.com/broadband-by-the-numbers
  • 5.
    text © IBM Corporation5 スマートハウスの例 出典: The Internet of Thinks, http://www.bloombergview.com/quicktake/internet-things ワイヤレスオムツ オムツが濡れてき たこをと知らせる ガーデニング 湿度をモニターし、 ⽔が必要なタイミ ングを知らせる 家具メンテナンス ⽔漏れがおきてい ることを知らせる 家電センサー 乾燥機にいれるタ イミングを知らせ る アラーム 煙がでていることを 伝える 照明 部屋に⼊ったときに⾃動的 に明かりをつける ⼦供、⾼齢者ケア 侵⼊者があれば、ドアセン サーがアラームをあげ、 SMSを送る スマートエアコン リモートから、部屋の エアコンをコントロー ルする スマートキッチン オーブンがセットした時 間がくれば、SMSなどで 知らせる
  • 6.
    text © IBM Corporation6 ちょっと考えてみてください… ○○が、 ○○に、 ○○と話す
  • 7.
    text © IBM Corporation7 例えば… – ⾞が、駐⾞場に、シャッターを開けてと話す – 家のカメラが、スマホに、侵⼊者ありと話す – 不在ボックスが、宅配便がついたら、スマホに、教えてくれる – ビニールハウスが、スマホに、湿度と温度が⾼くなったから、窓をあ けるようにと教えてくれる – 体重メーカーが、スマホに肥満度指数を教えてくれる – ⾃動販売機が、スマホに気温や湿度をみて、本⽇のお勧めの飲みもの を教えてくれる
  • 8.
    © IBM Corporation8 実際にIoTを活⽤した事例
  • 9.
    © IBM Corporation9 事例紹介:
 ⽇本IBMらが「天狗舞」で有名な⾞多酒造や、
 「満寿泉」で知られる枡⽥酒造店の協⼒を得て、
 ⽇本IBMらが進めている⽇本酒輸出の実証プロジェクト
 
 ⽇本酒を世界中でおいしく
 呑めるなんて、うれしい!
  • 10.
    text © IBM Corporation10 ⽣産管理からクラウド分析まで、
 ITをフル活⽤して攻勢に出る⽇本酒 – 背景 • 輸出している途中で商品の⽇本酒が紛失し たり、偽造品にすり替えられることを防⽌ – 解決策 • 酒瓶⼀つひとつに貼ってある紙のラベルに、 ICタグを埋め込み、流通経路のトレーサビ リティーを確保 • 各タグから送られてくるデータは、IBMの クラウド・サービスSoftLayerに収集され、 グローバル規模でのデータ管理
  • 11.
    text © IBM Corporation11 ⽇本酒物流可視化プロジェクト – 真贋タグ (新規開発) と温度管理ロガー、QRコード等をクラウド上でデータ連携 – EPCコード(商品識別⽤)体系上の⼀貫した採番を国を跨いだクラウド環境で利⽤
  • 12.
    text © IBM Corporation12 利⽤したタグ、リーダー・クラウド n  真贋タグ(凸版印刷㈱様作成RFID) n  温度ロガー(市販品から) n  QRコード印字 n  箱タグ n  ガン型(国内:ATID880) n  スマートフォン・パッド l  搬送効率の良いRFID読み取り n  ガン型(タイ:ATID870) l  RFID読み取り(業務⽤汎⽤) l  QRコード読み取り(⼀般⼈) l  偽物のチェック・プロテクト l  温度変化のチェック l  ⼀般ユーザーへの情報提供 l  箱単位の管理  ※これはイメージです n  パブリッククラウド環境とグローバル・データ・フォーマット + EPCコード体系 タグリーダー&アップローダープラットフォーム  ※これはイメージです n  PC l  アップロード⽤SW&USB n  ⾞型(慶応⼤学様作成)
  • 13.
    text © IBM Corporation13 タイへ⽇本酒を輸出した時の流れ わざと真贋タグを切る 真贋タグ他を セットする ガンタイプでRFIDの読み取り 輸出待ち倉庫 空港エリア 真贋タグ他を、出荷時点で、  最初のデータとして読み込む ULD搭載 複数物流業者 ⼀時保管 6/22 〜 6/23の2⽇間で各酒造から出荷作業、輸出待ち倉庫で合流、そして空港へ
  • 14.
    text © IBM Corporation14 タイへ⽇本酒を輸出した時の流れ タイ最新鋭⾷品⽤倉庫 ホテル オークラ会場 保税 エリア 温度変化をアップロード       RFIDの読み取り スマホでQRを読む ⼀時保管 ⼀時保管 通関がなかなか通らず保税エリアにて⻑期に滞留、 そして7/9の⼣⽅に倉庫⼊庫(当初予定は7/3⽬標)、7/10報告会
  • 15.
    text © IBM Corporation15 基本の物流状況の情報の可視化を⾏う「箱タグ」 どのタイミングでどこを通過したのか?(ルートは正しい? 想定外のルート? 滞留は?)
  • 16.
    text © IBM Corporation16 どの区間で破られたのか?がわかる
  • 17.
    text © IBM Corporation17 輸送中の温度変化は? レストラン到着時 出庫時〜⽇本の空港  タイ空港?  タイ保税エリア(⻑期)
  • 18.
    text © IBM Corporation18 遠いからこそ消費者とシェアする⼊り⼝としてのQRコード
 そして+α お酒基本情報 と他へのリンク 温度トレース情報 ⾷べ合わせ
 お薦めレシピ情報 企業のFacebook
  • 19.
    © IBM Corporation19 事例紹介:
 株式会社データ・テック 
 ⾞の運⾏データをSoftLayerに集めて 解析、管理や教育に役⽴てる
  • 20.
    © IBM Corporation20 普段の運転振り SR運転診断書 振 り ⼦ の 揺 れ を 点 数 化    や さ し い 運 転 は ⾼ 得 点 「運転のくせ」を 教えてくれます! SRは、 「事故に遭いにくい運転操作」 を導きます! ヒヤリハット 発⽣すると 振り⼦が⼤きく揺れる!! 「いつ」「どこで」「どんな操作」 をしたかを発⽣地点の地図で確認可能 セイフティ・レコーダーとは
  • 21.
    © IBM Corporation21 SR-WEB解析システム(概要) <⾞両側> ・運⾏データ送信 ・位置データ送信 <現地PC> ・⽇報データ閲覧 ・安全運転確認書印刷 ・集計データ閲覧等 <⽇本国内PC> ・⽇報データ閲覧 ・安全運転確認書印刷 ・集計データ閲覧等 SR-WEB解析システムはクラウドサーバーに構築されており、 ⾞載機データは、3G通信でリアルタイムに転送されます。
  • 22.
    © IBM Corporation22 ⾛⾏データ 速度チャートなどの⾛⾏データを表⽰・印刷することができます。
  • 23.
    © IBM Corporation23 運転診断 運転診断結果を表⽰・印刷することができます。
  • 24.
    © IBM Corporation24 ⾛⾏軌跡 1分毎の⾛⾏履歴を表⽰することができます。
  • 25.
    © IBM Corporation25 現在位置 1分毎の⾛⾏履歴を表⽰することができます。
  • 26.
    © IBM Corporation26 ⼀覧集計 1か⽉の運⾏データの⼀覧と集計ができます。
  • 27.
    © IBM Corporation27 実際に試してみたいと思いませんか
  • 28.
    © IBM Corporation28 IoTの典型的なアーキテクチャ センサー センサー デバイス デバイス MQTT サーバー アプリケー ション パブリッシャー サブスクライバー 代表的なブローカー ・IBM MessageSight ・Mosquitto ・Apache Apollo など ブローカー 鉄板構成 ・Node.js ・MongoDB BLE MQTT MQTT MQTT ビッグ データ クラウド モバイル
  • 29.
    © IBM Corporation29 IBM Bluemixで試してみよう
  • 30.
    © IBM Corporation30 Bluemixで試してみよう IBM IoT Foundation MQTT サーバー IBM Bluemix Node-RED Node.js Cloudant (NoSQL) センサー (ダミー) MQTT MQTT HTTP ブラウザー WebSocket 気温や湿度を収集(デ モではダミー・データ を送信) 設定気温以上になると ツイッター、SMSで 通知 センサーから得られたデータはDB に蓄積し、ブラウザー画⾯へ⼀定 間隔で反映(WebSocketを使⽤) パブリッシュ サブスクライブ MQTTクライアント MQTTクライアント 外部サービス Twitter TwilioHTTP Bluemix IoT
 Boilerplates
  • 31.
    text © IBM Corporation31 デモ – 温度、湿度、表⾯温度をトラッキング – 加速度センサーにより、傾きをトラッキング
  • 32.
    © IBM Corporation32 IBM SoftLayerで試してみよう
  • 33.
    © IBM Corporation33 Node-REDとは nodered.org groups.google.com/forum/#!forum/node-red twitter.com/nodered github.com/node-red/node-red – 2013年に IBM Emerging Technologyで、 オープンソースプロジェクトと して開発 • Nick O'Leary @knolleary • Dave Conway-Jones @ceejay
  • 34.
    © IBM Corporation34 http://ibm.github.io
  • 35.
    text © IBM Corporation35 nodered.org IoTアプリを作る為の ビジュアルツール ※IoTアプリ以外の開発もできる 簡単にインストー ルできる
  • 36.
    text © IBM Corporation36 nodered.org ブラウザーベースの フローエディター Node.jsで 書かれている
  • 37.
    text © IBM Corporation37 nodered.org フローをエクスポー トして共有できる ⾊々なノードを利⽤ することができる
  • 38.
    © IBM Corporation38 Node-REDとMQTTブローカーをSoftLayer上のサーバーに いれてみる センサー センサー デバイス デバイス MQTT サーバー アプリケー ション パブリッシャー サブスクライバー Mosquitto ブローカー BLE MQTT MQTT MQTT Node-RED Node.js 今回は同じサーバー
  • 39.
    text © IBM Corporation39 SoftLayer でサーバー(ブローカー兼Node-RED)を作成 – SoftLayer 上で下記スペックの仮想インスタンス(Virtual Server (public node))を 作成 – 仮想インスンタスが作成されても、プロビジョニングスクリプト完了に数分かか ります。ログイン時に”Provisioning was successful.”と表⽰されるまでお待ち下さい。 Data Center TOK02 - Tokyo Operating System CentOS 6.x - Minimal Install (64 bit) Advanced Monitoring None Monitoring Host Ping Response Automated Notification Provisioning script https://raw.githubusercontent.com/kkitase/softlayer-provisioning-script/master/ centos-nodered (MQTTブローカー ”mosquitto”、Node-RED等をインストールするプロビジョニングス クリプト) Host Name 任意(例: nodered) Domain Name 任意(例: handson.jp) インストール手順は ここをみてください
  • 40.
    text © IBM Corporation40 mosquitto(ブローカー)の起動とテスト 1.  Mosquitto(ブローカーサービス)をインストール cd /etc/yum.repos.d wget http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/ home:oojah:mqtt.repo yum install mosquitto -y /usr/sbin/mosquitto & chkconfig mosquitto on 2.  Mosquitto_client(パブリッシャー)をインストール yum install mosquitto-clients -y 3.  Mosquitto(ブローカーサービス)の起動 /usr/sbin/mosquitto 2. 別のターミナルで、Subscribe するクライアントを⽴ち上げておきます。トピックは “hello” としておきます。 mosquitto_sub -d -t hello 3. 別のターミナルから、メッセージを Publish してみます。 mosquitto_pub -d -t hello -m "Hello World” 4. Subscribe している側にメッセージが送信されたのが確認できます。 Client mosqsub/13885-nodered4. received PUBLISH (d0, q0, r0, m0, 'hello', ... (11 bytes)) Hello World!!! こ こ ま で プ ロ ビ ジ ニ ン グ ス ク リ プ ト で 完 了 済 み
  • 41.
    text © IBM Corporation41 Node-REDの起動 1.  Node-REDのインストール yum install epel-release -y yum install nodejs npm --enablerepo=epel -y 2.  基本的なNodeのインストール npm install -g node-red npm install -g node-red-node-mongodb npm install -g node-red-contrib-mongodb2 3.  node-redを起動 node-red & 4.  node-redにアクセス http://<IP address>:1880 こ こ ま で プ ロ ビ ジ ニ ン グ ス ク リ プ ト で 完 了 済 み
  • 42.
    text © IBM Corporation42 メッセージの受信を試してみよう MQTTブローカーからの メッセージinputノード debugノード MQTTブローカーの 登録 最後にDeployボ タンを押すのを 忘れずに
  • 43.
    text © IBM Corporation43 メッセージの受信を試してみよう ターミナルで、パブリッシャーから、”Hello World”を送信 mosquitto_pub -d -t hello -m "Hello World" Node-REDのdebugノードで、正しく出⼒されたか確認
  • 44.
    text © IBM Corporation44 ノード (Node)とは
  • 45.
    text © IBM Corporation45 inputノード Debug ノード Function ノード スイッチ ノード Social ノード フロー (Flow)とは
  • 46.
    text © IBM Corporation46 もっと⾯⽩いノードないの? たとえば npm install –g node-red-contrib-slack npm install -g node-red-bluemix-nodes node-redの再起動 https://www.npmjs.com/browse/keyword/node-red http://flows.nodered.org
  • 47.
    text © IBM Corporation47 フローをインポートもできる http://flows.nodered.org
  • 48.
    text © IBM Corporation48 フローのインポート
  • 49.
    text © IBM Corporation49 Node-REDユーザー会 https://www.facebook.com/groups/noderedjp https://nodered.jp(未完成) –  User Groupの概要 –  公式ドキュメント翻訳 –  nodered.orgへの導線 https://github.com/node-red-jp –  User Group Webサイトリポジトリ –  nodered.org&Qiita監視flowなど http://qiita.com/tags/node-red –  nodeやflowの活⽤例の投稿 –  User Group WebサイトからQiita APIで取得 代表の古城さん http://www.slideshare.net/joeartsea/nodered-user-group-japan より
  • 50.
  • 51.