PowerPoint プレゼンテーション

Similar documents
PowerPoint プレゼンテーション

V-CUBE One

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

MQTTとアンドロイドで 本格的IoTを体験しよう

スライド 1

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

目 次 1. 物 件 入 力 とページ 作 成 1.1. ドリームXジグソーの 一 覧 画 面 の 見 方 基 本 情 報 画 像 登 録 地 図 情 報 SEO 対 策 非 公 開 情 報

TeleOffice 3.0 Lync 2 TO

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

ez_meishi.ppt

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

スライド 1

Microsoft Word - 新ユーザー専用ページ機能詳細・マニュアル.doc

スライド 1

目 次 ログインする 前 に... 4 メンバー 管 理 編 ( 管 理 者 )... 5 ログインする... 6 トップページについて... 7 メンバー 管 理 をする... 8 メンバー 管 理 画 面 について 医 療 機 関 指 定 新 規 追 加 指 定...

< A B E786C7378>

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

5-2 一 般 ユーザー 用 :メール 2 送 信 者 のリンクをクリックすると 受 信 メールの 内 容 を 見 ることができます 受 信 メール 内 容 画 面 項 目 送 信 者 宛 先 CC 本 文 (テキスト) 本 文 (HTML) メールアドレスのリンクをクリックするとアドレス 帳 へ

スライド 1

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

SPARQL Finder設置方法

図 2 のような 画 面 が 表 示 されるので Install Proself Disk.pkg を 右 クリック(Ctrl+クリック)して 開 く をクリックしてください 図 2 インストーラ 画 面 図 3 のような 画 面 が 表 示 されるので 開 く をクリックしてください 図 3 確

PowerPoint プレゼンテーション

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホ

Basic

変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/ 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/ 動 作 環 境 最 新 のものへ 変 更 全 体 オペレーター の 表 記 を 削 除 2016/5/

<4D F736F F D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D AD97DF914F82CC8FEE95F182CC8EFB8F C28E8B89BB2E646F63>

参 考 1 無 線 局 情 報 入 力 支 援 ( 基 地 局 と 固 定 局 の 事 項 書 のみに 対 応 ) 無 線 局 情 報 入 力 支 援 機 能 とは 過 去 に 申 請 したデータをダウンロードし 無 線 局 インターネット 申 請 アプリケーション で 利 用 できる 便 利 な

目 次 機 能 概 要 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する

4.5. < 参 加 表 明 書 を 提 出 する> 調 達 案 件 一 覧 の 表 示 対 象 となる 案 件 を 検 索 し 調 達 案 件 一 覧 に 表 示 させます 参 加 したい 案 件 の 調 達 案 件 名 称 行 - 入 札 参 加 資 格 確 認 申 請 / 技 術 資 料 /

改 訂 履 歴 訂 番 日 付 頁 変 更 内 容 /02/28 - 新 規 作 成 /11/07 表 紙 タイトルを 修 正 修 正 前 : 東 日 本 大 震 災 アーカイブデータベースシステム 修 正 後 : 災 害 アーカイブデータベースシステム 改

目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

PowerPoint プレゼンテーション

WEBメールシステム 操作手順書

PowerPoint プレゼンテーション

SoftBank 202F 取扱説明書

SchITコモンズ【活用編】

スライド 0

Microsoft Word - 311Tools_END

スライド 1

内 容 1. はじめに メールのログイン 初 めてのログイン メールの 受 信 / 送 信 メールの 受 信 メールの 作 成 と 送 信 メールの 新 規 作 成 メー

端 末 型 払 い 出 しの 場 合 接 続 構 成 図 フレッツ グループから 払 出 されたIPアドレス /32 NTT 西 日 本 地 域 IP 網 フレッツ グループ フレッツ グループから 払 出 されたIPアドレス /

Microsoft Word - FBE3A91F.doc

WEB保守パック申込

PowerPoint プレゼンテーション

Microsoft PowerPoint - webサイト更新マニュアル ppt [互換モード]

パソコンバンクWeb21 操作マニュアル[導入・事前設定編]

スマートフォン版 ログイン画面

タイトル位置

Office 10 パッケージ版「リンク集」

