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)の代わりとなります。

アプリケーションが JavaScript で開発されている場合は、MQTT.js ライブラリの利用を検討すると良いでしょう。MQTT.jsNode.js 環境でもブラウザでも動作する柔軟な選択肢です。ライブラリのドキュメントやソースコードは以下で公開されています:https://github.com/mqttjs/MQTT.js

Web アプリケーションから WebSockets を利用して MQTT サーバーに接続する具体的な例は、こちらのリポジトリでご覧いただけます:https://github.com/stackhero-io/mqttWebSocketGettingStarted

この例を試す際は、src/index.html ファイル内の urlusernamepassword をご自身のサーバー情報に更新してください。

MQTT WebSocket の例MQTT WebSocket の例

続行する前に、Stackhero ダッシュボードで WebSocket サポートを有効化していることをご確認ください。