Node-RED: Serwer MQTT

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!

Usługa Node-RED firmy Stackhero zawiera wbudowany serwer MQTT, zaprojektowany do obsługi płynnej integracji z urządzeniami IoT poprzez bezpieczne i niezawodne kanały komunikacyjne.

Aby włączyć serwer MQTT, przejdź do panelu Stackhero, znajdź swoją usługę Node-RED i aktywuj opcję "MQTT Server" w ustawieniach konfiguracji usługi.

Po aktywacji, połączenia z serwerem MQTT można nawiązywać za pomocą portu 8883, z szyfrowaniem TLS zapewniającym bezpieczną komunikację.

Aby pomóc w rozpoczęciu, rozważ poniższy przykład, który pokazuje, jak połączyć Node-RED z serwerem MQTT. Ten przykład obejmuje wysyłanie wiadomości do tematu i odbieranie wiadomości z niego. Możesz pobrać przykład przepływu i zaimportować go do swojej instancji Node-RED za pomocą menu "Import".

Prosty przykład połączenia MQTT z Node-REDProsty przykład połączenia MQTT z Node-RED

ostrzeżenie Jeśli węzły MQTT pokazują status "connecting" bez końca, upewnij się, że przepływ MQTT authentication nie został usunięty. W razie potrzeby pobierz go tutaj: mqttAuthenticationFlow.json. Zaimportuj go do swojej instancji Node-RED, skonfiguruj węzeł Users edytując hasła i usuń komentarze w razie potrzeby.

Uwierzytelnianie użytkowników jest zarządzane poprzez dedykowany przepływ w Node-RED. Możesz uzyskać dostęp do przepływu "MQTT Authentication" bezpośrednio z panelu administracyjnego Node-RED.

Przepływ uwierzytelniania MQTTPrzepływ uwierzytelniania MQTT

W przepływie uwierzytelniania znajdź węzeł szablonu Users. Ten węzeł zawiera tablicę do definiowania danych uwierzytelniających użytkowników. Możesz dodać tylu użytkowników, ilu potrzebujesz do swojej konfiguracji.

Uwaga: Użytkownik node-red jest kluczowy dla połączenia Node-RED z serwerem MQTT. Upewnij się, że ten użytkownik pozostaje w konfiguracji.

Węzeł użytkowników MQTTWęzeł użytkowników MQTT

Możesz połączyć się z serwerem Mosquitto MQTT używając protokołu MQTT lub WebSockets.

Chociaż protokół MQTT jest lekki i idealny dla urządzeń IoT, nie jest bezpośrednio obsługiwany w przeglądarkach internetowych. Aby zniwelować tę lukę, kapsułkuj ruch MQTT w protokole WebSocket, który działa bezproblemowo z usługami Stackhero.

Aby włączyć łączność WebSocket, aktywuj opcję "WebSocket Support" w panelu Stackhero. Następnie skonfiguruj swojego klienta z URL serwera wss://XXXXX.stackhero-network.com:443/mqtt, zastępując mqtts://XXXXX.stackhero-network.com poprawnym URL WebSocket.

Do celów rozwojowych polecamy bibliotekę "MQTT.js". Ta solidna biblioteka JavaScript jest kompatybilna zarówno z środowiskami Node.js, jak i przeglądarkowymi. Możesz ją bliżej poznać na jej oficjalnym repozytorium.

Aby uzyskać wskazówki dotyczące nawiązywania połączenia przeglądarkowego z serwerem MQTT za pomocą WebSockets, zapoznaj się z tym repozytorium: https://github.com/stackhero-io/mqttWebSocketGettingStarted. Możesz zmodyfikować plik src/index.html, aby wprowadzić url, username i password swojego serwera dla swojej specyficznej konfiguracji.

Przykład WebSocket MQTTPrzykład WebSocket MQTT

Upewnij się, że wsparcie WebSocket jest włączone w panelu Stackhero, aby ta konfiguracja działała zgodnie z oczekiwaniami.