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.
Exemple simple : utiliser Node-RED avec le serveur MQTT
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-RED
avertissement Si les nœuds MQTT affichent un statut "connecting" indéfiniment, confirmez que le flux
MQTT authenticationn'a pas été supprimé. Si nécessaire, téléchargez-le ici : mqttAuthenticationFlow.json. Importez-le dans votre instance Node-RED, configurez le nœudUsersen modifiant les mots de passe, et supprimez les commentaires si besoin.
Authentification des utilisateurs MQTT dans Node-RED
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 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-redest crucial pour la connexion de Node-RED au serveur MQTT. Assurez-vous que cet utilisateur reste dans la configuration.
Nœud des utilisateurs MQTT
Connexion à MQTT via WebSockets
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.
Choisir une bibliothèque MQTT
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.
Exemple de connexion navigateur-à-MQTT via WebSockets
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 MQTT
Assurez-vous que le support WebSocket est activé dans le tableau de bord Stackhero pour permettre à cette configuration de fonctionner comme prévu.