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

  • 26
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

初めに

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