Node-RED: Cas d'utilisation : connecter des boîtes aux lettres
Connectez sans effort 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 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 !
L'un de nos clients gère des boîtes postales, des centaines pour être précis. L'entreprise souhaitait 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 cela, utilisant Node-RED, MQTT et MongoDB, et elle a été mise en œuvre en quelques jours seulement. C'est similaire à un Amazon Dash, mais spécifiquement adapté aux notifications de courrier. Voici comment cela a été réalisé.
Détails de l'appareil IoT
L'appareil IoT est d'une simplicité élégante. C'est une petite boîte noire, alimentée par USB, qui intègre un bouton et une lumière rouge. Un appareil est attribué à chaque boîte aux lettres.
Lorsque le courrier est reçu à la réception, il est placé dans la boîte aux lettres 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 cette période, la notification est annulée. Si aucune action n'est prise dans ces 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 à l'appareil 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 pause 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 parfait pour l'IoT. Malheureusement, l'authentification n'est pas activée par défaut, ni le chiffrement. Nous avons observé de nombreuses plateformes IoT vulnérables aux attaques, entraînant 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 pressions de bouton et envoi d'e-mails
Pour gérer les actions des boutons et envoyer des notifications aux utilisateurs, Node-RED a été choisi pour le traitement des données, avec une base de données 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 facile à utiliser, puissant et hautement 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 localise alors l'utilisateur correspondant dans la base de données MongoDB, compose un nouvel e-mail et l'envoie.
Flux Node-RED : seulement 5 nœuds sont nécessaires pour créer tout le backend !
Lorsque vous démarrez une instance Node-RED sur Stackhero, vous obtenez un serveur MQTT ainsi qu'un serveur d'e-mails dédié, vous permettant d'envoyer des e-mails illimités !
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 nécessaire.
Node-RED inclut un serveur HTTP, permettant la création de pages HTML et d'APIs avec un minimum d'effort.
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 l'ajout d'un nouveau bouton, tandis que la seconde facilite la suppression d'un bouton existant.
Conclusion
Node-RED a servi de pierre angulaire à ce projet. Avec l'instance Stackhero fournissant un serveur MQTT sécurisé et un serveur d'e-mails dès le départ, le projet a été réalisé en seulement quelques heures, ce que les outils traditionnels ne pouvaient égaler.
Node-RED offre des possibilités illimitées. Vous pouvez, par exemple, le connecter à n'importe quelle API ou base de données et ajouter des modules externes sans effort (~2000 modules sont disponibles !).
Si Node-RED vous intéresse, vous pouvez démarrer une instance sur Stackhero en seulement 2 minutes : Node-RED.