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.
Wybór biblioteki MQTT
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.
Przykład: Połączenie z MQTT przez WebSockets
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 WebSocket
Przed rozpoczęciem pamiętaj o aktywacji wsparcia WebSocket w panelu Stackhero.