Fin 2016, Sylvain remportait le 5ème prix du concours ENI « Les idées les plus folles à réaliser avec un Raspberry Pi » grâce à sa serrure connectée. A l’époque il m’avait invité à découvrir ses réalisations. Je vous les présente dans cet article.
Les réalisations domotiques de Sylvain
C’est avec plaisir que j’ai répondu à l’invitation de Sylvain. Habitant tous les deux dans la même région Bourgogne-Franche-Comté, moins de deux heures (en voiture) séparaient nos domiciles.
Lors du concours ENI, Sylvain avait présenté une serrure connectée qui lui permettait d’ouvrir la porte sans clé, juste avec un smartphone. Mais sur place je me suis aperçu qu’il avait à son actif de (très) nombreuses réalisations tournant autour du Raspberry Pi. Je vous les présente ci-dessous, agrémentées d’une quantité de photos qui pourront éventuellement vous inspirer dans vos réalisations
Une serrure connectée
Un prototype en Lego
Le projet présenté lors du concours ENI s’insérait dans une réalisation domotique plus globale. La serrure connectée permet de se passer de la clé, celle-ci étant présente à l’intérieur de l’appartement et actionnée par un servomoteur piloté depuis un smartphone ou une page web sur un PC.
Le premier prototype de serrure, réalisé en aluminium (2104) n’a pas passé l’épreuve de la validation (et n’a pas laissé que des souvenirs en photo). S’il fonctionnait correctement sur table, une fois en place il était trop rigide pour s’adapter aux légers décalages de centrage et autres. Du coup la clé tournait mal et bloquait. Le servomoteur n’avait pas assez de couple pour entraîner la clé.
Premières images de la serrure automatisée en aluminium.
Le montage fonctionnait sur cette maquette mais bloquait lorsqu’il était monté sur la serrure.
Du coup pour amener de la souplesse, Sylvain a décidé de refaire sa serrure… en Lego
Pour ce prototype, un embrayage Lego peut être activé par action sur la poignée de porte. Il permet de libérer le canon et d’utiliser une clé depuis l’extérieur… Juste histoire de ne pas appeler le serrurier en lui disant « mon Lego est bloqué » .
On voit sur cette photo que le premier prototype était plutôt complexe mais 100% Lego. Le Raspberry Pi était un modèle 1 (en bas de l’image).
Le modèle a évolué vers la simplification…
Ici : comment créer un contact avec des têtes de vis
Un ILS (Interrupteur à lames souples) sert de détecteur de position et permet de savoir quand la clé est alignée.
Le Raspberry Pi est devenu un modèle A+
Sur ces images on voit le système d’entraînement de la clé intérieure.
Le choix du canon est important. La partie située à l’ intérieur est plus longue, pour permettre le montage de la serrure et accepter son épaisseur. D’autre part le canon doit autoriser l’utilisation simultanée d’une clé intérieure et d’une clé extérieure (en cas de non fonctionnement de la serrure). Vous le trouverez sous la dénomination commerciale : cylindre débrayable sur les sites de ventes.
Une fois le « couvercle » mis en place, la serrure fait moins « techno »
Finalement le modèle « définitif » a été réalisé en impression 3D. Une LED RGB donne par sa couleur une information sur l’état de la serrure.
Dans cette version le Raspberry Pi a été remplacé par un ESP2866…
Vidéo de la serrure en fonctionnement
La domotique
Dès 2006, Sylvain avait mis en place une solution domotique dans un précédent appartement. C’est un automate Siemens S7-200 qui avait été chargé de cette mission.
Le câblage
Par la suite Sylvain a repensé son installation domotique lors de son arrivée dans ce nouvel appartement (en 2011). Tout le câblage a été pensé en fonction d’une installation possible de domotique. Mais sans réellement savoir s’il allait le domotiser réellement.
Le but initial en 2014 était de gérer le confort de l’appartement, chauffé en électrique. Il souhaitait tenir compte de l’inertie thermique pour gérer les heures de mise en route du chauffage.
Pour faciliter le câblage et garder l’ordre des fils, Sylvain a utilisé des… barrettes de Lego ! Comme quoi ça sert à tout ces petites choses.

