ABC Hackathon 参加者向け IBM Bluemix 体験会テキスト 1 © 2015 IBM Corporation デバイスやセンサーのデータを扱う マシン/センサー データを取得 データを利⽤ ⾒る/監視する • ビジュアライズ • 正常値・異常値の把握 アクション ためる • データを分析 2 © 2015 IBM Corporation 本日の内容 0. 事前準備 1. Bluemixの基本操作 データベース・サービスを使用したアプリケーション実⾏環境の構築 2. Internet of Thingsアプリケーションを作成する センサーからのデータをプログラミングレスで利⽤ 3 © 2015 IBM Corporation 事前準備編 1. Bluemix利⽤登録 2. Cloud Foundry CLI 導入 4 © 2015 IBM Corporation 1. IBM Bluemix 利⽤登録 http://ibm.biz/bluemixfree にアクセス します。 ガイドに従ってサインアップします。 登録したアドレスに IBM Bluemixよりメールが 届きます。 メール本文内のリンクをクリックすることでア カウントの有効化が⾏われます。 必ずこのステップを実施し、Bluemixに ログ イン できることを事前に確認ください。 5 © 2015 IBM Corporation Bluemix へログイン まず初めに、Bluemix にログインします。 Webブラウザを起動し、Bluemix にアクセスします。下記URLを⼊⼒します。 http://bluemix.net/ 表示された画面右上の「ログイン」 をクリックします。 IBM ID、パスワードを⼊⼒して「サインイン」ボタンをクリックします。 ログインが成功すると Bluemix の Dashboardが表示されます 6 © 2015 IBM Corporation 作業する地域を確認する Bluemixは、「米国南部」と「英国」の2つの地域で稼動しています。 上部メニューの 「地域」 をクリックすることで、稼動する環境を選択することができます。 今回は「⽶国南部」を利⽤します。地域が「⽶国南部」になっていることを確認してくだ さい。 「英国」になっている場合は、「地域」をクリックして、「米国南部」を選択してください 7 © 2015 IBM Corporation [補足] 「米国南部」選択時のポップアップへの対応方法 米国南部を選択した際に、スペースを作成するように指示するポップアップ・ウィンドウが表 示された場合は、任意の名前を⼊⼒し、作成をクリックしてください。 本資料では スペース名として 「dev」を使用します 8 © 2015 IBM Corporation [その1] Bluemixの基本操作 データベース・サービスを 使用したアプリケーション 実⾏環境の構築 9 © 2015 IBM Corporation ハンズオン手順 アプリケーション実⾏環境の構築 サービスの追加 アプリケーション実⾏環境の詳細 10 © 2015 IBM Corporation アプリケーション実⾏環境の構築 (1/3) 1.上部メニューの”カタログ”にて、作成するアプリケーションの実⾏環境を選択します。 ランタイム カテゴリから、Node.js による JavaScriptの実⾏環境を選択します。 2.アプリケーション名とホスト名を指定して“作成”ボタンをクリックします。 任意の名前を指定します。 重複しているとエラーに なるのでユニークな名称を 指定してください 11 © 2015 IBM Corporation アプリケーション実⾏環境の構築 (2/3) 3.上部メニューの”ダッシュボード”をクリックし、作成中のアプリケーションを選択します。 30秒ほどでインスタンスの作成および起動が完了します。 画面右端の “アプリの正常性” のステータスが赤色から緑色に変わり、 「アプリは稼動しています。」のメッセージが表示されたことを確認してください。 これだけの手順で Node.js の実⾏環境が構築できました。 “アプリの正常性” のステータスが変わらない場合は、 Web ブラウザのリロード (F5キー)をお試しください。 12 © 2015 IBM Corporation アプリケーション実⾏環境の構築 (3/3) 4.それではサンプルとして⽤意されたスターター・アプリケーションを実⾏してみましょう。 アプリケーションの “経路: “のリンクをクリックすると、作成された Node.js 上で JavaScript のスターター・アプリケーションが動いていることが確認できます。 13 この例では、http://WebApp001.mybluemix.net/にアクセスしています © 2015 IBM Corporation サービスの追加 (1/2) 1.上部メニューの “カタログ” をクリックし、カタログからアプリケーションと連携させたい サービスを選択します。 ここでは、先ほど作成した Node.js の実⾏環境に SQL Database(DB2) のサービスを追加してみましょう。 2.サービスを追加するアプリケーションを指定し、”作成”ボタンをクリックします。 (“アプリケーション”の選択” で先ほど作成したアプリ名を指定します。) SQL Database のサービス名や プランはデフォルトのままでOKです 14 © 2015 IBM Corporation サービスの追加 (2/2) 3.アプリケーションの再起動(再ステージ)の確認があります。OKボタンをクリックします。 4.約20秒ほどでサービスの追加が完了します。 アプリケーションの “概要” 画面の下部に、SQL Database サービスが表示される ことを確認してください。 たったこれだけの手順で、アプリケーションからデータベースが 使用できるようになりました。 “アプリの正常性” のステータスが変わらない場合は、 Web ブラウザのリロード (F5キー)をお試しください。 15 © 2015 IBM Corporation アプリケーション実⾏環境の詳細 (1/4) 〜リソースの動的追加 アプリケーションの “概要” の画⾯には、実⾏環境が使⽤するリソース情報が 表示されています。 ここで実⾏環境のリソース変更が可能です。 インスタンス : 3、メモリー : 384MB と指定して「保存」をクリックします。 再起動後、リソースが拡張されていることを確認してください。 16 © 2015 IBM Corporation アプリケーション実⾏環境の詳細 (2/4) 〜リソースの動的追加 左端のメニューから ”SDK for Node.js” を選択します。 ページ上部で CPU やメモリーの使⽤率など、インスタンスの詳細情報が確認できます。 先程インスタンスを増やしたので、リストには3⾏が表示されています。 今度はリソースの縮退を⾏ってみましょう。 インスタンス : 1、メモリー : 64MB と指定して「保存」をクリックします。 リソースは増やすだけでなく、減らすこともできることを確認してください。 17 ※画⾯の切り替えがうまくいかない場合は、Web ブラウザのリロード (F5キー)をお試しください。 © 2015 IBM Corporation アプリケーション実⾏環境の詳細 (3/4) 〜ファイル/ログの参照 左端のメニューから ”ファイルとログ” を選択します。 実⾏環境のファイルシステム上にあるアプリケーション・ファイルやログ・ファイルを 参照したりダウンロードしたりすることができます。 ※画⾯の切り替えがうまくいかない場合は、Web ブラウザのリロード (F5キー)をお試しください。 18 © 2015 IBM Corporation アプリケーション実⾏環境の詳細 (4/4) 〜環境変数の参照 ”SDK for Node.js” ページの下部にて、実⾏環境に設定されている環境変数の 情報が確認できます。(環境変数を新しく追加することも可能です) 連携に必要となる情報は、自動的に環境変数にセットされるので、アプリケーションは これらの環境変数の値を取得して、サービスにアクセスします。 SQLDatabase 接続の場合 IPアドレス, ポート番号, DB名, username, password などが 環境変数としてセットされます。 Bluemix では、Web ブラウザからアプリケーション実⾏環境の構築やサービスのバインド、 様々な運用管理作業ができることを確認いただきました。 お疲れ様でした! 19 © 2015 IBM Corporation [その2] Internet of Things アプリケーションを 作成する 20 © 2015 IBM Corporation ハンズオン手順 ボイラープレートでアプリケーションを作成する Node-RED で IoT アプリを作成する デプロイされたアプリケーションを確認する 21 © 2015 IBM Corporation ハンズオンの概要 Internet of Thingsのボイラープレート(後述)を使用して、クラウド 上のセンサー・シミュレーターのデータを活用します。 ボイラープレートに含まれるNode-REDというツールを用いて、セン サー・データ(温度、湿度など)を活用する IoT アプリをノンプログラミ ングで作成します。 センサー・ シミュレーター 22 © 2015 IBM Corporation ボイラープレートでアプリケーションを作成する (1) Bluemix には予めランタイムやサービスを組み合わせたボイラープレート という テンプレートが用意されています。 これを利⽤することで、簡単に Bluemix アプリケーションを開発することができます。 Bluemix の カタログメニューにボイラープレートを確認してください。 各ボイラープレートをクリックすると、それがどのランタイム、サービスを組み合わせたものか 説明されています。 23 © 2015 IBM Corporation ボイラープレートでアプリケーションを作成する (2) Internet of Things Foundationをクリックします。このボイラー プレートは、以下のコンポーネントから構成されていることが分かります。 - SDK for Node.js - Cloudant NoSQL DB 次のように⼊⼒し、 「作成」ボタンをクリックします。 名前: iotsample+末尾に任意の⽂字列 ホスト: 上記の名前がコピーされる 24 © 2015 IBM Corporation ボイラープレートでアプリケーションを作成する (3) 左上の、「ダッシュボードに戻る」をクリックします。 ダッシュボードに iotsample アプリケーションと Cloudant NoSQL DB のサービスが追 加されることを確認します。 iotsample アプリケーションの状態が⻘信号になるのを待ち、右下のリンク・アイコンをクリ ックします。 25 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (1) Node-RED のページが表示されます。「Go to your Node-RED flow editor」ボタン をクリックし、Node-RED フロー・エディターを起動します。 IoT (Internet of Things) は家電、⾃動⾞、ウェラブル・デバイスなどあらゆる「モノ」を インターネットに接続し、お互いに情報をやりとりすることで新しい価値を⽣み出す概念 です。Node-RED は、IoT のフローを構築するためのビジュアル・ツールで、開発したシ ステムを簡単に Bluemix にデプロイすることが可能になっています。ここでは、温度セン サーにより取得したデータによって処理を変えるような IoT システムを作成していきます 。 26 クリック © 2015 IBM Corporation Node-RED で IoT アプリを作成する (2) ここでは、Node-REDで接続するセンサーの情報を取得します。 Webブラウザーの新しいタブを開き、 ibm.biz/IoTsensor に接続します。 IoT Sensorは、IoT Cloud に接続するデバイスをエミュレートし、気温、湿度、 物体温度の情報を発信 (publish) することができます。 右上に当デバイスの MAC アドレスが表示されるので、メモしておきます。 タブは開いたままにして おいてください。後ほど 使用します。 27 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (3) Node-REDフロー・エディターによって、IoT アプリの処理フローを定義します。 サンプルのフローが以下のようにあらかじめ定義されているため、それらを削除してからハ ンズオンをすすめます。フローの削除は、マウスでシフトキーを押しながら全ノードを選択 し、キーボードの Delete ボタンを押します。 28 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (4) 先ず、温度データの⼊⼒元である IoT Sensor のノードを定義します。左のパレットの inputs:ibmiot を中央のキャンバスにドラッグドロップし、ダブルクリックします。 Edit ibmiot in node のダイアログ・ボックスで以下のように⼊⼒します。 Authentication: Quickstart Input Type: Device Event Device Id: xxxxxxxxxxx (ここで、xxxxxxxxxxxは IoT Sensor の MAC アドレスを小文字にしてコロンを削除し た⽂字列) Name: IoT Sensor 「Ok」ボタンをクリックします。 29 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (5) 次に、IoT Sensor のデータから温度データを取り出す function ノードを定義します。 パレットの functions:function をキャンバスにドラッグドロップし、ダブルクリックします。 Edit function node のダイアログ・ボックスで以下のように⼊⼒します。 Name: temp Function: return {payload:msg.payload.d.temp}; 「Ok」ボタンをクリックします。 IoT Sensor と temp をマウスでつないでリンクします。 30 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (6) 次に、温度データの条件分岐を指定する switch ノードを定義します。 ここでは、温度40度以下と40度超で分岐するよう設定します。 パレットの functions:switch を中央のキャンバスに ドラッグドロップし、ダブルクリックします。 Edit switch node のダイアログ・ボックスで以下のように⼊⼒します。 Name: temp thresh 分岐条件に以下のようになるように追加 ( +rule ボタンをクリックして追加): if msg.payload <= 40 > 40 「Ok」ボタンをクリックします。 temp と temp thresh をリンクします。 31 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (7) 次に、条件ごとの処理を指定する template ノードを定義します。ここではメッセージ出 ⼒をそれぞれ設定します。 パレットの functions:template を2つ、キャン バスにドラッグドロップします。 1つ目のEdit template node の ダイアログ・ボックスをダブルクリックし 以下のように⼊⼒します。 Name: safe Template: Temperature ({{payload}}) within safe limits 「Ok」ボタンをクリックします。 2つ目のEdit template node のダイアログ・ボックスには以下のように⼊⼒します。 Name: danger Template: Temperature ({{payload}}) critical 「Ok」ボタンをクリックします。 32 右図のようにリンクします。 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (8) 最後に、処理結果をモニター出⼒するための debug ノードを定義します。 パレットの outputs:debug をキャンバスにドラッグドロップし、 ダブルクリックします。 Edit debug node のダイアログ・ボックスで以下のように⼊⼒します。 Output: message property を選択 to: debug tab Name: cpu status 「Ok」ボタンをクリックします。 template と cpu status を右図のようにリンクします。 33 © 2015 IBM Corporation Node-RED で IoT アプリを作成する (9) これまでのステップで下図のようなフローができあがります。右上の「Deploy」ボタンをクリッ クし、アプリケーションをデプロイします。上部に “Successfully deployed” と表示されれ ば、Bluemix へのデプロイは成功です。 右側のサイドバーを debug タブに切り替えます。(必要に応じ、右側にウィンドウが表示 されるよう操作します) 34 © 2015 IBM Corporation デプロイしたアプリケーションを確認する 別タブで開いておいたIoT Sensor の⽮印ボタンをクリックし、温度を変更します。 IoT Sensor の温度が debug タブに出⼒され、40度以下のときは、”Temperature (xx) within safe limits” と出⼒されることを確認します。 IoT Sensor の温度を上げて、40度を超えると “Temperature (xx) critical” と出⼒さ れることを確認します。 35 Node-RED を使いビジュアルにインターネット上のデバイスをワイヤリングし、Bluemix の node.js 上にデプロイする手順を確認しました。お疲れ様でした! © 2015 IBM Corporation IoTアプリの拡張を考える ハンズオンではモニター⽤に画⾯出⼒し稼動を確認するまでにとどめていますが、 Node-RED を使⽤して様々に変更することが可能です。 Input/outputを組み合わせ、特定の条件を満たすデー タを受け取ったら、担当者に通知するといったものから、コ ーディングを追加してより⾼度なものにすることも可能で す。 詳細は以下のサイトをご覧ください。 http://nodered.org/docs/ チュートリアル Arduino Uno と IBM IoT Foundation を利⽤してクラ ウド対応の温度センサーを作成する(全4回) http://www.ibm.com/developerworks/jp/cloud/libr ary/cl-bluemix-arduino-iot1/index.html 36 © 2015 IBM Corporation 補足 CloudFoundry コマンドライン・インターフェースの セットアップ 37 © 2015 IBM Corporation 3. Cloud Foundry CLI 導入 (1) コマンドベースでBluemixを操作するために、Cloud FoundryのCLI (コマンドライン・インターフェース)を導入します。 https://github.com/cloudfo undry/cli にアクセスします。 下にスクロールし、「Downloads」セク ションの「Stable Installers」から、環境 に合ったモジュールをダウンロードし、 導入します。 38 © 2015 IBM Corporation 3. Cloud Foundry CLI 導入 (2) cf コマンドが実⾏可能であることを確認します。 コマンドプロンプトで “cf “と実⾏するとコマンドのヘルプが表⽰されます。 39 cf コマンドが認識されない場合は、導⼊ディレクトリーにパスが通っているか どうかを確認してください。 © 2015 IBM Corporation
© Copyright 2024 ExpyDoc