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 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.

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é.

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.

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 MiniUn 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.

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 !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 !

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-REDFlux 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.

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.