ターミナルからhttpsでMQTTブローカーshiftr.ioにメッセージを送る方法

ターミナルからhttpsでMQTTブローカーshiftr.ioにメッセージを送る方法。

MQTTブローカーshiftr.ioの使い方の確認

MQTTブローカーとしてshiftr.ioを使うのだが、使い方忘れてたので、Node-REDで確認。

enebularとローカルのNod-REDをshiftr.ioのMQTTブローカーで接続する方法|デジタルライト(Digital-light.jp)

過去記事を参照し、同じようにフローを作成。

UntitledImage

サーバーのURLを下記にして、

mqtt://public:public@public.cloud.shiftr.io


トピックは "test"として送信。

無事に動いたので、ブローカーの準備OK.


<h2>shiftr.ioのMQTT Interface</h2>

shiftr.ioでは、Port443を使ってWebSocketでの送信もできる様子。

<blockquote>
Ports
For shiftr.io Cloud instances the interface is available over the insecure port 1883 (TCP), secure port 8883 (TLS) and secure WebSocket port 443 (WSS/HTTPS).

With shiftr.io Desktop the interface is only available over the insecure port 1883 (TCP) and WebSocket port 1884 (WS/HTTP) due to the lack of a certificate. Other ports are selected if one of the ports is already in use by another application.
</blockquote>

<a href="https://www.shiftr.io/docs/broker/mqtt-interface/" target="_blank" rel="noopener">MQTT Interface - shiftr.io</a>

<h2>ターミナルからwebsocketで送る</h2>

<img src="https://digital-light.jp/wp-content/uploads/2022/03/Try-shiftr.io-2022-03-20-22-19-17.jpg" alt="Try  shiftr io 2022 03 20 22 19 17" title="Try - shiftr.io 2022-03-20 22-19-17.jpg" border="0" width="598" height="200" />

ターミナルからhttpsを使ってshiftor.ioにメッセージを送る方法はこちら。

なので、Node-REDでテストした


mqtt://public:public@public.cloud.shiftr.io

のトピック "test"におくるには、

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

これでおくればよい。

Node RED 2022 03 20 22 22 04

このフローでターミナルのコマンドを試してみると

Node RED 2022 03 20 22 22 55

無事にデータをおくることができた。

まとめ

Node-REDのWebsocketノードから送るのはうまくいかず。

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

COMMENT

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