1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

複数のNode-REDを連携させる

Posted at

はじめに

やりたいこと

  • ラズパイにあるローカルのNode-REDとbluemixにあるクラウドのNode-REDを連携させたい
    • コールバックのドメインが必要な場合や、外出先から入りたい場合があり、ローカルだけに片寄ができないんです。。。

Node-REDのまとめ記事

動作環境

  • ローカル
    • RaspberryPi : 3
    • raspbian : 9.8
    • Node-RED: v19.4
  • サーバ
    • Node-RED : v20.5

本編

プロトコル

今の所どんなプロトコルでもよいのですが、3種類を検証しました。

  • http(get)
  • http(post)
  • websocket

基本的に、Node-REDはWebサーバの機能を持つので、サーバ側にクライアント側が接続しにいくイメージです。

http(get)

  • サーバのフロー

s_http_get.png

  • クライアントのフロー

c_http_get.png

補足

  • サーバ側はURLを設定し、クライアントに返すデータをfunctionノードでmsg.payloadに詰めます
  • クライアント側は、単純にGETでURLを叩きます

http(post)

  • サーバのフロー

s_http_post.png

  • クライアントのフロー

c_http_post.png

補足

  • サーバはgetと同じく、URLを設定し、クライアントに返すデータをfunctionノードでmsg.payloadに詰めます
  • クライアント側はサーバに送りたいデータをmsg.payloadに詰めてからPOSTで呼び出します

websocket

  • サーバのフロー

s_wss.png

  • クライアントのフロー

c_wss.png

補足

  • サーバはURLを設定し、種類=待ち受けでWSの設定を行います。
  • クライアントは、種類=接続でwsの設定をします
  • 図の構成にすると、クライアント側のデータが一周回ってクライアントに帰ってきてデバッグノードから出力されました。
    • サーバ側は一周回りませんでした。

結論

  • どれを使っても非常に簡単でした!!
  • bluemixはsecure通信ですが、特に何もしなくても(プロトコルとしてhttpsやwssにするだけで)動作しました
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?