Node-RED: Serveur MQTT

Comment connecter Node-RED au serveur Mosquitto MQTT

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Node-RED cloud prête à l'emploi offrant de nombreux avantages, notamment :

  • Serveur MQTT inclus (Mosquitto).
  • Accès complet à l'interface admin de Node-RED.
  • Dashboard Node-RED inclus.
  • Serveur SMTP d'e-mails illimité et dédié inclus.
  • Mises à jour sans effort en un clic.
  • Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://node-red.votre-entreprise.com).
  • Performance optimale et sécurité robuste grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Node-RED cloud hosting de Stackhero !

Le service Node-RED de Stackhero inclut un serveur MQTT intégré, conçu pour prendre en charge une intégration transparente avec les appareils IoT via des canaux de communication sécurisés et fiables.

Pour activer le serveur MQTT, accédez au tableau de bord Stackhero, localisez votre service Node-RED et activez l'option "MQTT Server" dans les paramètres de configuration du service.

Une fois activé, les connexions au serveur MQTT peuvent être établies en utilisant le port 8883, avec le chiffrement TLS garantissant des communications sécurisées.

Pour vous aider à démarrer, considérez l'exemple suivant qui démontre comment connecter Node-RED au serveur MQTT. Cet exemple implique l'envoi d'un message à un sujet et la réception de messages de celui-ci. Vous pouvez télécharger l'exemple de flux et l'importer dans votre instance Node-RED via le menu "Import".

Exemple simple de connexion MQTT à Node-REDExemple simple de connexion MQTT à Node-RED

avertissement Si les nœuds MQTT affichent un statut "connecting" indéfiniment, confirmez que le flux MQTT authentication n'a pas été supprimé. Si nécessaire, téléchargez-le ici : mqttAuthenticationFlow.json. Importez-le dans votre instance Node-RED, configurez le nœud Users en modifiant les mots de passe, et supprimez les commentaires si besoin.

L'authentification des utilisateurs est gérée via un flux dédié dans Node-RED. Vous pouvez accéder au flux "MQTT Authentication" directement depuis le panneau d'administration de Node-RED.

Flux d'authentification MQTTFlux d'authentification MQTT

Dans le flux d'authentification, localisez le nœud modèle Users. Ce nœud contient un tableau pour définir les identifiants des utilisateurs. Vous pouvez ajouter autant d'utilisateurs que nécessaire pour votre configuration.

Note : L'utilisateur node-red est crucial pour la connexion de Node-RED au serveur MQTT. Assurez-vous que cet utilisateur reste dans la configuration.

Nœud des utilisateurs MQTTNœud des utilisateurs MQTT

Vous pouvez vous connecter au serveur Mosquitto MQTT en utilisant soit le protocole MQTT, soit les WebSockets.

Bien que le protocole MQTT soit léger et idéal pour les appareils IoT, il n'est pas directement pris en charge dans les navigateurs web. Pour combler cet écart, encapsulez le trafic MQTT dans le protocole WebSocket, qui fonctionne parfaitement avec les services de Stackhero.

Pour activer la connectivité WebSocket, activez l'option "WebSocket Support" dans le tableau de bord Stackhero. Ensuite, configurez votre client avec l'URL du serveur wss://XXXXX.stackhero-network.com:443/mqtt, en remplaçant mqtts://XXXXX.stackhero-network.com par l'URL WebSocket correcte.

Pour le développement, nous recommandons la bibliothèque "MQTT.js". Cette bibliothèque JavaScript robuste est compatible avec les environnements Node.js et navigateur. Vous pouvez l'explorer davantage sur son dépôt officiel.

Pour des conseils sur l'établissement d'une connexion basée sur un navigateur au serveur MQTT en utilisant les WebSockets, consultez ce dépôt : https://github.com/stackhero-io/mqttWebSocketGettingStarted. Vous pouvez modifier le fichier src/index.html pour entrer l'url, le username et le password de votre serveur pour votre configuration spécifique.

Exemple de WebSocket MQTTExemple de WebSocket MQTT

Assurez-vous que le support WebSocket est activé dans le tableau de bord Stackhero pour permettre à cette configuration de fonctionner comme prévu.