Pourquoi version courte ? (voir le P.S. à la fin de l’article)
Contexte et idée de départ
Les portes du meuble TV pour illustration 😉
L’autre jour, je pars en rendez-vous avec ma femme et N°4. Avant de quitter la maison, j’active mon système de vidéosurveillance (réalisé avec MotionEye ; vive le Monde Libre) qui surveille plusieurs caméras dont une dans le garage.
Ce système sous MotionEye m’envoie des SMS en cas d’alerte car je n’ai pas Internet sur mon téléphone (oui, nous sommes en 2025 et je n’ai pas de forfait Internet).
Quelques minutes plus tard, sur la route, je reçois une alerte SMS sur mon téléphone : la caméra du garage a détecté un mouvement. Heu… la porte a été fermée ???
Arf ; la loose… Je ne peux pas vérifier car je n’ai pas de connexion Internet sur moi. En simplifiant, je dois passer par un VPN interne car je n’ai pas ouvert les flux sur l’extérieur, donc il me faut Internet ET mon mini PC portable de récup configuré pour ça.
Ça énerve, hein ?!? 😀 En même temps, c’est comme ça que les progrès arrivent : Problème ? –> Solution !!!
Je me suis alors dit qu’il me fallait un système de surveillance physique de l’état de la porte de garage, qui m’envoie une alerte SMS dès qu’elle s’ouvre ou se ferme.
Un peu à la manière de mon ami Seb et sa Boîte aux Lettres (que je vous conseille de lire), sauf que moi, je ne veux pas acheter ou le moins possible 😀
Et vous savez quoi . Ben, voilà, c’est opérationnel et je vous partage le truc !
Matériel nécessaire et Prérequis
Voici ce que j’ai utilisé, mais on peut partir sur un autre RaspberryPi et utiliser le WiFi :
Un Raspberry Pi Zéro V1.3 et une carte µSDRaspberry Pi Zero v1.3
Carte µSD (avec RaspberryPiOS BookWorm Lite)
Magnet Switch (capteur à contact magnétique)
Câbles de connexion (dupont mâle/femelle)
Alimentation pour le Raspberry Pi
WebCam (ou module RaspiCam)
Adaptateur micro-USB vers USB
Adaptateur USB vers RJ45
Accès SSH pour installation/configuration
fswebcam (pour la prise de photo)
API SMS Free Mobile (avec un abonnement FreeMobile)
Schéma de câblage
Connecter le fil Signal du Magnet Switch au GPIO 24 du Raspberry Pi.
Connecter le fil GND du capteur à une masse (GND) du Pi.
Activer la pull_up interne dans le script Python (pull_up=True).
from gpiozero import Button
from time import sleep
import os, datetime, time
SENSOR_GPIO = 24 # GPIO utilisé pour le capteur
capteur = Button(SENSOR_GPIO, pull_up=True)
porte_ouverte = False
alerte_envoyee = False
# Fonction pour prendre une photo
...
Voir le script complet en pièce jointe au format zip ci-dessous
Ceci ne fonctionne que si vous avez un abonnement FreeMobile et l’option (gratuite) de notification activée. Remplacez <USER> et <PASS> par vos identifiants (à garder secrets)
Capture des alertes reçues par SMSPorte ouverte → Alerte SMS avec « Alerte_Garage_Ouvert » → Prise d’une photo par la caméra (WebCam).
Porte toujours ouverte (toutes les 30 secondes) → SMS de rappel avec « Alerte_Garage_Encore_Ouvert » → Nouvelle photo.
Porte fermée → SMS de fin d’alerte avec « Attention_Garage_Refermé » → Nouvelle photo.
Journalisation et photos
Toutes les actions sont loguées dans /home/alban/garage.log
Toutes les photos sont stockées dans /home/alban/photos/ avec un horodatage (timestamp) au format YYYY-MM-DD--HH-MM-SS.
Cette journalisation et ces photos sont stockées uniquement en local pour le moment.
Cependant, cela pourra s’exporter plus tard via sFTP ou une synchronisation avec un dossier Nextcloud.
Conclusion
Capture d’une partie des logs (avec mise en exergue)
Ce système simple et économique (oui, je sais, c’est un peu mon ADN) vous permet de surveiller physiquement l’état de votre porte de garage et de recevoir des alertes SMS en temps réel, sans avoir besoin d’accès à internet.
Évidemment, une porte fenêtre, une baie coulissante et même une fenêtre peuvent aussi être surveillées. C’est à vous de voir 😀
Amusez-vous bien à l’adapter pour vos propres besoins !
P.S. : J’ai réalisé une première installation sur un Raspberry Pi Zéro qui me servait de TimeLapse et de DashCam. Ensuite, j’ai tout refait, mais en partant d’une carte SD nouvellement formatée. Ensuite, pour la réalisation de cet article, j’ai réalisé une nouvelle installation à partir d’une autre carte SD en prenant une capture d’écran de mon terminal (je fais tout en SSH) presque lors de chaque étape (66 captures) dans le but de réaliser un tuto complet.
A propos de Alban
Papa de 4 enfants étant lui-même resté un enfant.
Diététicien-Nutritionniste tombé par obligation dans l'informatique à 22 ans pour le boulot et s'étant "un peu" pris au jeu ...
Pas un génie de l'informatique (loin de là), mais intéressé et carrément orienté Linux et entraide.
Lassé de l'évolution du Monde de la Santé dans lequel les patients sont de plus en plus à traiter comme des clients (je suis un soignant !!!), j'ai opté pour une reconversion en repartant en Alternance... à... 44 ans
D'abord dans le cadre d'un BTS SIO option SISR (Solutions d’Infrastructure, Systèmes et Réseaux) en Septembre 2019.
Après l’obtention du BTS, j'ai décidé de poursuivre (toujours en alternance) en Bac+3 avec un Bachelor Concepteur de Systèmes d'Information.
Depuis septembre 2022, je suis donc encore plus vieux, mais un jeune diplômé "Administrateur Systèmes et Réseaux".
Citation personnelle :
« Si la réussite facile flatte l’égo,
C’est de la persévérance que nait le plaisir de la réussite. »
Rétroliens : Synchronisation avec Rclone vers le Cloud - TREVILLY.COM