<4D F736F F D20819B93FC97CD CC91808DEC95FB FC92F994C5816A>

BizDataBank とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について BizDataBank サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと

- INDEX - 1 ご 利 用 時 間 1 2 メニュー 1 3 ご 利 用 になる 前 に 行 っていただきたいこと 3 (1) 所 在 地 沿 線 設 定 3 (2) 会 員 情 報 の 管 理 ( 自 社 情 報 の 設 定 ) 5 4 物 件 情 報 の 登 録 8 (1) 操 作 概

事 前 確 認 2 1 事 前 確 認 1-1.ノート/メモパッドを 取 り 付 ける ノートブックタイプ 1 本 体 左 側 のはくりフィルムをはがす 2ノートの 表 紙 を 透 明 ポケットに 挿 入 する 3 表 紙 を 本 体 のへこみに 合 わせ 貼 り 付 ける 本 体

1

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

PowerPoint プレゼンテーション

ご 利 用 の 前 に 手 順 初 回 ご 利 用 時 に 必 ずご 確 認 ください ご 利 用 の 前 に (ご 利 用 環 境 の 確 認 ) P アクセス 方 法 (IMAGE WORKSサイトへアクセス) P 初 期 設 定 (JREのインストール) P

WebAlertクイックマニュアル

改 訂 履 歴 版 概 要 区 分 更 新 日 1.0 新 規 作 成 新 規 2014/06/26 2

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可

Untitled

項 目 を 入 力 し [ 内 容 確 認 ]をクリック *がついているものは 必 須 項 目 になります 入 力 情 報 の 確 認 のページが 表 示 されるので 間 違 いがなければ[ 送 信 ]をクリック 以 上 で 登 録 フォーム 処 理 の 完 了 フォームから 送 られたデータを 確

WebMail ユーザーズガイド

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

Fckeditor の 基 本 的 な 使 い 方 Point!! fckeditor を 上 手 く 使 うコツ 始 めにページ 内 に 一 通 り 文 章 ( 画 像 や 表 を 含 む)を 書 いてから 文 字 装 飾 をして 下 さい 編 集 したいテキストや 画 像 を 選 択 し アイコ

ソ フ ト ウ ェ ア ト ー ク ン の ダ ウ ン ロ ー ド 方 法 以 下 の サ イ ト か ら ダ ウ ン ロ ー ド 方 法 の 確 認 を 行 っ て く だ さ い な お ソ フ ト ウ ェ ア ト ー ク ン に つ い て の 詳 細 や ご 利 用 方 法 よ く あ る

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

<4D F736F F F696E74202D F C A082B882AF816082E ED2834B F91808DEC90E096BE95D C782AF A95D2816A E C5817A2E B8CDD8AB B83685D>

Microsoft PowerPoint - c3_op-manual.pdf

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

<4D F736F F D A838C D836A B5F E646F63>

ゼウスクレジットカード決済システムご利用ショップ様 各位

目 次 はじめに キャンパスメールを 利 用 するには キャンパスメール 利 用 申 請 を 行 う アカウント 有 効 化 (アクティベーション)を 行 う メールの 利 用 WEB ブラウザからメールを 利 用

スライド 1

購買ポータルサイトyOASIS簡易説明書 b

目 次 1. ログイン ログアウト ログイン ログアウト セッション 切 れ マイページ マイページの 見 方 最 近 の 更 新 マイキャビ マイキャビの

文書管理

2011論稿_吉川宏之.indd

PDF閲覧制限システムLight版体験版マニュアル

Gmail 利用者ガイド

2 Wee とは Wee はホームページの 更 新 ツールです Wee は サイトの 枠 組 みをWeb 製 作 業 者 が 作 成 し 更 新 は お 客 様 に 自 由 にしていただこうというコンセプトの 製 品 です インターネットに 繋 がる 場 所 ならどこからでも ブラウザでホームページ

電子納品チェックシステム利用マニュアル

Press Release english

Cloud Disk とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について Cloud Disk サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと 本

PowerPoint プレゼンテーション

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

目 次 目 次... 本 書 の 見 かた... 2 商 標 について... 2 オープンソースライセンス 公 開... 2 はじめに... 3 概 要... 3 使 用 環 境 について... 4 対 応 している OS およびアプリケーション... 4 ネットワーク 設 定... 4 Googl

