Mosquitto: WebSockets
WebSockets を使用して MQTT に接続する方法
👋 Stackhero ドキュメントへようこそ!
Stackhero では、信頼性と柔軟性を重視したフルマネージドの Mosquitto MQTT クラウド 環境をご提供しています:
- 無制限のメッセージスループットとデータ転送により、ワークフローが人工的な制限に達することはありません。
- 独自の外部 API を利用した 無制限のデバイス認証で、オンボーディングやアクセス管理もシームレスに行えます。
- トピック、ユーザー、アクションごとに細かく制御できる 高度な ACL。
- HTTPS 対応の カスタムドメイン名で、セキュアかつブランド化されたエンドポイントを提供します(例:https://mqtt.your-company.com)。
- ワンクリックで適用できるアップデートにより、改善やセキュリティパッチも手間なく実施可能です。
- すべてのインスタンスが プライベートかつ専用インフラ上で稼働し、安定した パフォーマンスと強固な セキュリティを実現します。
IoT プロジェクトを加速し、運用負荷を大幅に削減しましょう。セキュアで本番運用に対応した Mosquitto MQTT クラウドホスティング インスタンスを、わずか数分で立ち上げることができます。
Mosquitto に接続するには、主に 2 つの方法があります。ネイティブの MQTT プロトコル、または WebSockets です。
MQTT プロトコルは、その軽量な設計で広く知られており、IoT デバイスやリソースが限られた環境に特に適しています。しかし、ほとんどの Web ブラウザは MQTT への直接接続をサポートしていません。ここで WebSockets が役立ちます。WebSocket 接続を利用することで、ブラウザベースのアプリケーションから MQTT サーバーとやり取りできるようになります。
WebSockets を利用するには、Stackhero ダッシュボードで「WebSocket サポート」オプションを有効にしてください。この機能を有効化した後は、クライアントを WebSocket 用の URL(wss://<XXXXXX>.stackhero-network.com:443)に設定するだけです。これは、従来の MQTT セキュア URL(mqtts://<XXXXXX>.stackhero-network.com)の代わりとなります。
MQTT ライブラリの選択
アプリケーションが JavaScript で開発されている場合は、MQTT.js ライブラリの利用を検討すると良いでしょう。MQTT.js は Node.js 環境でもブラウザでも動作する柔軟な選択肢です。ライブラリのドキュメントやソースコードは以下で公開されています:https://github.com/mqttjs/MQTT.js
例:WebSockets を使った MQTT への接続
Web アプリケーションから WebSockets を利用して MQTT サーバーに接続する具体的な例は、こちらのリポジトリでご覧いただけます:https://github.com/stackhero-io/mqttWebSocketGettingStarted
この例を試す際は、src/index.html ファイル内の url、username、password をご自身のサーバー情報に更新してください。
MQTT WebSocket の例
続行する前に、Stackhero ダッシュボードで WebSocket サポートを有効化していることをご確認ください。