Node-RED: MQTTサーバー

Node-REDをMosquitto MQTTサーバーに接続する方法

👋 Stackheroのドキュメントへようこそ!

Stackheroは、数多くの利点を提供する、すぐに使えるNode-REDクラウドソリューションを提供しています。

  • MQTTサーバーが含まれています(Mosquitto)。
  • Node-RED管理UIへのフルアクセス。
  • Node-RED ダッシュボードが含まれています。
  • 無制限で専用のSMTP メールサーバーが含まれています。
  • ワンクリックで簡単にアップデート
  • HTTPSで保護されたカスタマイズ可能なドメイン名(例: https://node-red.your-company.com)。
  • プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ

時間を節約し、生活を簡素化しましょう: StackheroのNode-REDクラウドホスティングソリューションを試すのに5分しかかかりません!

StackheroのNode-REDサービスには、組み込みのMQTTサーバーが搭載されており、安全かつ信頼性の高い通信チャネルを通じてIoTデバイスを簡単に統合できます。

はじめに、Stackheroダッシュボードにアクセスし、ご利用中のNode-REDサービスを選択して、サービス設定内の「MQTT Server」オプションを有効にしてください。

サーバーが有効化されると、ポート8883を使用して接続できます。すべての接続はTLS暗号化で保護されており、データの安全性が確保されています。

Node-REDでMQTTを初めて利用される場合、すぐに始められるシンプルな例をご紹介します。この例では、トピックにメッセージを送信し、そこからメッセージを受信する方法を示しています。フロー例をダウンロードし、「Import」メニューからNode-REDインスタンスにインポートできます。

MQTTをNode-REDに接続するシンプルな例MQTTをNode-REDに接続するシンプルな例

MQTTノードが「connecting」状態のまま動かない場合は、MQTT authenticationフローがまだ存在しているか確認することをおすすめします。もしフローがない場合は、こちらからダウンロードできます: mqttAuthenticationFlow.json。このフローをNode-REDインスタンスにインポートし、Usersノードにご希望のパスワードを設定し、不要なコメントは適宜削除してください。

Node-REDでは、専用のフローを使ってMQTTユーザー認証を簡単に管理できます。「MQTT Authentication」フローはNode-REDの管理パネルから直接確認できます。

MQTT認証フローMQTT認証フロー

この認証フロー内で、Usersテンプレートノードを探してください。このノードには、各ユーザーの認証情報を定義できる配列が含まれています。プロジェクトの要件に応じて、必要な数だけユーザーを追加できます。

注意: node-redユーザーは、Node-REDがMQTTサーバーに接続するために必須です。このユーザーを設定から削除しないようご注意ください。

MQTTユーザーノードMQTTユーザーノード

Mosquitto MQTTサーバーには、MQTTプロトコルまたはWebSocketsのいずれかで接続できます。

MQTTプロトコルは軽量でIoTデバイスに最適ですが、Webブラウザでは標準でサポートされていません。ブラウザからMQTTサーバーにアクセスしたい場合は、WebSocketsの利用が推奨されます。この方法では、MQTTトラフィックをWebSocketプロトコルでカプセル化でき、Stackheroのサービスともシームレスに連携します。

WebSocket接続を有効にするには、Stackheroダッシュボードで「WebSocket Support」オプションを有効化してください。有効化後、クライアントの設定でWebSocket用URL wss://<XXXXXX>.stackhero-network.com:443/mqtt をご利用ください。ブラウザから接続する場合は、デフォルトの mqtts://<XXXXXX>.stackhero-network.com をこのWebSocket URLに置き換えてください。

開発用途には、「MQTT.js」ライブラリが特に便利です。Node.jsおよびブラウザ環境の両方に対応した堅牢なJavaScriptライブラリです。詳細は公式リポジトリをご覧ください。

ブラウザからWebSockets経由でMQTTサーバーに接続する具体的な例については、こちらのリポジトリをご参照ください: https://github.com/stackhero-io/mqttWebSocketGettingStarted。ご自身のサーバーのurlusernamepasswordに合わせてsrc/index.htmlファイルを編集してご利用いただけます。

MQTT WebSocketの例MQTT WebSocketの例

この構成を試す前に、StackheroダッシュボードでWebSocketサポートが有効になっていることを必ずご確認ください。これにより、ブラウザからの接続がスムーズに行えます。