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 gotowe do użycia rozwiązanie Node-RED cloud, które zapewnia wiele korzyści, w tym:

  • Serwer MQTT w zestawie (Mosquitto).
  • Pełny dostęp do interfejsu administracyjnego Node-RED.
  • Dashboard Node-RED w zestawie.
  • Nieograniczony i dedykowany serwer SMTP do e-maili w zestawie.
  • Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
  • Dostosowywalna nazwa domeny zabezpieczona HTTPS (na przykład, https://node-red.twoja-firma.com).
  • Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

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

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.

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.

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 WebSocketPrzykł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.