Node-RED: Serveur MQTT
Comment connecter Node-RED au serveur Mosquitto MQTT
Bienvenue dans la documentation Stackhero
Stackhero offre un environnement Node-RED cloud entièrement géré, conçu pour vous permettre de créer des workflows rapidement :
- Serveur MQTT intégré (Mosquitto) pour une intégration IoT sans friction.
- Accès complet à l'interface d'administration Node-RED pour gérer vos flows et paramètres.
- Node-RED Dashboard inclus pour la visualisation en temps réel.
- Serveur email SMTP dédié inclus, sans aucune limite d'envoi.
- Mises à jour en un clic pour garder votre instance à jour facilement.
- Noms de domaine personnalisés avec HTTPS automatique : par exemple, https://node-red.votre-entreprise.com.
- Performance élevée et sécurité renforcée grâce à une infrastructure privée et dédiée.
Vous pouvez avoir une instance Node-RED cloud hosting sécurisée et prête pour la production en environ 5 minutes. Stackhero prend en charge l'installation, les mises à jour et l'infrastructure, afin que vous puissiez vous concentrer sur la création de vos automatisations.
Le service Node-RED de Stackhero inclut un serveur MQTT intégré, ce qui simplifie l'intégration de vos appareils IoT via des canaux de communication sécurisés et fiables.
Pour commencer, rendez-vous simplement sur le tableau de bord Stackhero, trouvez votre service Node-RED et activez l'option « MQTT Server » dans les paramètres de configuration du service.
Une fois le serveur activé, vous pouvez vous y connecter en utilisant le port 8883. Toutes les connexions sont sécurisées par un chiffrement TLS, assurant ainsi la protection de vos données.
Exemple simple : utiliser Node-RED avec le serveur MQTT
Si vous débutez avec MQTT sur Node-RED, voici un exemple simple pour vous aider à démarrer. Cet exemple montre comment envoyer un message à un topic et recevoir des messages de ce topic. Vous pouvez télécharger l'exemple de flow et l'importer dans votre instance Node-RED via le menu « Import ».
Exemple simple de connexion MQTT à Node-RED
Si vos nœuds MQTT restent bloqués sur le statut « connecting », il est recommandé de vérifier si le flow
MQTT authenticationest toujours présent. S'il manque, vous pouvez le télécharger ici : mqttAuthenticationFlow.json. Importez ce flow dans votre instance Node-RED, mettez à jour le nœudUsersavec les mots de passe de votre choix, puis retirez les commentaires inutiles si nécessaire.
Authentification des utilisateurs MQTT dans Node-RED
La gestion de l'authentification des utilisateurs MQTT est simple grâce à un flow dédié dans Node-RED. Vous trouverez le flow « MQTT Authentication » directement dans le panneau d'administration Node-RED.
Flow d'authentification MQTT
Dans ce flow d'authentification, repérez le nœud template Users. Ce nœud contient un tableau où vous pouvez définir les identifiants de chaque utilisateur. Vous pouvez ajouter autant d'utilisateurs que nécessaire pour votre projet.
Note : L'utilisateur
node-redest essentiel pour la connexion de Node-RED au serveur MQTT. Assurez-vous de ne pas supprimer cet utilisateur de votre configuration.
Nœud utilisateurs MQTT
Connexion à MQTT via WebSockets
Vous avez la possibilité de vous connecter au serveur Mosquitto MQTT soit via le protocole MQTT, soit via WebSockets.
Bien que le protocole MQTT soit léger et donc idéal pour les appareils IoT, il n'est pas pris en charge nativement par les navigateurs web. Si vous souhaitez interagir avec votre serveur MQTT depuis un navigateur, il est préférable d'utiliser WebSockets. Cette méthode permet d'encapsuler le trafic MQTT dans le protocole WebSocket et fonctionne parfaitement avec les services Stackhero.
Pour activer la connectivité WebSocket, activez simplement l'option « WebSocket Support » dans votre tableau de bord Stackhero. Une fois activée, configurez votre client pour utiliser l'URL WebSocket : wss://<XXXXXX>.stackhero-network.com:443/mqtt. Assurez-vous de remplacer l'URL par défaut mqtts://<XXXXXX>.stackhero-network.com par cette URL WebSocket pour les connexions depuis un navigateur.
Choisir une bibliothèque MQTT
Pour le développement, la bibliothèque « MQTT.js » est particulièrement recommandée. Il s'agit d'une bibliothèque JavaScript robuste, compatible avec Node.js et les environnements navigateurs. Vous pouvez en apprendre davantage sur son dépôt officiel.
Exemple de connexion navigateur-vers-MQTT via WebSockets
Si vous cherchez un exemple concret de connexion depuis un navigateur au serveur MQTT via WebSockets, vous pouvez consulter ce dépôt : https://github.com/stackhero-io/mqttWebSocketGettingStarted. N'hésitez pas à modifier le fichier src/index.html avec l'url, le username et le password de votre serveur pour l'adapter à votre configuration.
Exemple MQTT WebSocket
Avant de tester cette configuration, assurez-vous que le support WebSocket est bien activé dans votre tableau de bord Stackhero. Cela garantit le bon fonctionnement des connexions depuis un navigateur.