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ę.
Prosty przykład: użycie Node-RED z serwerem MQTT
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-RED
ostrzeżenie Jeśli węzły MQTT pokazują status "connecting" bez końca, upewnij się, że przepływ
MQTT authenticationnie został usunięty. W razie potrzeby pobierz go tutaj: mqttAuthenticationFlow.json. Zaimportuj go do swojej instancji Node-RED, skonfiguruj węzełUsersedytując hasła i usuń komentarze w razie potrzeby.
Uwierzytelnianie użytkowników MQTT w Node-RED
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 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-redjest kluczowy dla połączenia Node-RED z serwerem MQTT. Upewnij się, że ten użytkownik pozostaje w konfiguracji.
Węzeł użytkowników MQTT
Połączenie z MQTT przez WebSockets
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.
Wybór biblioteki MQTT
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.
Przykład połączenia przeglądarki z MQTT przez WebSockets
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 MQTT
Upewnij się, że wsparcie WebSocket jest włączone w panelu Stackhero, aby ta konfiguracja działała zgodnie z oczekiwaniami.