VersionUP4.3.1

ユーザーガイド

参加表明書・企画提案書様式

R4財務対応障害一覧

1. 目 次 1 目 次 7 会 員 検 索 申 込 2 ログイン 方 法 ( 初 回 ) 8 活 動 状 況 ( 申 込 申 受 お 見 合 い 管 理 ) 3 ログイン 方 法 (2 回 目 以 降 ) 9 活 動 状 況 ( 不 成 立 履 歴 削 除 ) 4 パスワードを 忘 れた 時 は

スライド 1

Microsoft Word - 参考資料:SCC_IPsec_win8__リモート設定手順書_

Microsoft Word - ML_ListManager_10j.doc

CSV_Backup_Guide

特 徴 差 分 点 検 レセ 楽 netの 点 検 方 式 は レセ 電 データを 使 用 した 差 分 点 検 です 前 回 点 検 分 と 比 較 して データ 内 容 と 記 録 順 が 異 なる 場 合 のみ 点 検 を 行 います 追 加 されたデータの 点 検 実 施 病 名 追 加 さ

Transcription:

IBM Bluemix を 使 って モバイルのセンサーデータ を 利 用 する 2015 年 8 月 27 日 1

IoTの 時 代 が 到 来 家 電 や 車 ビルや 工 場 橋 など 世 界 中 の 様 々なモノがインターネットにつ ながり 始 めています HealthCare Smart Scales Connected car Container Tracking Smart Deliveries Vending Machine Smart Meter Mobile Heating and Air Conditioning Building Security 2

2020 年 にネット 接 続 するデバイスは 500 億 を 超 える 3

クラウドサービスを 使 ったIoT アプリの 構 成 例 例 : ビーコンを 活 用 した 新 しい 顧 客 体 験 センサ デバイス 検 知 デバイス クラウド サービス IBM Bluemix ibeacon (BLEデバイス) Bluetooth OpenBlocks (BLE 検 知 デバイス) 接 続 DB バック エンド 連 携 分 析 モバイル 通 知 IoT Foundation Cloudant 4 最 適 な 接 客 クーポン

IoTを 支 える 次 世 代 の 通 信 プロトコル MQTTとは? M2MやIoTの 実 現 に 適 したシンプルで 軽 量 なプロトコル 双 方 向 1 対 Nの 通 信 プロトコルヘッダーは 最 小 2バイト(HTTPだと50バイト~ HTTPの1/10のトラフィック) 省 電 力 Publish/Subscribe 型 であり 同 期 処 理 が 必 要 となるHTTPより 処 理 が 高 速 不 安 定 な 環 境 での 通 信 に 強 い 5 Topicに 投 稿 購 読 者 に 配 信 Topicを 購 読

Bluemix 上 で 利 用 出 来 るMQTT 関 連 サービス IoT Foundation クラウド 上 で 提 供 される MQTTサーバーサービス (MQTT Broker) 認 証 なしで 誰 でも 使 用 出 来 る Quick Start Service が 使 える! Bluemix IoT Service MQTTサーバー 上 へのデータへのアクセスサービス(MQTT Subscriber) IoT Foundation Bluemix IoT Service 6

ハンズオンで 作 成 するアプリケーション スマホをセンサとみなし スマホからMQTTで 送 信 される 位 置 情 報 をリアルタイムで Google Mapに 表 示 する MQTT Broker アプリケーション IoT Foundationサービスは センサーデータを 仲 介 IBM IoT Foundatio n 位 置 情 報 をSubscribeし Google Map 上 に 表 示 デバイス IBM Bluemix スマホのセンサーで 計 測 した 位 置 情 報 を MQTT BrokerにPublish 7

最 終 形 のイメージ1 : スマホのセンサーデータの 取 得 下 記 のQRコードから センサーデータ 取 得 & MQTT 送 信 を 行 うWebページにアクセ スし Device ID / 位 置 情 報 / 傾 きのデータがリアルタイムで 取 得 されていることを 確 認 Geo Location API で 位 置 情 報 を 取 得 (Javascript) Bluemix 上 で 稼 働 http://goo.gl/dkfqvm MQTTで 位 置 情 報 を MQTTサーバに 送 信 (Javascript) 8

