Node-RED から HiveMQ MQTT ブローカーに ID/Pass + TLS オンでつなぐメモ

Node-RED から HiveMQ MQTT ブローカーに ID/Pass + TLS オンでつなぐメモ

Node-RED から HiveMQ MQTT ブローカーに ID/Pass + TLS オンでつなぐメモです。

背景

2025/5 時点の情報で進めます。

以前 CloudMQTT が無料枠でとても使いやすくて MQTT をサッと使うときは常用していたのですが、

このようにサービスが終わってしまって困っていました。

ですが、HiveMQ というサービスで無料枠ですぐ使えそうなことが、しばらく使っていてつかめたのでつないでみます。

HiveMQ Pricing – Self-Service MQTT Platform こちらの価格表にある Free で使えるのは Serverless の Free サービスです。No credit card required なのもありがたいところ。

Cluster を作る

アカウントを作ってログインしたら、

Cluster Overview の横の+ボタンをクリックして Cluster を作成します。 Serverless の FREE のほうをクリックします。

このように Cluster ができます。Manage Cluster をクリックします。

詳細画面が表示されました。

アカウントを作る

この Cluster でのアカウントを作ります。

上のタブで Access Management をクリックします。Credentials のところで Edit をクリックします。

Add Credential をクリックします。

設定の詳細が出てきます。

Username Password Confirm Password を設定しつつ、Permission は Publish and Sunscribe にします。設定できたら Save をクリックします。

無事設定できました。

Node-RED のフローをつくる

HiveMQ のこの設定の場合、Node-RED から MQTT ID/Pass + TLS オンでつなぎます。

このように inject ノードに MQTT in ノードをつなぎ、MQTT out ノードに debug ノードをつなぎます。

MQTT in ノードをダブルクリックして設定します。

トピックは test にして、サーバは新規に mqtt-broker を追加を選択して+ボタンをクリックします。

MQTT Broker 設定です。

HiveMQ の Cluster の Overview にある URL をサーバに入力して、ポートは 8883 にします。

  • サーバ
    • Hive MQ の Cluster の Overview にある URL
  • ポート
    • 8883
  • TLS を使用
    • オン
  • TLS 設定
    • 新規に tls-config を追加 のままで設定はしない

サーバ・ポートはそのまま反映しますが、TLS 部分が TLS(証明書なし)の設定として、TLS を使用はオンにしますが、横の TLS 設定は 新規に tls-config を追加 のままで設定はしません。

セキュリティタブでは、先ほど Access Management で設定したアカウントの ID とパスワードを入力します。

設定できたら追加をクリックします。

MQTT in ノードを編集の画面に戻ったら完了をクリックします。

つづいて MQTT out ノードもダブルクリックして設定します。

MQTT out ノードの編集画面です。

  • サーバー
    • さきほどの HiveMQ の MQTT ブローカーを選択
  • トピック
    • test

で設定できたら完了をクリックします。

デプロイボタンをクリックしてデプロイします。

MQTT ノードがそれぞれ接続済になり、接続が成功します!

動かしてみる

inject ノードをクリックしてタイムスタンプを MQTT in ノードにデータを送ります。

MQTT out ノードが test トピックでデータを受け取ります。

debug ノードにデータが届き、さきほど送ったタイムスタンプデータが表示されます。