- Suite à l’arrêt du service cellulaire du système d’interphone Doorking existant, l’ouverture du portail ne fonctionnait plus, ce qui a conduit à un hack matériel pour rétablir le contrôle à distance
- Mise en place d’un client du protocole Matter interopérable avec Apple Home, en utilisant une carte relais Wi-Fi ESP32 pour piloter directement la ligne de commande du solénoïde
- Un firmware en Rust a été conçu pour n’ouvrir le portail que pendant une durée déterminée, puis le reverrouiller automatiquement afin de préserver la sécurité
- Pour résoudre les conflits mémoire entre le Wi-Fi et le Bluetooth, les deux piles ont été rendues mutuellement exclusives, avec un fonctionnement optimisé en Wi-Fi seul après le provisioning
- Au final, le projet aboutit à une extension IoT discrète permettant de piloter le portail depuis un smartphone sans endommager le système existant
Projet de boîte à secrets : intégrer l’interphone d’un immeuble à Apple Home
- Le projet a commencé lorsqu’un interphone d’immeuble d’un ami, basé sur le système Doorking 1834-080, a cessé de permettre l’ouverture du portail après l’interruption du service cellulaire due à un manque de maintenance
- Les visiteurs ne pouvant plus demander l’accès par téléphone, une solution de hack matériel basée sur un ESP32 a été mise en œuvre pour ouvrir le portail à distance depuis Apple Home
Enquête initiale et premières tentatives
- L’inspection sur site a montré que le boîtier supérieur de l’interphone n’était pas verrouillé, ce qui a permis d’examiner sa structure interne, et que le routeur Wi-Fi/cellulaire utilisait encore le mot de passe par défaut
- Un vulnérabilité permettant de réinitialiser le mot de passe root a été découverte en téléchargeant le fichier de configuration du routeur, mais l’idée a été abandonnée en raison de la complexité liée à l’analyse du protocole série personnalisé du système
- Lors d’une deuxième tentative, l’auteur a essayé d’imiter un signal DTMF via la borne de ligne téléphonique (
PH LINE), mais l’expérience a été arrêtée car le boîtier de contrôle risquait d’ignorer les commandes lorsqu’il n’était pas en attente de réception
Troisième approche : contrôle au milieu du circuit
- En ouvrant la boîte de jonction située entre le boîtier vocal et le contrôleur principal, il a constaté que la ligne de commande du solénoïde qui actionne le verrou du portail y passait
- Le solénoïde a une structure simple : il s’ouvre lorsqu’il est alimenté et se verrouille quand l’alimentation est coupée, d’où l’idée d’alimenter directement le circuit pour ouvrir le portail
- Le plan consistait à récupérer une alimentation auxiliaire 12V DC depuis le boîtier vocal pour faire fonctionner une carte relais Wi-Fi ESP32, puis à l’intégrer à Apple Home
- Dérivation de la ligne de commande du solénoïde vers le relais ESP32
- Écriture du firmware en Rust pour fonctionner comme client du protocole Matter
- Conception d’un circuit permettant un contrôle en parallèle tout en conservant le fonctionnement normal du système existant
Configuration logicielle
- Connexion de l’ESP32 à Apple Home à l’aide d’une bibliothèque Matter basée sur Rust
- Une fois connecté au réseau, l’appareil ouvre le portail pendant une durée définie (10 secondes par défaut) lorsqu’il reçoit une commande, puis le reverrouille automatiquement
- Cela évite de laisser le portail ouvert trop longtemps et préserve la sécurité
- Code publié : GitHub - ImTheSquid/doorbell2
Problèmes de mémoire et solution
- En raison du manque de RAM sur l’ESP32, l’exécution simultanée des piles Wi-Fi et Bluetooth provoquait des corruptions mémoire et des redémarrages
- L’implémentation Matter utilisée reposait sur la pile Bluedroid, ce qui aggravait encore le problème
- La solution a consisté à activer le Wi-Fi et le Bluetooth de manière mutuellement exclusive et à appliquer dans le fichier de configuration (
sdkconfig.defaults) des options d’économie de mémoire
- Le Bluetooth n’est activé brièvement qu’au moment du provisioning, puis seul le Wi-Fi est utilisé, ce qui a stabilisé l’ensemble
- Dans Apple Home, le verrou du portail s’affiche correctement, et les informations du fabricant peuvent même être définies librement
Installation et résolution des problèmes d’alimentation
- La carte ESP32 s’insère parfaitement dans le boîtier de câblage et reste invisible de l’extérieur
- L’alimentation a d’abord été tirée depuis le boîtier vocal, mais cela ne fonctionnait pas ; un test temporaire avec une batterie de perceuse sans fil 20V a alors permis de valider le montage
- Après consultation du manuel, il s’est avéré que la borne 12V du boîtier vocal était une entrée
- Le problème d’alimentation a été résolu en ajoutant un régulateur redresseur convertissant l’entrée 18V AC en 12V DC
- Tous les composants ont ensuite été rangés à l’intérieur de la boîte de jonction pour finaliser l’installation
Résultat et portée du projet
- Grâce à Apple Home, il est désormais possible de contrôler le portail à distance depuis un smartphone, et les visiteurs peuvent aussi ouvrir à la fois le portail et la porte de l’appartement depuis l’application
- L’installation repose sur une structure discrète composée uniquement d’une carte ESP32 et d’un petit module d’alimentation, sans interférer avec le système d’accès existant
- En combinant un simple hack de circuit et une intégration fondée sur des standards ouverts, le projet constitue un exemple concret d’IoT pratique étendant les capacités d’un matériel existant
- Le projet a également permis d’acquérir de l’expérience en hack de circuits, et il reste facile à reproduire dans des environnements similaires
Aucun commentaire pour le moment.