最 終 形 のイメージ2 : Node-Red アプリケーション MQTT Subscribe (センサデータ 取 得 ) 位 置 情 報 を 抽 出 Web Socketで 位 置 情 報 をリアルタイム 通 信 HTTP GET Requestの 待 ち 受 け ResponseするHTML Google Map API 使 用 Http Response 9

最 終 形 のイメージ3 : Google Mapでスマホの 位 置 を 表 示 スマホの 位 置 情 報 がリアル タイムに 反 映 動 くと 追 随 する 10

1. スマホセンサデータ 取 得 ページの 作 成 11

Webアプリケーション サーバー 作 成 (Node-RED Starter) スマホセンサーを 取 得 するWebページをホストするサーバーを 作 成 単 純 なHTML + Javascriptであり どのランタイム( 言 語 )でも 良 い 今 回 はMQTT SubscribeするアプリをNode-Redで 作 成 するため Node-RED Starterを 使 用 することとする 12 1カタログから Node-RED Starterを 選 択 2アプリ 名 を 指 定 して Create Bluemix 上 でユニークな 名 前 と する

Node-RED スターターコードのダウンロード Node-REDを 含 むWebアプリケーションのひな 形 をLocal PCにダウンロードします ひな 形 に スマホのセンサーデータを 取 得 するHTML / Javascriptを 加 え 再 度 Bluemixにデプロイします 13

スターターコードを 作 業 フォルダに 配 置 作 業 フォルダを 作 成 し スターターコードをフォルダごとCopy フォルダ 名 や 場 所 は 任 意 14

Githubからソースコードを 取 得 1. Githubにアクセスし ソースコードをダウンロード https://github.com/masayafujita/phone_sensor 2. ファイルを 解 凍 し スターターコードの public フォルダの 中 にCopy 解 凍 した 中 身 のsensor_mqtt_htmlとjs フォ ルダを スターターコードのpublic 下 にCopy ダウンロード 15

ソースコードの 概 要 sensor_mqtt.html スマホからアクセスすると 位 置 情 報 や 傾 き 等 のセンサーデータを 取 得 し 表 示 する HTML js/sensor_mqtt.js Geolocation API 等 を 用 いて センサー 情 報 を 取 得 MQTT Broker(IoT Foundation)にデータを 送 信 js/mqttws31.js Paho MQTT Javascript client library JavascriptでMQTT Client(Publisher, Subscriber)を 構 成 する 際 に 必 要 な Library 16

HTML : sensor_mqtt.html head 要 素 でPaho MQTT Javascript ClientのJS Fileを 読 み 込 む jquery 17 センサ 値 取 得 & MQTT 送 信 を 行 うJavascript

Geolocation API Geolocation API javascriptでユーザーの 位 置 情 報 を 扱 うためのAPI 主 要 ブラウザでサポートされている 無 線 LAN WiFi 携 帯 電 話 基 地 局 GPS IPアドレスなどから 位 置 情 報 を 取 得 位 置 情 報 を 含 むpositionオブジェクトが 渡 され コールバック 関 数 が 実 施 される position オブジェクトから 緯 度 経 度 等 の 値 を 取 得 jqueryでhtmlに 表 示 18

Paho MQTT Javascript client: 概 要 Paho MQTT Javascript Client WebsocketでMQTT Brokerとデータを 双 方 向 通 信 するためのJavascript Library http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/plain/src/mqtt ws31.js データはJSON 形 式 で 送 受 信 する User 情 報 MQTT Broker 情 報 を 指 定 し 接 続 用 Objectを 生 成 MQTTサーバへ 接 続 Topic: /WorldをSubscribe データをTopic: /WorldへPublish 19 上 記 はPahoのホームページのガイドより 抜 粋

Paho MQTT Javascript client: コード 説 明 デバイスを 識 別 するID IoT FoundationのQuickstart (MQTTサーバ)のアドレス 接 続 Object 作 成 送 信 データObjectの 作 成 JSONに 変 換 して 送 信 MQTT Publish 20

