Node-RED: WebSockets経由でのMQTT接続

このドキュメントはMQTTサーバーガイドの一部です。完全なガイドはこちらからご覧いただけます:Node-REDをMosquitto MQTTサーバーに接続する方法

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

Stackheroは、迅速にワークフローを構築できるよう設計された、完全マネージドのNode-REDクラウド環境を提供しています:

  • シームレスなIoT統合のための組み込みMQTTサーバー(Mosquitto)
  • フローや設定を管理できるNode-RED管理UIへのフルアクセス
  • Node-RED Dashboardを標準搭載し、リアルタイムでの可視化が可能
  • 送信制限なしの専用SMTPメールサーバーを含む
  • インスタンスを常に最新に保つためのワンクリックアップデート
  • カスタムドメイン名と自動HTTPS対応:例 https://node-red.your-company.com
  • プライベートかつ専用インフラによる高いパフォーマンスと強固なセキュリティ

約5分でセキュアかつ本番運用に対応したNode-REDクラウドホスティングインスタンスを立ち上げることができます。Stackheroがセットアップ、アップデート、インフラ管理を担当するため、オートメーションの構築に集中していただけます。

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サポートが有効になっていることを必ずご確認ください。これにより、ブラウザからの接続がスムーズに行えます。