Edited at

【ハンズオン】Node-RED入門編

More than 3 years have passed since last update.


初めに

Node-REDを始めようとしている方にNode-REDを使った簡単なアプリの開発方法をご紹介いたします。

・Node-RED

http://nodered.org/

・IBM Bluemix Node-RED Starter

https://console.ng.bluemix.net/catalog/starters/node-red-starter/

・IoT Sensorデモアプリ

https://quickstart.internetofthings.ibmcloud.com/iotsensor/

Node-REDは、オープンソースとして、プログラミングをほとんどいらないく、SNSや外部のAPI&IoT関連のサービスを提供されているGUIでノードを追加し繋ぎ、簡単なプログラミングでアプリケーションの開発が可能になります。

その中、IBM Bluemixには、Node-RED Starterを提供しており、環境の設定(構築)も入らず、すぐNode-REDを活用したアプリの開発が可能です。

その中には、IBM WatsonやIoT、サードパーティー APIなど、IBM Bluemixで提供している様々なノードを使うことができます。

今回のブログでは、下記の三つのサンプルコードを実際に動かしながらIBM Bluemix Node-REDの簡単な使い方をご紹介したいと思います。

・簡単なチャットアプリ

・twitterのデーターをDB(dashDB)に格納


事前準備(必ず確認してください。)

・IBM Bluemix アカウント取得。

 http://ibm.biz/bluemixfree

・IBM Bluemixのリージョンや作業スペースを確認

スクリーンショット 2016-03-25 13.31.59.png

今回は不要ですが、Bluemixで開発を行う際に必要ですので、参考として残しておきます。

・CF(Cloud Foundry) CLI Install

 https://github.com/cloudfoundry/cli/releases

・Bluemix CLI Install

 http://clis.ng.bluemix.net/ui/home.html

・CLIを使う際には「pip」のインストールが必要。(Python 2.7)

 https://console.ng.bluemix.net/openwhisk/cli

・pipのインストール

 https://pip.pypa.io/en/stable/


IBM Bluemix Node-RED開発環境構築

■ IBM Bluemix Node-RED Starter

・Bluemixログイン → カタログ → Node-RED Starter

スクリーンショット 2016-05-11 17.45.08.png

・必要な項目入力後、「作成」クリック

スクリーンショット 2016-05-11 17.47.08.png

・アプリが作成されたら、「① 概要」 → 「② 経路のURLをクリック」

スクリーンショット 2016-05-11 17.59.21.png

・この数分でNode-REDの環境構築終了、IBM Bluemixの強みの一つです。

スクリーンショット 2016-05-11 18.02.26.png


チャットアプリ

■ サンプルコードの入手

下記のURLに接続します。

https://hub.jazz.net/project/laoqui2/nodechat/overview

① ソースコードをローカルにダウンロードをし、フォルダー内の「nodechat.json」のコードを利用

② ソースコードをダウンロードせず、「nodechat.jso」を選択し、ソースコードを利用

スクリーンショット 2016-05-11 17.29.55.png

Node-REDは、「nodechat.json」のコードを利用し、ノードの作成(インポート)することが可能です。

ローカルにダウンロードした方も、「nodechat.json」のコードをNode-REDにインポートしますので、ダウンロードせず画面上でCopyした方が簡単かもしれません。

スクリーンショット 2016-05-12 10.39.44.png

■ デプロイして、アプリを起動しましょう。

スクリーンショット 2016-05-11 18.35.44.png


twitterのデーターをDBに格納

twitterから収集されたデーターをdashDBに格納してみましょう。

■ Node-REDアプリに「dashDB」をバインディングする

スクリーンショット 2016-05-13 10.55.47.png

■ dashDB Table追加


CreateTable

CREATE TABLE "TWEETS" 

(
"TWEETID" VARCHAR(50),
"SENTIMENT" INT
);

スクリーンショット 2016-05-13 11.08.17.png

■ ノードを追加

スクリーンショット 2016-05-13 17.16.03.png


最後に

・今回のハンズオン資料は、こちらからダウンロードできます。

Node-REDハンズオン資料のダウンロード

■ 「Bluemix」の「今」をフォローしましょう!

・Facebook : Bluemixユーザーグループ

・Qiita : Bluemix Qiitaページ

・Doorkeeper:Doorkeeperコミュニティ

・Slack : Bluemix User Group(BMXUG)の交流用

・stackoverflow : stackoverflow(コミュニティQ&A)

・Twitter : #bmxug