Node-RED: Cas d'usage : connecter des boîtes aux lettres
Connectez facilement des centaines de boîtes aux lettres dans un bureau de poste
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Node-RED cloud prête à l'emploi qui offre de nombreux avantages, notamment :
- Serveur MQTT inclus (Mosquitto).
- Accès complet à l'interface d'administration Node-RED.
- Dashboard Node-RED inclus.
- Serveur SMTP email dédié et illimité inclus.
- Mises à jour simplifiées en un clic.
- Nom de domaine personnalisable sécurisé en HTTPS (par exemple, https://node-red.votre-entreprise.com).
- Performance optimale et sécurité renforcée 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 !
L'un de nos clients gère des boîtes postales, plusieurs centaines pour être précis. L'objectif de l'entreprise était de notifier ses clients lorsqu'ils recevaient du nouveau courrier (pas des e-mails, mais du courrier papier !). Une solution IoT a été conçue pour répondre à ce besoin, en s'appuyant sur Node-RED, MQTT et MongoDB, et a été mise en place en seulement quelques jours. C'est comparable à un Amazon Dash, mais dédié aux notifications de courrier. Voici comment cela a été réalisé.
Détails du dispositif IoT
Le dispositif IoT est d'une grande simplicité. Il s'agit d'un petit boîtier noir, alimenté par USB, qui intègre un bouton et une lumière rouge. Un appareil est attribué à chaque boîte aux lettres.
Lorsque du courrier arrive à l'accueil, il est déposé dans la boîte correspondante et l'opérateur appuie sur le bouton. La lumière rouge clignote pendant 15 secondes. Si l'opérateur appuie à nouveau sur le bouton pendant ce délai, la notification est annulée. Si aucune action n'est effectuée dans les 15 secondes, une notification par e-mail est envoyée au client.
Connecter le bouton au monde
Chaque bouton est équipé d'un ESP8266, un chipset compatible WiFi. Cette connexion WiFi permet au dispositif de communiquer avec Internet.
Un ESP8266 sur une carte WEMOS D1 Mini
Le protocole MQTT a été choisi pour la communication entre l'ESP8266 et le serveur. C'est un protocole léger, idéal pour les applications IoT.
Lorsque le bouton est pressé, après une courte attente de 15 secondes, un message est envoyé au serveur via MQTT. Le serveur identifie alors l'e-mail correspondant et envoie une notification au client.
MQTT est parfaitement adapté à l'IoT. Cependant, l'authentification n'est pas activée par défaut, ni le chiffrement. Nous avons constaté que de nombreuses plateformes IoT sont vulnérables aux attaques, ce qui entraîne des fuites de données privées. Heureusement, lorsque vous démarrez une instance MQTT sur Stackhero, l'authentification et le chiffrement sont activés, offrant une solution entièrement sécurisée dès le départ.
Réception des appuis sur le bouton et envoi des e-mails
Pour gérer les actions sur les boutons et envoyer les notifications aux utilisateurs, Node-RED a été choisi pour le traitement des données, avec une base MongoDB pour stocker les e-mails des utilisateurs.
Node-RED est un outil de programmation graphique développé par IBM, idéal pour ce type de tâche. Il est simple à utiliser, puissant et très extensible.
Grâce à Node-RED, notre client a pu créer tout son backend en seulement quelques heures !
Lorsqu'un bouton de boîte aux lettres est pressé, le message est reçu par Node-RED via MQTT. Node-RED retrouve alors l'utilisateur correspondant dans la base MongoDB, rédige un nouvel e-mail et l'envoie.
Flux Node-RED : seulement 5 nœuds suffisent pour créer tout le backend !
Lorsque vous démarrez une instance Node-RED sur Stackhero, vous disposez d'un serveur MQTT ainsi que d'un serveur e-mail dédié, ce qui vous permet d'envoyer un nombre illimité d'e-mails !
Création de l'interface backoffice
L'interface backoffice est utilisée par les opérateurs du bureau de poste. Ils peuvent ajouter un nouveau bouton avec un e-mail associé ou en supprimer un si besoin.
Node-RED intègre un serveur HTTP, ce qui permet de créer des pages HTML et des APIs très facilement.
Flux backoffice Node-RED
Toute l'interface backoffice a été développée directement dans Node-RED. Elle se compose d'une page HTML avec authentification et d'une API avec deux routes. La première route API permet d'ajouter un nouveau bouton, la seconde de supprimer un bouton existant.
Conclusion
Node-RED a été la pierre angulaire de ce projet. Avec l'instance Stackhero fournissant un serveur MQTT sécurisé et un serveur e-mail prêt à l'emploi, le projet a été réalisé en quelques heures, ce qui aurait été impossible avec des outils traditionnels.
Node-RED offre des possibilités infinies. Vous pouvez, par exemple, le connecter à n'importe quelle API ou base de données et ajouter des modules externes en toute simplicité (~2000 modules sont disponibles !).
Si Node-RED vous intéresse, vous pouvez démarrer une instance sur Stackhero en seulement 2 minutes : Node-RED.