La partie câblage
Le câblage a été fait COMPLÈTEMENT en étoile. Chaque point d’éclairage, prise ou interrupteur a été ramené à l’armoire électrique. Tout le câblage est prévu pour pouvoir repasser le câblage en « classique » très rapidement, pour un dépannage ou comme c’est le cas actuellement si l’appartement est vendu et que l’acquéreur ne souhaite pas conserver la centrale domotique.

La centrale domotique
Même si cela complique un peu le câblage, on conserve la possibilité de revenir en arrière à tout moment. Le système de commande est composé de 32 relais (2 cartes de 16). Les 15 interrupteurs répartis dans l’appartement sont des modèles Schneider pouvant fonctionner de façon classique (non domotique : Allumé/Éteint) ou, par simple ajout d’un ressort, en boutons poussoirs bien pratiques pour la domotique.
Une des contraintes de la copropriété est de ne pas modifier le circuit du portail ou son circuit électrique. C’est le téléphone visible sur la droite de la centrale domotique qui sert d’interphone et permet de déclencher l’ouverture du portail. Il existe aussi une télécommande par radio.
Pour réaliser l’ouverture sans modification du circuit, Sylvain a choisi de déporter une télécommande (modifiée) et de lui envoyer l’information d’ouverture générée par le Raspberry Pi.
Du coup il devient également possible d’ouvrir le portail à partir d’un smartphone.
La centrale domotique
La conception de la centrale est telle qu’une personne non avertie (invité, femme de ménage…) utilise les interrupteurs de façon classique. Elle appuie sur un poussoir et le point d’éclairage correspondant s’allume. Facile.
En fait le programme de Sylvain gère les clics et en particulier le multi-clic. Le programme en C teste si l’appui est supérieur à 150ms.

