Mosquitto: WebSockets

Jak połączyć się z MQTT za pomocą WebSockets

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Mosquitto MQTT cloud, które zapewnia wiele korzyści, w tym:

  • Nieograniczoną wymianę i transfer wiadomości.
  • Nieograniczoną autoryzację urządzeń za pomocą zewnętrznego API.
  • Zaawansowane ACL na tematy, użytkowników i działania.
  • Dostosowywalną nazwę domeny zabezpieczoną za pomocą HTTPS (na przykład, https://mqtt.twoja-firma.com).
  • Łatwe aktualizacje za pomocą jednego kliknięcia.
  • Optymalną wydajność i solidne bezpieczeństwo dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Mosquitto MQTT cloud hosting Stackhero!

Masz dwie główne opcje połączenia z Mosquitto: natywny protokół MQTT lub WebSockets.

Protokół MQTT jest powszechnie ceniony za swoją lekkość, co czyni go szczególnie odpowiednim dla urządzeń IoT oraz środowisk o ograniczonych zasobach. Jednak większość przeglądarek internetowych nie obsługuje bezpośrednich połączeń MQTT. Właśnie tutaj przydają się WebSockets, ponieważ umożliwiają uruchomienie MQTT przez połączenie WebSocket, co pozwala na komunikację z serwerami MQTT z poziomu aplikacji przeglądarkowych.

Aby rozpocząć korzystanie z WebSockets, wystarczy włączyć opcję "WebSocket support" w panelu Stackhero. Po aktywacji tej funkcji należy skierować swojego klienta na adres WebSocket: wss://<XXXXXX>.stackhero-network.com:443. Ten adres zastępuje standardowy, bezpieczny adres MQTT, który wygląda następująco: mqtts://<XXXXXX>.stackhero-network.com.

Jeśli Twoja aplikacja jest napisana w JavaScript, warto rozważyć bibliotekę MQTT.js. To elastyczne rozwiązanie, które działa zarówno w środowisku Node.js, jak i bezpośrednio w przeglądarce. Dokumentacja oraz kod źródłowy biblioteki są dostępne tutaj: https://github.com/mqttjs/MQTT.js.

Praktyczny przykład pokazujący, jak połączyć aplikację webową z serwerem MQTT za pomocą WebSockets, znajdziesz w tym repozytorium: https://github.com/stackhero-io/mqttWebSocketGettingStarted.

Testując ten przykład, pamiętaj o zaktualizowaniu pliku src/index.html o własny url, username oraz password do Twojego serwera.

Przykład MQTT WebSocketPrzykład MQTT WebSocket

Przed rozpoczęciem pamiętaj o aktywacji wsparcia WebSocket w panelu Stackhero.