← Retour

Remote lift caller — Appel d'ascenseur à distance via ESP-NOW

Solution IoT développée en C pour résoudre un problème du quotidien : appeler l'ascenseur à distance depuis mon appartement. Le système utilise deux modules ESP8266 communicant via le protocole ESP-NOW pour une liaison basse consommation et ultra-rapide, actionnant un relais qui simule l'appui sur le bouton d'appel.

  • C
  • Embarqué

Contexte

Pour gagner du temps le matin, j’ai conçu et mis en place un système pour appeler l’ascenseur de mon immeuble à distance depuis mon domicile.

Objectifs

  • Fonctionnel : Appeler l’ascenseur par une simple pression sur un bouton, sans modifier l’installation électrique existante.
  • Technique : Créer un système fiable, rapide et parfaitement intégré, avec un récepteur puisant son énergie directement depuis la led du bouton d’appel et un émetteur économe en énergie pour une autonomie de plusieurs mois.
  • Pédagogique : Approfondir mes compétences en systèmes embarqués et maîtriser le protocole de communication ESP-NOW.

Solution Technique

J’ai développé un système embarqué en C composé de deux modules ESP8266 communiquant en peer-to-peer.

  • Un Émetteur :
    • Équipé d’un simple bouton-poussoir et d’une batterie.
    • Conçu pour une économie d’énergie maximale : le module passe l’essentiel de son temps en mode veille profond. Une pression sur le bouton le réveille instantanément.
    • À son réveil, il envoie une commande unique via le protocole ESP-NOW avant de se replonger en mode veille.
  • Un Récepteur :
    • Dissimulé dans le boîtier du bouton d’appel de l’ascenseur pour une intégration discrète.
    • Pour éviter d’avoir à recharger une batterie, le module est alimenté en se connectant directement aux bornes de la LED du bouton. La tension disponible étant trop élevée, j’ai ajouté un régulateur pour la réduire à 3.3V afin d’alimenter l’ESP8266.
    • À la réception du message de l’émetteur, il active pendant une courte durée un relais électromécanique.
    • Le relais est câblé en parallèle du bouton d’appel physique de l’ascenseur, simulant une pression et déclenchant l’appel.

Choix Techniques et Architecturaux

  • Langage C : Utilisation du SDK des modules ESP8266 pour un contrôle bas niveau et une optimisation des performances (comparé à Arduino).
  • Matériel : Modules ESP8266 pour leur excellent rapport performance/prix, leur faible consommation et leur prise en charge native de l’ESP-NOW.
  • Protocole ESP-NOW : Choisi délibérément pour ses avantages spécifiques mais aussi pour l’apprendre.
    • Performance : Protocole opérant sur la couche 2 (datalink) du modèle OSI. Il évite les couches supérieures, garantissant une transmission rapide et légère.
    • Autonomie énergétique : Très faible consommation, rendue possible par l’absence de connexion à un point d’accès Wi-Fi et l’utilisation du mode deep sleep.
    • Robustesse & Autonomie : Communication peer-to-peer directe sans dépendance d’un routeur ou d’un serveur intermédiaire.
    • Extensibilité : Bien que “overkill” pour ce besoin simple, ce choix ouvre la porte à des évolutions futures comme l’intégration à un système domotique comme Home Assistant via le récepteur).
  • Intégration : La solution d’alimentation du récepteur par prélèvement de tension aux bornes de la LED a été cruciale pour rendre l’installation totalement autonome et invisible, sans aucune modification permanente de l’infrastructure.