Node-RED入門の入門

Published: 2017年8月19日 by tomsato

■ Node-REDとは

Node-REDとは、APIやオンラインサービス、デバイスなどの機能を繋げてアプリケーションを作成していくプラットフォーム

処理フローをブラウザの操作によって作成することができる

オープンソースソフトウェアで、Node.jsが動く環境なら何処でも動かせる

Node-REDを使う方法としては2種類あって、ローカルでNodejsの環境を準備して立ち上げる方法と
IBM Bluemixというクラウドサービス上に作成する方法があるので2種類それぞれを紹介する

また別記事でLINEのAPIとNode-REDを使ってBotが受け取ったメッセージをオウム返しさせた

LINE Messaging APIを使ってBotを作成する

■ ローカルのNodejs環境で使う

動作検証環境

$ cat /etc/redhat-release
CentOS release 6.8 (Final)

Nodejsの環境を準備する

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
// 設定が追加されたので反映させる
$ source ~/.bashrc

// 最新のLTSをインストールする
$ nvm install --lts
$ nvm use --lts
$ node -v
v6.11.2
$ mkdir ~/node-red && cd ~/node-red
$ npm install node-red
$ ./node_modules/.bin/node-red

この状態で「http://localhost:1880/」にアクセスすると画面が見れるようになる

APIを作成してみる

右上のハンバーガーメニューから「読み込み」→「クリップボード」を選択

以下のJSONを貼り付けて読み込みを行う

[
  {
    "id": "49a4313b.c6b4e",
    "type": "tab",
    "label": "フロー 1"
  },
  {
    "id": "5df2e6f2.7476c8",
    "type": "http in",
    "z": "49a4313b.c6b4e",
    "name": "",
    "url": "/test",
    "method": "get",
    "upload": false,
    "swaggerDoc": "",
    "x": 100,
    "y": 100,
    "wires": [
      [
        "9b6b3919.b1e9c8"
      ]
    ]
  },
  {
    "id": "1266dc4.c083924",
    "type": "http response",
    "z": "49a4313b.c6b4e",
    "name": "",
    "statusCode": "",
    "headers": {},
    "x": 450,
    "y": 100,
    "wires": []
  },
  {
    "id": "9b6b3919.b1e9c8",
    "type": "function",
    "z": "49a4313b.c6b4e",
    "name": "Response Body",
    "func": "msg.payload=\"Hello! World!!\"\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "x": 280,
    "y": 100,
    "wires": [
      [
        "1266dc4.c083924"
      ]
    ]
  }
]

するとフローが追加されているのがわかる

左からどういう意味かというと

  1. 入力として「GET /test」のアクセスを受け付ける
  2. Responseの中身を定義できる(「Hello! World!!」を設定した)
  3. HTTPのレスポンスヘッダを定義する

この状態で右上にある「デプロイ」ボタンを押す

デプロイが成功した状態で「http://localhost:1880/test」にアクセスすると
「Hello! World!!」を表示できることが確認できる

このように画面操作だけでアプリケーションを開発することができる

■ IBM Bluemix上でNode-REDを使う

概要

先程まではローカルPC上にNodejs環境を用意してNode-REDを使っていたが次に、IBM Bluemix上で使って見る

ちなみにIBM BluemixとはIBMが提供しているPaaSで、クラウド上にアプリケーションを作成することができる
アカウント登録が必須だが、クレジット登録無しで30日間のトライアルを活用することができ、色々な機能を無料で使うことができる

画面操作

アカウント登録後Bluemixにアクセスしてログインを行う
https://console.au-syd.bluemix.net/

作業地域を「シドニー」としてスペース名は「dev」とする

作成後、右上の「カタログ」→「ボイラーテンプレート」をクリックすると「Node-RED Starter」があるのでそれをクリックする

以下のように入力してアプリケーションを作成する

15分後ぐらい待つと公開されたアプリケーションにアクセスすることができる
https://(指定したホスト名).au-syd.mybluemix.net/


「Go to your Node-RED flow editor」よりフロー設定画面に遷移できる

API Node-RED 入門の入門

Share

最近の投稿

概要はじめに2019年4月から新しいチームに配属されることになって、そこではScalaとPHPを使い分けて開発をおこなっていました4月5月では主に保守運用周り、並びにPHPでの開発を行いつつ、Scalaに慣れるために小さい修正を細々とおこなっていて、6月からついに本格的にScala開発に着手することになりました。レガシーな技術から新しい技術に乗り換えるということで、その中で開発言語はどうする......

概要https://storybook.js.org/StorybookとはUI開発環境を提供するツールReact、React Native、Angular、VueなどをサポートしているStorybookを使うとユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする公式のサンプル集h......

概要フロントエンド開発における状態管理、データフローがなんで重要なのか、Fluxとは何かなど主にVue.js目線ですが忘備録的にまとめますデータフローの設計・状態管理についてアプリケーションの規模が大きくなるに連れて状態管理が重要となってくる状態とはアプリケーションが保持するデータのことで例えばECサイトのカートなど、最初は空の状態から始まり商品をカートに入れることによってカートの中身が増え......

概要前にDoxygenの入門についてまとめたが実際にサンプルを見た方が理解が早いかと思うのでサンプルを作ってみる Doxygen入門の入門 ↑前に書いた記事、そっちでは Doxygenについての簡単な説明 導入方法 書き方などを書いた今回は、まずサンプルを見て理解をしたい人向けにサンプルのアプリケーションをGitHubに用意して、ドキュメントもGitHub Pagesで見ら......

概要1クリックでHTML要素の構造を可視化し、セマンティック要素が正しく実装されているか検証できる -Trashy.cssというのがあって気になったので使ってみるTrashy.cssを使うとHTMLの構造が可視化されるのでheader,nav,main,article,selction,footerなどの要素が正しく実装されているかを確認することができる{% include google-a......

カテゴリ一覧

タグ一覧

MySQL Oracle Linux 資格 テスト CI Jenkins 入門の入門 Perl API その他 Fabric PHP PHPUnit Ruby JavaScript YAML CircleCI C言語 Docker フレームワーク Selenium Fluentd ab Vim React Vagrant Cinnamon 監視ツール postfix HTML Google Cloud Platform Codeception Watson Node-RED LINE Vue.js 入門の次 PCF Vegeta Azure Firebase モジロイ Sass クリーンアーキテクチャ CSS twitter Flexbox 筋トレ ドキュメント Vue Scala