cf コマンドのインストール Local PC 上 のソースコードをBluemixにデプロイするツールである cf コマンド をインスト ールする 1. Githubにアクセス(https://github.com/cloudfoundry/cli)し ダウンロード 2. コマンドプロンプト(OS Xではターミナル)で 動 作 確 認 :cf -v バージョンが 無 事 表 示 さ れればOK 21 Macで 開 発 元 が 未 確 認 のため 開 けません と 表 示 される 場 合 は システム 環 境 設 定 >> セキュリティーと プライバシーにて ダウンロードしたアプリケーションの 実 行 許 可 にて すべてのアプリケーションを 許 可 するように 設 定 を 変 更 して 下 さい

cf コマンドでBluemixへログイン 1. コマンドプロンプトでルートフォルダへ 移 動 (package.jsonが 存 在 するフォルダ) 2. cf login コマンドでBluemix 環 境 へログイン > cf login -a https://api.ng.bluemix.net Bluemix IDとPass 22

Bluemixにアプリケーションをデプロイ 1. cf push コマンドでBluemixにアプリケーションをPush > cf push (アプリケーション 名 ) 23

スマホセンサーの 稼 働 確 認 スマートフォンからデプロイしたWebページにアクセス http://(アプリ 名 ).mybluemix.net/sensor_mqtt.html 24

2. 位 置 情 報 をGoogle Mapに 表 示 するアプリをNode- REDで 作 成 する 25

Node-RED について IBM 英 国 Hursley 研 究 所 の Emerging Technology Teamで 開 発 されたソ フトウェア 2013 年 社 内 ハッカソンで 堂 々 一 位 GitHub に 登 録 2014 年 Qcon で 発 表 オープンソースプロジェクトとして 提 供 26

Node-REDの 特 徴 ハードウェアデバイス,API,オンラインサービスが 画 期 的 な 方 法 で 結 合 された" 仮 想 環 境 をブラウザ 上 で 実 現 ブラウザベース UI node.js で 動 作 軽 量 Bluemixでなくて も 使 用 可 能 です 機 能 をカプセル 化 してNodeと して 利 用 独 自 Nodeを 作 成 追 加 可 能 Bluemixの 様 々なサービスを 簡 単 に 利 用 可 能 27

Node-RED 画 面 シート 実 装 UI 表 示 情 報 の 切 り 替 え デプロイ 実 行 ノード 処 理 フロー ノードパレット Node Infomation または デバッグコンソール 28

Node-RED 実 装 方 法 Node-RED 画 面 4Deployを 選 択 1ノードを 選 択 し ドラッグ&ドロップ 2ノード 間 を 接 続 3ノードプロパティ 設 定 29

Node-RED 搭 載 ノードの 紹 介 ( 代 表 的 なもの) Node 分 類 Input Output Function Social Storage Analysis Advanced 機 能 イベントの 起 動 条 件 の 設 定 外 部 アプリへの 送 信 イベント 分 岐 受 信 データの 変 換 一 時 停 止 等 Twitter/Mail/ircの 送 受 信 DBへの 保 存 DB 検 索 分 析 RSS/atomの 更 新 受 信 時 にイベント 起 動 コネクタが 右 側 に 存 在 1イベントの 起 動 イベント 起 動 条 件 を 満 たし たとき その 情 報 を 送 信 す る コネクタが 左 右 に 存 在 2データ 変 換 / 分 岐 左 からデータ 受 信 それを 変 換 / 分 岐 させ 右 側 に 結 果 を 返 す コネクタが 左 側 に 存 在 3 外 部 アプリ 起 動 /DB 保 存 左 からデータを 受 信 し それを 送 信 / 保 存 30

1イベントの 起 動 Node 名 称 イベント 開 始 条 件 後 続 フローに 送 信 する 内 容 Inject 定 期 起 動 orノードのクリック 指 定 文 字 列 or 現 在 時 刻 or 情 報 なし( 起 動 のみ) デバック 向 けの 機 能 http Mail Twitter コネクタが 右 側 に 存 在 するもの http://[xxxxxxx].mybluemix.net/[ノードのurl]リクエスト 送 信 時 メール 受 信 時 または 未 読 メール 存 在 時 定 期 起 動 指 定 メッセージのTweet 時 に 自 動 起 動 Feedparse RSS/atomの 更 新 受 信 時 - リクエスト 情 報 メール 本 文 (text/plain) Tweet 情 報 ( 本 文 発 言 場 所 国 ) 31

2データ 変 換 / 分 岐 コネクタが 左 右 に 存 在 するもの Node 名 称 機 能 後 続 フローに 送 信 する 内 容 Function 受 領 データの 更 新 更 新 済 データ Switch 条 件 に 応 じて フローを 分 岐 させる 受 信 データ Delay フローを 待 機 受 信 データ http request 指 定 サイトに 接 続 接 続 サイトのソース Cloudant DB 検 索 DBの 検 索 結 果 Sentiment 受 信 データをセンチメント 分 析 評 価 情 報 を 追 加 した 受 信 データ Html HTMLソースのうち 指 定 タグをすべ て 取 得 指 定 したタグの 情 報 32

3 外 部 アプリ 起 動 /DB 保 存 コネクタが 左 側 に 存 在 するもの Node 名 称 Debug http response Cloudant Mail 機 能 フロー 上 に 流 れている 情 報 を 画 面 表 示 http requestを 返 す DBへのデータ 保 存 メール 送 信 33

プログラミング JavaScriptで 記 述 します 簡 易 エディターが 付 属 非 同 期 処 理 も 可 能 より 複 雑 な 処 理 は node の 作 成 をお 勧 めします function は 最 後 に return msg; をいれる と 次 のnode に 送 信 してくれます 詳 細 ドキュメント: http://nodered.org/docs/writing-functions.html 34

覚 えておくNode-RED 固 有 変 数 context.global context msg msg オブジェクト: node 間 を 流 れるメッセージを 表 す JSON オブジェクト msg.payload はかならず 存 在 する msg.<string> で 新 しい 属 性 を 追 加 できる context オブジェクト: node 内 部 で 保 存 される 任 意 の JSON オブジェクト context.global オブジェクト: node 間 で 共 有 されるグローバルオブジェクト 35

Node-REDの 起 動 Bluemixのダッシュボードに 記 載 されているLinkより Node-REDを 起 動 36

IoT Foundation(MQTTサーバー)からのデータ 取 り 出 し ibmiot ノードをドラッグ & ドロップ MQTTサーバー 上 のDevice IDに 紐 づくデー タをSubscribeする MQTTサーバー 上 にスマホの 位 置 情 報 が 届 い たら 取 り 出 す ドラッグ&ドロップ ibmiot ノードの 設 定 1. ノードをダブルクリック 2. Quickstartを 選 択 3. スマホの 画 面 に 表 示 されている Device IDを 入 力 スマホに 表 示 され ているDevice ID 37

データ 受 信 ができているかどうかの 確 認 debugウィンドウに 受 信 データを 表 示 1. debug ノードを ibmiot と 接 続 2. Deploy ボタンをを 押 し Node-REDアプ リケーションをDeploy 3. debugウィンドウにjson 形 式 でセンサーデ ータが 流 れてきていればOK 38

データの 絞 り 込 み 1 秒 に1Messageのみ 処 理 する 1. delay ノードを 接 続 2. Actionを Limit rate to に 設 定 3. Rateを 1 msg(s) per Secondに 設 定 4. drop intermediate messageをチ ェック ( 余 計 なデータを 廃 棄 する) 5. Deploy 6. 1 秒 間 でdebugウィンドウにメッセージ が 流 れてくることを 確 認 39

緯 度 経 度 情 報 の 抜 き 出 し function ノードで センサーデータから 緯 度 経 度 データのみを 抜 き 出 す 1. function ノードを 接 続 2. function に 下 記 のjavascript コードを 記 載 msg.payloadに MQTTサーバーから 取 得 したJSONデータが 含 まれる 緯 度 経 度 のみをmsg.payloadに 設 定 し 次 のノードに 流 す 3. Deployし 結 果 を 確 認 var latitude = msg.payload.d.location.lat; var longitude = msg.payload.d.location.lng; msg.payload = '[{"lat":"' + latitude + '","lng":"' + longitude + '"}]'; return msg; 40

Google Map APIを 使 った 位 置 情 報 の 可 視 化 1 WebSocketの 通 信 チャネルの 構 成 位 置 情 報 をリアルタイムで 送 信 /locationにて HTTP GET リ クエストを 待 ち 受 け Google Mapを 表 示 するHTML 位 置 情 報 はWebSocketで 受 け 取 る HTTPレスポンス を 返 す 41

Google Map APIを 使 った 位 置 情 報 の 可 視 化 2 NodeフローのImport 1. 次 のページのJSON 形 式 のデータをクリップ ボードにCopy 2. 右 上 のMenuボタンからImport 画 面 を 表 示 3. 入 力 ボックスにペーストしてImport 4. 既 存 のNodeと 接 続 する 接 続 する JSON 形 式 のNodeフローをペースト 42

ImportするNodeフローの 情 報 [{"id":"9457624.f6ba8a","type":"websocketlistener","path":"/ws/phone_location","wholemsg":"false"},{"id":"e0e0edd5.1f1f1","type":"function","name":"function 1","func":"// The received message is stored in 'msg' n// It will have at least a 'payload' property: n// console.log(msg.payload); n// The 'context' object is available to store state n// between invocations of the function n// context = {}; ncontext.global.location = msg.payload; n nreturn msg;","outputs":1,"noerr":0,"x":460,"y":178,"z":"b92fcfc3.46d03","wires":[["79854d92.867ab4"]]},{"id":"e2cc9f01.1d336","type":"function","name":"function 2","func":"// The received message is stored in 'msg' n// It will have at least a 'payload' property: n// console.log(msg.payload); n// The 'context' object is available to store state n// between invocations of the function n// context = {}; n nmsg.payload = context.global.location; n nreturn msg;","outputs":1,"noerr":0,"x":446.9999694824219,"y":239,"z":"b92fcfc3.46d03","wires":[["79854d92.867ab4"]]},{"id":"79854d92.867ab4","type":"websock et out","name":"","server":"9457624.f6ba8a","client":"","x":662.9999847412109,"y":239,"z":"b92fcfc3.46d03","wires":[]},{"id":"d38b4a94.2c74b8","type":"http response","name":"","x":648.9999847412109,"y":315,"z":"b92fcfc3.46d03","wires":[]},{"id":"9280276.f6d7fd8","type":"template","name":"google Map HTML","field":"","template":"<!DOCTYPE html> n<html> n<head> n <title>phone Location</title> n <script type= "text/javascript " src= "http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js "></script> n <script type= "text/javascript " src= "http://maps.google.com/maps/api/js?sensor=true "></script> n <script type= "text/javascript " src= "http://yourjavascript.com/4594301102/gmaps.js "></script> n n <style type= "text/css " media= "screen "> n #map { n position:absolute; n top: 0; bottom: 0; left: 0; right: 0; n } n </style> n</head> n<body> n n <div id= "map "></div> n <script type= "text/javascript "> n var socketaddy = "ws://phonefujita.mybluemix.net/ws/phone_location "; n var map; n var sock; n $(document).ready(function(){ n map = new GMaps({ n div: '#map', n lat: -12.043333, n lng: -77.028333 n }); n sock = new WebSocket(socketaddy); n sock.onopen = function(){ console.log( "Connected websocket "); n console.log( "Sending ping.. "); n sock.send( "Ping! "); n console.log( "Ping sent.. "); n }; n sock.onerror = function(){ console.log( "Websocket error "); }; n sock.onmessage = function(evt){ n var latlng = JSON.parse(evt.data); n var array = $.map(latlng, function(el) { n return [[el.lat, el.lng]]; n }); n n map.removemarkers(); n map.removepolylines(); n console.log( "Got marker at " + latlng[0].lat + ", " + latlng[0].lng, latlng); n map.setzoom(17); n map.setcenter(latlng[0].lat, latlng[0].lng); n map.addmarkers(latlng); n map.drawpolyline({ n path: array, n strokecolor: '#131540', n strokeopacity: 0.6, n strokeweight: 6 n }); n } n }); n </script> n</body> n</html>","x":431,"y":316,"z":"b92fcfc3.46d03","wires":[["d38b4a94.2c74b8"]]},{"id":"19638c78.e69c74","type":"http in","name":"","url":"/location","method":"get","swaggerdoc":"","x":207.99998474121094,"y":315,"z":"b92fcfc3.46d03","wires":[["9280276.f6d7fd8"]]},{"id":"fd 0f1e9b.02f0e","type":"websocket in","name":"","server":"9457624.f6ba8a","client":"","x":239.99998474121094,"y":239,"z":"b92fcfc3.46d03","wires":[["e2cc9f01.1d336"]]}] 43

Google Map APIを 使 った 位 置 情 報 の 可 視 化 3 WebSocketサーバーのアドレスの 変 更 1. Google Map HTMLと 書 かれたNodeをダブルクリック 2. HTML Fileをテキストエディタにコピー 3. WebSocketのアドレスを 修 正 ws://(アプリ 名 ).mybluemix.net/ws/phone_location 4. HTMLが 記 載 されたNodeに 修 正 後 のHTMLをCopy 5. Deploy 44

稼 働 確 認 スマホの 位 置 情 報 が MQTTサーバーに 送 付 され それがGoogle Map 上 にプロット されていることを 確 認 1. Debugウィンドウに 位 置 情 報 が 一 秒 に1 回 の 頻 度 で 流 れてくることを 確 認 2. ブラウザで Google Mapを 表 示 するWeb Pageにアクセス(/LocationにHTTP GET Request) http://(アプリ 名 ).mybluemix.net/location 3. 正 しい 位 置 情 報 がGoogle Mapに 反 映 されていることを 確 認 4. Chromeの 場 合 は 要 素 の 検 証 Console で 位 置 情 報 が1 秒 毎 にブラウザで 処 理 されていることが 確 認 できます 45

まとめ IoTアプリケーションを 構 築 する 際 には IoTでデファクトスタンダードとなりつつある 通 信 プロ トコルであるMQTTの 知 識 スキルが 必 要 IBMはクラウドサービスとしてMQTTサーバーを 提 供 (IoT Foundation) Node-REDは 直 感 的 な 操 作 で 簡 単 にIoTアプリケーションを 作 成 することが 可 能 Javascriptが 動 く 環 境 でMQTTサーバーにデータをリアルタイムに 送 信 する 場 合 WebSocketを 利 用 してMQTTサーバーに 接 続 するライブラリであるPahoが 便 利 46

一 般 のWEBサービスの 呼 び 出 し http request node を 利 用 する 事 前 に 呼 び 出 しパラメータを 設 定 する msg.url : WEBサービスURL msg.method: GET, PUT 等 msg.header: 必 要 があればヘッダーセット msg.payload: リクエストの body msg.topic: URL の <url>?<params>? 以 下 のパラメータ 47

例 : 楽 天 トラベル 施 設 検 索 API https://webservice.rakuten.co.jp/api/simplehotelsearch/ 48

参 考 フローのImport/Export Node-REDでは 作 成 したフローを 別 Node-RED 環 境 に 簡 単 に 移 すことができます 別 Node-RED 環 境 に 処 理 記 述 を 移 す 手 順 1 画 面 右 上 からExportを 選 択 2ポップアップのコードをコピー Node-REDでは 実 装 内 容 をText 形 式 で 保 持 49 3 画 面 右 上 からImportを 選 択 4 2でコピーしたTextを 貼 り 付 ける

Appendix - Nodeの 追 加 独 自 Nodeの 追 加 既 存 のノードでは 機 能 が 不 足 する 場 合 独 自 のノードも 容 易 に 追 加 可 能 記 述 ルールに 従 い nodesディレクトリ 配 下 にHTMLファイルとjsファイル 作 成 しデプロイ HTMLファイル:Nodeの 体 裁 を 定 義 ( 色 やアイコン 入 力 項 目 など) jsファイル:nodeでの 処 理 内 容 を 記 述 記 述 ルールやサンプル http://nodered.org/docs/creating-nodes/first-node.html 作 成 デプロイ 50

( 参 考 )lower-case.html, lower-case.js lower-case.html lower-case.js http://nodered.org/docs/creating-nodes/first-node.html 51

https://github.com/node-red http://flows.nodered.org 様 々な node や flow が 公 開 されています 52