Node-RED: Połączenie z MQTT przez WebSockets
Ta dokumentacja jest częścią przewodnika Serwer MQTT. Pełny przewodnik znajdziesz tutaj: Jak połączyć Node-RED z serwerem Mosquitto MQTT.
Witamy w dokumentacji Stackhero
Stackhero oferuje w pełni zarządzane środowisko Node-RED cloud, które pozwala szybko rozpocząć budowę workflowów:
- Wbudowany serwer MQTT (Mosquitto) zapewniający płynną integrację IoT.
- Pełny dostęp do panelu administracyjnego Node-RED do zarządzania przepływami i ustawieniami.
- Node-RED Dashboard w zestawie do wizualizacji w czasie rzeczywistym.
- Dedykowany serwer SMTP bez limitów wysyłki.
- Bezproblemowe aktualizacje jednym kliknięciem, aby Twoja instancja była zawsze aktualna.
- Własne nazwy domen z automatycznym HTTPS: na przykład https://node-red.twoja-firma.com.
- Wysoka wydajność i silne zabezpieczenia dzięki prywatnej, dedykowanej infrastrukturze.
Bezpieczną, gotową do produkcji instancję Node-RED cloud hosting możesz uruchomić w około 5 minut. Stackhero zajmuje się konfiguracją, aktualizacjami i infrastrukturą, abyś mógł skupić się na budowaniu automatyzacji.
Masz możliwość połączenia się z serwerem Mosquitto MQTT zarówno przez protokół MQTT, jak i przez WebSockets.
Protokół MQTT jest lekki i doskonale sprawdza się w urządzeniach IoT, jednak nie jest natywnie obsługiwany przez przeglądarki internetowe. Jeśli chcesz komunikować się z serwerem MQTT z poziomu przeglądarki, zalecane jest użycie WebSockets. Pozwala to na przesyłanie ruchu MQTT w ramach protokołu WebSocket i działa bezproblemowo z usługami Stackhero.
Aby włączyć obsługę WebSocket, wystarczy aktywować opcję "WebSocket Support" w panelu Stackhero. Po jej włączeniu skonfiguruj swojego klienta, aby korzystał z adresu URL WebSocket: wss://<XXXXXX>.stackhero-network.com:443/mqtt. Pamiętaj, aby dla połączeń z przeglądarki zastąpić domyślny adres mqtts://<XXXXXX>.stackhero-network.com tym adresem WebSocket.
Wybór biblioteki MQTT
Do celów deweloperskich szczególnie polecana jest biblioteka "MQTT.js". To solidna biblioteka JavaScript, kompatybilna zarówno z Node.js, jak i środowiskami przeglądarkowymi. Więcej informacji znajdziesz w jej oficjalnym repozytorium.
Przykład połączenia przeglądarka–MQTT przez WebSockets
Jeśli szukasz praktycznego przykładu połączenia z serwerem MQTT przez WebSockets z poziomu przeglądarki, możesz skorzystać z tego repozytorium: https://github.com/stackhero-io/mqttWebSocketGettingStarted. W pliku src/index.html możesz podmienić url, username oraz password na dane swojego serwera, aby dostosować konfigurację do własnych potrzeb.
Przykład MQTT WebSocket
Przed przetestowaniem tej konfiguracji upewnij się, że obsługa WebSocket jest włączona w Twoim panelu Stackhero. Dzięki temu połączenia z poziomu przeglądarki będą działać prawidłowo.