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ライブラリの選択
開発用途には、「MQTT.js」ライブラリが特に便利です。Node.jsおよびブラウザ環境の両方に対応した堅牢なJavaScriptライブラリです。詳細は公式リポジトリをご覧ください。
ブラウザからMQTTへのWebSockets接続例
ブラウザからWebSockets経由でMQTTサーバーに接続する具体的な例については、こちらのリポジトリをご参照ください: https://github.com/stackhero-io/mqttWebSocketGettingStarted。ご自身のサーバーのurl、username、passwordに合わせてsrc/index.htmlファイルを編集してご利用いただけます。
MQTT WebSocketの例
この構成を試す前に、StackheroダッシュボードでWebSocketサポートが有効になっていることを必ずご確認ください。これにより、ブラウザからの接続がスムーズに行えます。