Mosquitto: WebSockets

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

👋 Witamy w dokumentacji Stackhero!

Stackhero zapewnia w pełni zarządzane środowisko Mosquitto MQTT cloud, zaprojektowane z myślą o niezawodności i elastyczności:

  • Nielimitowana przepustowość wiadomości i transfery danych, dzięki czemu Twoje procesy nigdy nie napotkają sztucznych ograniczeń.
  • Nielimitowana autoryzacja urządzeń poprzez własne zewnętrzne API, co umożliwia płynne wdrażanie i zarządzanie dostępem.
  • Zaawansowane ACLs zapewniające precyzyjną kontrolę nad tematami, użytkownikami i działaniami.
  • Własna nazwa domeny z wbudowanym HTTPS dla bezpiecznych, markowych endpointów (na przykład: https://mqtt.twoja-firma.com).
  • Aktualizacje bez wysiłku: wprowadzaj ulepszenia lub poprawki bezpieczeństwa jednym kliknięciem.
  • Stała wydajność i wysoki poziom bezpieczeństwa – każda instancja działa na prywatnej, dedykowanej infrastrukturze.

Przyspiesz swoje projekty IoT i ogranicz koszty operacyjne. Bezpieczną, gotową do produkcji instancję Mosquitto MQTT cloud hosting możesz uruchomić w zaledwie kilka minut.

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.