Premier prototype de la centrale domotique
Pour l’utilisateur averti tout devient différent. Avec un appui long, 2 ou 3 appuis il peut gérer des ensembles de lampes. Par exemple, le salon comporte 5 points d’éclairage. Un appui long sur un des interrupteurs lorsqu’on quitte le salon, éteint tous les éclairages qui se trouvent après ce point. 1 appui allume la lampe 1, 2 appuis allument la lampe 2, etc. On peut donc gérer « normalement » les lampes ou les gérer de façon « intelligente » via la centrale domotique.
La centrale domotique en détails
Utilisation d’un RAM Disk
Sylvain a choisi d’écrire lui-même les programmes de sa domotique. Il a choisi de travailler en RAM Disk pour éviter les soucis liés au nombre limité d’écritures sur les cartes SD.
Il a choisi de commander les scénarios tout simplement avec des fichiers. Si un scénario existe dans le dossier prévu, il est exécuté… tout simplement
Sylvain développe actuellement une centrale domotique pour une maison (répartition sur 2 étages + gestion du sous sol) comme vous le verrez dans la suite de cet article.
Couplage de plusieurs Raspberry Pi
Dans ce cas, le choix d’utiliser un RAM Disk facilite l’utilisation de plusieurs Raspberry Pi. Il suffit de monter un RAM Disk dans l’arborescence de l’autre Raspberry Pi (et vice versa) pour partager facilement les informations via le réseau et synchroniser les événements (allumer la lampe du couloir à l’étage du bas quand on descend d’un étage, éteindre toutes les lampes de la maison lorsqu’on sort…).
Ici l’info est envoyée à tous les Raspberry Pi, sans API. On note juste une légère latence, sans inconvénient dans la vie courante.
La latence est lié à la gestion du multi-clic. On doit forcément attendre qu’il n’y ait plus de clic possible pour actionner le relais d’où la (légère) latence dans le fonctionnement de la centrale domotique de l’appartement.
L’exploitation des informations
Sylvain utilise incron qui est le diminutif de inotify crontab qui signifie table de planification. inotify est un mécanisme du noyau Linux qui fournit des notifications concernant le système de fichiers. Il intervient lorsqu’un fichier apparaît dans un répertoire.
Par exemple, s’il existe un fichier nommé mp3, lancer la lecture d’un morceau en mp3, s’il existe un fichier talk, lance la lecture en synthèse vocale d’un texte… Il devient possible de commander une action simplement en créant le fichier « qui va bien ».
L’API Google
Sylvain a choisi de coupler sa domotique avec l’API Google. Son programme en C dialogue avec l’API Python. Le programme en Python gère un agenda « domotique » doté d’une passphrase spécifique.
Toutes les 5 minutes, une tâche cron appelle le programme Python et s’il existe un événement dans l’agenda (avec un nom spécifique), le programme crée un fichier dans le RAM Disk.
Par exemple, s’il existe dans l’agenda entre 14h et 17h un événement appelé ChauffageSalon, le programme Python crée un fichier de numéro de scénario chauffage dans le RAM Disk. Ce fichier qui apparaît sera vu par le programme en C qui activera le chauffage. A la fin de l’événement, le fichier est supprimé par le programme Python. Le programme en C constate la disparition du fichier chauffage et arrête donc le chauffage…
Autre exemple : une femme de ménage intervient dans l’appartement. L’autorisation d’ouverture de la porte est un événement inscrit dans l’agenda Google. Durant cet événement un fichier est créé dans le RAM Disk pour autoriser l’ouverture de la porte. En dehors des heures autorisées, la femme de ménage ne peut pas ouvrir la porte.
Cette organisation permet de déclencher facilement des actions, en créant un fichier dans le RAM Disk du Raspberry Pi. Cela peut-être fait avec un programme en n’importe quel langage…
Consommation électrique
Les radiateurs commandés par fils pilotes
Les radiateurs sont commandés par fils pilotes. Cela nécessite 2 relais par radiateur + une diode 1N4007 sur chaque relais. cela permet de gérer le chauffage à partir des fils pilotes. Il vaut mieux utiliser si possible des relais statiques pour éviter le claquement des ordres confort -1 et confort -2.
Le suivi de consommation
La centrale domotique permet aussi le suivi en temps réel de la consommation.
Sylvain a utilisé pour cela les cartes spécifiques pour Raspberry Pi de suiviconso.fr. On voit les pics de consommation (points rouges) fournis par le compteur électrique, qui n’ont rien à voir avec la puissance moyenne calculée. En effet, les radiateurs modernes commutent avec une période de hachage de 15 secondes. (courbe ci-dessous).
Au pire si les mesures sont faites quand les radiateurs sont à l’arrêt, on peut avoir l’impression qu’il n’y a pas de consommation Vous en saurez plus en lisant cet article de Sylvain sur Google+. Au départ, la puissance consommée était basée sur le relevé ci-dessus, avec un calcul pour transformer les valeurs relevées en valeurs réelles. Sylvain a d’ailleurs participé à la modification du logiciel de suiviconso.fr qui donnait des résultats erronés.
Sur cette courbe on voit bien le hachage des radiateurs avec leurs pointes de consommation. L’installation « confort » utilise également des capteurs de température sans fil (DS18B20 sur RFXCom) et de pression (BMP180).
La nouvelle centrale domotique
Le premier étage
Pour équiper la maison en cours de préparation, la centrale domotique a évolué et la nouvelle version va gérer 2 étages plus le sous-sol (avec un Raspberry Pi par étage, donc 3 au total !), les volets (24), les radiateurs, l’éclairage, le confort etc…
Là encore tous les câblages sont prévus en étoile pour que la centrale domotique puisse absolument tout gérer mais qu’on puisse revenir « facilement » à une installation standard si besoin.
Voici quelques images commentées des travaux en cours
Au premier étage de la maison, la centrale domotique est opérationnelle.
Centrale domotique du premier étage. Le Raspberry Pi est abrité dans un boîtier officiel. A sa gauche les cartes E/S puis l’alimentation.
Gros plan sur les relais et le Raspberry Pi.
Les cartes d’extension E/S et l’alimentation
Commande des radiateurs par fil pilote.
L’installation du premier étage est pratiquement opérationnelle.
Le deuxième étage
A cet étage l’installation est juste démarrée. La centrale est en préparation comme le montrent les images ci-dessous.
Les cartes d’extension sont des cartes ABElectronics qui étendent le bus (MCP23017).
Chaque carte fournit 32 E/S en 5v, ce qui va permettre de piloter les nombreux relais de l’installation.
Préparation du câblage pour le deuxième étage de la maison.
Le module sera ensuite intégré directement dans l’armoire électrique ci-dessous.
Au premier plan la partie câblage, au second plan la partie destinée à recevoir la centrale domotique.
il y a encore quelques fils à relier…
Le câblage de ce deuxième étage s’achève… (17/12/2017). Voici ce que ça donne maintenant. On voit l’évolution
La partie « brassage » de l’installation, avec l’arrivée de tous les fils en étoile.
La centrale domotique est en place.
Une fois les capots remis, il ne restera que les caches à clipser et l’ensemble aura un cachet très professionnel !
Le programme
Le programme C du second étage est à votre disposition et téléchargeable, ainsi que les fichiers nécessaires à sa compilation.
Vu le fonctionnement par création locale de fichier il n’y a pas de faille sur l’extérieur. Une faille pourrait exister dans la partie php ou ssh ou python. Sylvain préfère donc ne pas publier ces parties de sa centrale domotique. Les makefiles ont été générés par la version d’essai de Visual GDB qui est très utile pour la mise au point. Il permet de mettre des points d’arrêt sur un PC Windows dans un programme qui s’exécute sur le Raspberry Pi
La gestion de la porte du garage
Ici c’est un module complet avec alimentation 220V destiné à gérer le portail du garage. La caméra utilise simplement MotionEye. Par la suite Sylvain devrait ajouter la possibilité de recevoir l’image de la personne qui sonne.
C’est dans ce bloc d’ouverture de la porte de garage que le Raspberry Pi Zero et ses deux relais seront intégrés.
La caméra RpiEye
La caméra PiEye est un projet que Sylvain a expérimenté, modifié et remis à dispositions sur Thingiverse. C’est un « mix » de deux autres projets, RPI-Pi_Eye et Raspberry-P-Eye (vidéo ci-dessus) auxquel Sylvain a ajouté son « grain de sel » en remplaçant les roues dentées imprimées par des pièces de Lego dont il disposait et dont il connait la qualité.
L’idée est de déplacer la caméra du Raspberry Pi comme le caméléon déplace son œil.
Il faut créer un support de caméra qui prend la forme d’un œil de caméléon, l’objectif venant se positionner derrière le trou.
Les déplacements sont assurés par 2 servomoteurs actionnant un différentiel. L’action simultanée ou inversée des servomoteurs assurent l’orientation.
Dans la version actuelle, les deux servomoteurs sont placés de chaque côté du support. Sylvain réfléchit à une version dans laquelle les deux servomoteurs seraient côte à côte pour déduire l’encombrement.
Un petit morceau de trombone chauffé rentre dans l’axe pour assurer un bon centrage et permettre la rotation en différentiel. Les axes noirs sont chauffés au briquet pour les coller à l’axe du servomoteur.
Vue en gros plan du support de caméra et des pièces Lego.
La lampe Ikea
J’avoue ne pas être un visiteur acharné des magasins de meubles scandinaves… Dans celui de Dijon où je suis passé dans la semaine j’ai quand même photographié cet objet qui est une lampe.(Photos ci-dessus Ikea Dijon 13/12/2017) Les deux tirettes qui pendent sous la lampe permettent de l’ouvrir et de la fermer.
Sylvain en a installé une de ces lampes dans la chambre de son fils.
Mais en y regardant de plus près les tirettes ont disparu !
Et pourtant la lampe s’ouvre et s’éclaire ???
La solution de l’énigme réside à l’intérieur de la lampe ou les pièces Lego ont encore frappé et où un servomoteur à rotation continue s’est vu confier l’ouverture et la fermeture de la lampe.
En même temps l’ampoule classique a été remplacée par un Ruban de Led dont le boitier de commande normalement piloté par infrarouge a été modifié pour accepter un pilotage en PWM depuis un Raspberry Pi dédié qui commande aussi le servomoteur. Le ruban de Led fournit suffisamment de lumière mais a le mérite d’offrir toute une palette de couleurs. Le tout étant bien entendu pilotable par la centrale domotique.
La caméra avec objectif à monture C
Pour assurer la surveillance, Sylvain utilise une caméra Pi (qui a dit « c’est normal » ? ).
Si l’intérieur du boîtier du Pi Zero et de la caméra semble classique (il y a bien quelques vis en plus…)
La face avant réserve quelques surprises. Pour tout vous dire Sylvain travaille sur des systèmes de vision industrielle. C’est pour cela qu’il a choisi d’équiper sa caméra d’un objectif avec une monture de type C.
Ici le boîtier du Pi Zero avec l’adaptateur de monture C (en bleu) et sous la caméra le support pour fixer la caméra sur un pied photo.
Objectif démonté, on voit que c’est une bague métallique destinée au montage d’un objectif à monture C qui est maintenue par l’adaptateur imprimé en 3D (serrage élastique).
L’objectif d’origine de la caméra a été démonté (il faut parfois forcer un peu pour le dévisser). Le capteur est à nu et peut (comme sur un réflex numérique) être pollué par des poussières qui feront apparaître une tâche sur l’image.
L’adaptateur imprimé en 3D est lui aussi téléchargeable sur Thingiverse. Vous y trouverez aussi d’autres images que celles que j’ai prises.
Les premières télécommandes par smartphone
Au commencement la terre était une grosse boule de feu Eh bien le commencement pour Sylvain ce fut une demande de son frère qui souhaitait ouvrir son portail non plus avec une télécommande mais avec son smartphone… Pas simple de modifier la télécommande, en plus c’était bien de la garder en secours…
Les premiers essais ont démarré avec un Raspberry Pi, un servomoteur et la télécommande. Le Raspberry Pi reçoit un ordre et fait tourner l’axe du servomoteur. La came (ici en carton, plus tard en bois) vient appuyer sur le bouton de la télécommande et… le portail s’ouvre !
Le montage, où le bloc télécommande est absent, a été installé dans une boîte à chaussures… Une caméra (visible en haut de la boîte) gère aussi un jeton d’authentification. Si le servomoteur tourne dans l’autre sens, la came déclenche le jeton et envoi la photo du code par mail.
La petite Led rouge est aussi synchronisée pour apporter juste la lumière nécessaire à l’image.
Conclusion
On voit encore une fois la flexibilité du Raspberry Pi et la grande diversité des solutions qu’il apporte.
J’ai passé une excellente journée avec Sylvain qui m’a présenté en détail toutes ses réalisations avec démonstrations à la clé (surtout pour la serrure ). Malgré la modestie dont il fait preuve, ses réalisations montrent un talent de maker touche à tout (et ce n’est pas péjoratif).
De la mécanique à l’électronique en passant par la programmation, sa fréquentation du Raspberry Pi lui a permis de découvrir et d’explorer avec succès de nombreux domaines.
Il a souhaité présenter ses réalisations avec l’arrière pensée qu’elles pourraient inspirer certains d’entre vous. Si c’est le cas, n’hésitez pas à le lui dire dans les commentaires ci-dessous.
Merci à Sylvain et à sa compagne pour leur accueil et peut-être à bientôt pour un autre reportage quand le domotique de la maison sera terminée
Trêve des confiseurs
Cet article marque l’entrée dans la trêve des confiseurs. Après plusieurs mois intenses de réalisations et de rédaction, Framboise314 va marquer une petite pause jusqu’à début janvier.
En attendant de vous retrouver, je vous souhaite de passer une bonne fin d’année et de découvrir plein de Raspberry Pi au pied du sapin !! Si vous débutez avec le Raspberry Pi, pensez à parcourir l’ebook gratuit pour bien démarrer avec votre framboise.
Sources
- https://medium.com/@sylvain_51672/voici-mes-projets-fous-%C3%A0-base-de-raspberry-pi-le-n-7-va-vous-%C3%A9pater-933699b108f2
- Fablab de Lons le Saulnier
https://fr-fr.facebook.com/ledonova/ - Fablab de Champagnole
https://fr-fr.facebook.com/FabLabChampagnole/ - https://www.thingiverse.com/thing:1673123
- https://www.thingiverse.com/thing:2493359
- https://plus.google.com/+SylvainBouillon39
Cet article La domotique d’un fan du Raspberry Pi a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....