Node-RED: MQTT-server

Hoe Node-RED te verbinden met Mosquitto MQTT-server

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Node-RED cloud oplossing met tal van voordelen, waaronder:

  • MQTT server inbegrepen (Mosquitto).
  • Volledige toegang tot de Node-RED admin UI.
  • Node-RED Dashboard inbegrepen.
  • Onbeperkte en toegewijde SMTP e-mailserver inbegrepen.
  • Moeiteloze updates met slechts één klik.
  • Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://node-red.your-company.com).
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Node-RED cloud hosting oplossing van Stackhero te proberen!

De Node-RED-service van Stackhero bevat een ingebouwde MQTT-server, ontworpen voor naadloze integratie met IoT-apparaten via veilige en betrouwbare communicatiekanalen.

Om de MQTT-server in te schakelen, navigeert u naar het Stackhero-dashboard, zoekt u uw Node-RED-service en activeert u de optie "MQTT Server" in de serviceconfiguratie-instellingen.

Zodra geactiveerd, kunnen verbindingen met de MQTT-server worden gemaakt via poort 8883, waarbij TLS-encryptie zorgt voor veilige communicatie.

Om u op weg te helpen, overweeg het volgende voorbeeld dat laat zien hoe u Node-RED met de MQTT-server verbindt. Dit voorbeeld omvat het verzenden van een bericht naar een onderwerp en het ontvangen van berichten ervan. U kunt het flowvoorbeeld downloaden en importeren in uw Node-RED-instantie via het "Import"-menu.

Eenvoudig voorbeeld van het verbinden van MQTT met Node-REDEenvoudig voorbeeld van het verbinden van MQTT met Node-RED

waarschuwing Als de MQTT-nodes een "connecting"-status blijven tonen, controleer dan of de MQTT authentication-flow niet is verwijderd. Indien nodig, download het hier: mqttAuthenticationFlow.json. Importeer het in uw Node-RED-instantie, configureer de Users-node door wachtwoorden te bewerken en verwijder opmerkingen indien nodig.

Gebruikersauthenticatie wordt beheerd via een speciale flow in Node-RED. U kunt de "MQTT Authentication"-flow rechtstreeks openen vanuit het Node-RED-beheerpaneel.

MQTT-authenticatieflowMQTT-authenticatieflow

Binnen de authenticatieflow lokaliseert u de Users-sjabloonnode. Deze node bevat een array voor het definiëren van gebruikersreferenties. U kunt zoveel gebruikers toevoegen als nodig is voor uw configuratie.

Opmerking: De node-red-gebruiker is cruciaal voor de verbinding van Node-RED met de MQTT-server. Zorg ervoor dat deze gebruiker in de configuratie blijft.

MQTT-gebruikersnodeMQTT-gebruikersnode

U kunt verbinding maken met de Mosquitto MQTT-server met behulp van het MQTT-protocol of WebSockets.

Hoewel het MQTT-protocol lichtgewicht is en ideaal voor IoT-apparaten, wordt het niet direct ondersteund in webbrowsers. Om deze kloof te overbruggen, encapsuleert u MQTT-verkeer binnen het WebSocket-protocol, dat naadloos werkt met de diensten van Stackhero.

Om WebSocket-connectiviteit in te schakelen, activeert u de optie "WebSocket Support" binnen het Stackhero-dashboard. Configureer vervolgens uw client met de server-URL wss://XXXXX.stackhero-network.com:443/mqtt, waarbij u mqtts://XXXXX.stackhero-network.com vervangt door de juiste WebSocket-URL.

Voor ontwikkelingsdoeleinden raden we de "MQTT.js"-bibliotheek aan. Deze robuuste JavaScript-bibliotheek is compatibel met zowel Node.js- als browseromgevingen. U kunt het verder verkennen op zijn officiële repository.

Voor begeleiding bij het tot stand brengen van een browsergebaseerde verbinding met de MQTT-server via WebSockets, raadpleeg deze repository: https://github.com/stackhero-io/mqttWebSocketGettingStarted. U kunt het src/index.html-bestand aanpassen om de url, username en password van uw server in te voeren voor uw specifieke configuratie.

MQTT WebSocket-voorbeeldMQTT WebSocket-voorbeeld

Zorg ervoor dat WebSocket-ondersteuning is ingeschakeld in het Stackhero-dashboard om deze configuratie naar behoren te laten functioneren.