Mosquitto: WebSockets
Wie man sich mit WebSockets zu MQTT verbindet
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Mosquitto MQTT Cloud Lösung, die zahlreiche Vorteile bietet, darunter:
- Unbegrenzter Nachrichtenaustausch und -transfer.
- Unbegrenzte Geräteauthentifizierung über eine externe API.
- Erweiterte ACLs für Themen, Benutzer und Aktionen.
- Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://mqtt.ihre-firma.com).
- Mühelose Updates mit nur einem Klick.
- Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Mosquitto MQTT Cloud Hosting Lösung von Stackhero auszuprobieren!
Sie können sich entweder über das MQTT-Protokoll oder WebSockets mit Mosquitto verbinden.
Das MQTT-Protokoll ist für seine Leichtgewichtigkeit bekannt und eignet sich hervorragend für IoT-Geräte. Direkte MQTT-Verbindungen sind jedoch für Webanwendungen nicht machbar, da Browser MQTT nicht nativ unterstützen. Um diese Lücke zu schließen, können Sie die WebSocket-Unterstützung nutzen, die MQTT in einer WebSocket-Verbindung kapselt.
Um die Nutzung von WebSockets zu aktivieren, können Sie die Option "WebSocket support" in Ihrem Stackhero-Dashboard aktivieren. Sobald diese aktiviert ist, konfigurieren Sie Ihren Client so, dass er sich mit der URL wss://XXXXX.stackhero-network.com:443 als Serveradresse verbindet. Dies ersetzt die standardmäßige MQTT-Verbindungs-URL mqtts://XXXXX.stackhero-network.com.
Auswahl einer MQTT-Bibliothek
Wenn Sie eine auf JavaScript basierende Anwendung entwickeln, sollten Sie die Bibliothek MQTT.js in Betracht ziehen. Diese Bibliothek ist sehr vielseitig und funktioniert nahtlos sowohl in Node.js-Umgebungen als auch direkt in Webbrowsern. Sie finden die Dokumentation und das Repository hier: https://github.com/mqttjs/MQTT.js.
Beispiel für die Verbindung zu MQTT mit WebSockets
Für eine praktische Demonstration, wie man einen Webbrowser mit einem MQTT-Server über WebSockets verbindet, schauen Sie sich dieses Beispiel-Repository an: https://github.com/stackhero-io/mqttWebSocketGettingStarted.
Wenn Sie dieses Beispiel verwenden, aktualisieren Sie die Datei src/index.html mit der spezifischen url, username und password Ihres Servers.
MQTT WebSocket Beispiel
Vergessen Sie nicht, die WebSocket-Unterstützung im Stackhero-Dashboard zu aktivieren, bevor Sie fortfahren.