LoginSignup
4
3

More than 3 years have passed since last update.

Node-REDの本質を1枚のイメージにしてみた

Last updated at Posted at 2019-05-22

TL;DR

  • Node-REDを1年ぐらい使ってみて、自分がNode-REDの本質だと思うものを1枚のイメージにしてみました。

経緯

Node-REDをアピールしている中で、以下のようなことがよくありました。

  • 何ができるの?と聞かれて、一通りなんでもできるよと答えても :worried: という顔をされる
  • 何が強いの?と聞かれて、いろんなものを簡単に繋げられると答えても :worried: という顔をされる
  • どこで使われているの?と聞かれて、様々な場所で使われていると答えても :worried: という顔をされる
  • なんでも簡単にできるっていうけど、それってそのままじゃ何も出来ないってことじゃないの?と言われて、自分が:worried: という顔になる
    • (汎用性の高さと特徴が無さそうという印象から) Excelみたいなもんか と言われたこともありましたw
  • :worried:->:heart_eyes:をするためには、どうすればよいかを考えてみました。

まず本質と思うものを1行で表してみる

  • Node-REDの本質を1行で答えよ!!という問いになんと答えるかを考えてみた
    • いろいろ考えた経緯はあるものの、自分なりの結論は↓
    • 様々なものと簡単に連携できること
      • 様々、簡単、連携とは何かを整理するために絵を書く

 出来上がったイメージ

node-red.png

 全体の説明

  • まず中央にNode-REDがあり、よく連携される4つのカテゴリーがある
  • もともと4つのカテゴリーは、ある程度連携されている
  • Node-REDはこの4つと自由に連携でき、かつ元々の連携に介入し、さらなる別の連携を加えることもできる
  • RaspberryPiやIFTTTなど、いくつかの要素は更に別の要素とつながるハブとして機能する

4つのカテゴリー

  • ユーザ
    • Node-REDを開発する人やシステムを利用する人のカテゴリー
    • 開発者はもちろん、利用者、運用者、一時的に利用するゲストなどが含まれる
    • 開発者以外は、Node-REDであることを意識しない可能性もある
  • クラウド
    • インターネットを介して広く一般に公開されているクラウドサービスのカテゴリー
    • IFTTT、Line、Twitterなどが含まれる
  • ソフトウェア
    • 一般的なプログラムやDBといったソフトウェアのカテゴリー
    • 自作プログラムやOSの機能、市場パッケージなどが含まれる
    • 企業であれば社内システムや基盤/基幹系システムも含まれる
  • ハードウェア
    • 物理的な機器のカテゴリー
    • RaspberryPi、センサ、スマートスピーカーといった機器が含まれる

元からあるライン

  • A : ユーザとハードウェア
    • 例:人感センサでの人の検知やスマートスピーカーへの呼びかけと応答など
  • B:ハードウェアとクラウド
    • 例:スマートスピーカーがネットから情報を取得したり、クラウドサービスにデータを登録したりするなど
  • C:クラウドとソフトウェア
    • 例:自分のプログラムからクラウドサービスを呼んだり、各種botなど
  • D:ソフトウェアとユーザ
    • 例:プログラムの起動と結果の収集。DBへの問い合わせやコマンドの実行など
  • E:ユーザとクラウド
    • 例:LineやTwitterの利用。IFTTTを使ったサービス連携など
  • F:ソフトウェアとハードウェア
    • 例:プログラムを使って電子機器を制御するなど

Node-REDとつながるライン

  • ①:ユーザとの連携
    • HTTPのレスポンスやダッシュボードでUIを実現
    • Webサーバの機能を持ち、HTMLを返すだけでWebページが作れる
    • ダッシュボード機能を入れると、いい感じのダッシュボードがすぐに作れる
    • 簡単
  • ②:ハードウェアとの連携
    • RaspberryPiに標準搭載されていて、GPIOはなにもしなくても入っていて制御できる
    • GoogleHome/AmazonAlexaはノードやBridgeがあり、簡単に連携できる
    • センサーをつないだり、LEDを点灯させたりできる
    • MQTTが活躍する。。。らしい。 まだ使ったことない
    • 簡単
  • ③:クラウドとの連携
    • LineでもSlackでもTwitterでも有名所は誰かが作ってくれたノードでだいたいいける
    • 専用ノードがなくても、WebAPIさえあれば、functionノードやカスタムノードでOAuthとかWebHookなどを使っていくらでも送受信できる
      • HTTP、WebSocket、FTP、Bluetoothなど色々な規格が使える
    • 簡単
  • ④:ソフトウェアとの連携
    • DBとかファイルとかdockerとか探せば扱えるノードがいくらでもある
    • 究極的にはNode-REDからコマンドが実行できるので、なんとでもなる!!
    • 簡単
  • ⑤:実現の容易さ
    • 忘れてはいけないのが、どれだけ簡単にできるか
    • ソフトウェアは作りこみさえすればなんだってできる(笑)
      • どれだけ簡単に、すばやく、本質に集中した作り込みができるかが重要
    • ここにあるものは1ネタだいたい1,2日で出来たものばかり
      • 場合によってはプログラムレスでできちゃう
    • とても簡単

結論

  • Node-REDは様々なものと簡単に連携できる
    • 様々=ユーザ、クラウド、ソフトウェア、ハードウェア
    • 簡単=何をするにも、1,2日ぐらいでできる
    • 連携=専用ノード/HTTP/WebSocket/コマンド/独自規格などに柔軟に対応可能
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3