Node-RED

PostmanからMQTTブローカー(shiftr.io)にデータを送ってNode-REDで受信する方法

Web上で動作するPLAYCANVASというゲームエンジンを使って、自社のショールームの各種設備機器を仮想空間と連動する方法を調べています。

まだまだ解決にはいたっていないのですが、PLAYCANVAS-Tutorial:リモートサーバーのJSONデータを非同期で読み込むことはできたので、Node-REDでAPIのエンドポイントを作ればできそうな気はします。

ただ、PlaycanvasはSSL接続が必須のようなので、ここらへんをどうするか調査中。

Terminalからcurlでshiftor.ioにデータを送る方法

そんな中、MQTTブローカーのshiftr.ioについて、MQTTじゃなくても、httpsにPOSTすることでデータを送ることができることを知りました。

例えば、testというトピックにサブスクライブしている相手に送るには、

curl -X POST "https://public:public@public.cloud.shiftr.io/broker/test" -d "world"

このようにすることで、”world”を送ることができます。

Postmanを使ってshiftr.ioにメッセージをおくる方法

curlでPOSTで送れるということは、Postmanをつかってもshiftor.ioにデータを送れそうです。

いろいろ試した結果、

Postman 2022 03 21 15 03 20

メソッド:POST
URL : https://public.cloud.shiftr.io/broker/test

にして、

Authentificationの

Username : public
Password : public

Postman 2022 03 21 15 06 11

Bodyは”raw”にして、送りたいデータをフォーム内(今回は”aaa”)として、Sendします。

Node RED 2022 03 21 15 07 33

これで、Node-RED側でサブスクライブしてるmqtt inノードで受信することができました。

まとめ

データのやりとりはいろいろ大変ですなぁ

ABOUT ME
中畑 隆拓
スマートライト㈱ 代表取締役。IoTソリューションの開発、スマートホーム&オフィスのコンサルティング、DALI,KNX,EnOceanなどのインテグレーションを行っています。

COMMENT

メールアドレスが公開されることはありません。