Construire une porte à verrouillage automatique intelligente via la proximité Bluetooth de votre smartphone
Vous cherchez un moyen fiable et high-tech pour sécuriser votre bureau à domicile ou votre atelier privé ? Ce guide vous explique comment créer une serrure intelligente DIY qui détecte automatiquement votre présence via Bluetooth et verrouille la porte quand vous vous éloignez.
Le concept
Votre smartphone diffuse constamment un identifiant Bluetooth unique en mode découverte. En surveillant ce signal avec un Raspberry Pi, nous pouvons déterminer si l'appareil est à portée et déclencher un relais pour verrouiller ou déverrouiller la porte en conséquence.
Ce dont vous aurez besoin
- Raspberry Pi – tout modèle conviendra ; j'ai utilisé un ancien Modèle B pour sa simplicité. Assurez-vous qu'il a une connectivité réseau (Ethernet ou Wi‑Fi), une carte SD et une alimentation micro‑USB.
- Adaptateur Bluetooth USB – Le module 4.0 BLE d'Adafruit fonctionne de manière fiable, mais n'importe quel dongle compatible fera l'affaire. L'adaptateur n'a besoin que d'envoyer de courts pings, donc la vitesse de transfert n'est pas critique.
- Carte d'extension GPIO (« cobbler ») – Rend les connexions de broches claires ; peu coûteux et pratique.
- Carte relais – Choisissez une carte 4 canaux classée 12 V/5 A. Mon choix était un modèle générique coûtant environ 5 $.
- Électro-aimant 12/24 V – J'ai acheté une serrure à force de maintien 180 kg avec matériel de montage pour environ 35 $.
- Alimentation 12/24 V – La serrure doit tirer son alimentation d'une source externe ; ne l'alimentez jamais depuis le Pi.
- Script Python (Lock.py) – Nous le développerons étape par étape.
Démarrage avec Bluetooth
Installez d'abord les paquets Bluetooth nécessaires sur votre Pi. Vous pouvez le faire directement sur l'appareil ou via SSH.
sudo apt-get install bluez python-bluez
Insérez le dongle et vérifiez qu'il est reconnu :
hcitool dev
Ensuite, récupérez un exemple de script Python pour découvrir les appareils à proximité :
wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py
Si le script signale « 0 devices found », assurez-vous que votre téléphone est en mode découverte. Sur un iPhone, ouvrez la page des paramètres Bluetooth pour l'activer.
Création du script de détection
Créez un fichier nommé detect.py et ajoutez le code suivant. Remplacez l'adresse MAC par l'identifiant de votre téléphone.
#!/usr/bin/python
import bluetooth
import time
while True:
print("Checking " + time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))
result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)
if result:
print("Utilisateur présent")
else:
print("Utilisateur hors de portée")
time.sleep(10)
Exécutez le script pour voir les mises à jour de statut en temps réel. L'intervalle de 10 secondes équilibre réactivité et consommation d'énergie. Si l'autonomie de la batterie est une préoccupation, envisagez d'ajouter un interrupteur qui désactive la boucle pendant que vous êtes à l'intérieur.
Modes de la carte GPIO
Choisissez un schéma de numérotation de broches qui correspond à votre matériel. Le mode « board » utilise les numéros de broches physiques, tandis que « BCM » (Broadcom) fait référence aux numéros de canaux GPIO. J'utiliserai BCM dans les exemples ci-dessous, ce qui s'aligne avec la plupart des cartes d'extension.
Câblage du relais
Connectez la carte d'extension au Pi : broches 3,3 V et 5 V vers VCC et GND du relais, respectivement. Câblez GPIO 23 vers l'entrée du relais. Vérifiez les exigences de niveau logique du relais ; beaucoup acceptent directement les signaux 3,3 V.
Pour tester le relais manuellement, installez wiringPi et configurez GPIO 23 comme sortie :
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
gpio -g mode 23 out
Confirmez le statut de la broche :
gpio -g readall
Quand le relais clique, vous êtes prêt à intégrer la serrure. Gardez l'alimentation de la serrure séparée des rails d'alimentation du Pi.
Prochaines étapes
Combinez le script de détection avec la logique de contrôle GPIO pour déclencher la serrure quand le téléphone est hors de portée. Testez soigneusement dans un environnement contrôlé avant de déployer.
Processus de fabrication
- À l'intérieur des coffres-forts bancaires : histoire, conception et avenir de la sécurité
- Capteur de proximité inductif : conception de circuit, fonctionnement et applications pratiques
- Réseaux de capteurs Bluetooth Smart : Pourquoi les limites de portée posent le plus grand défi
- Cypress Lance MCU Bluetooth 5.0 Dual-Mode avec Mesh Networking, Reliant IoT aux Smartphones
- Capteur de suivi de ligne KY‑033 avec Raspberry Pi : Détecteur de porte/lignes simple
- Créer une API robuste de température et capteurs sur Raspberry Pi avec le module GY‑91
- Capteur de proximité infrarouge low-cost pour Raspberry Pi utilisant uniquement les broches numériques
- Intégration d'un capteur thermocouple avec l'Arduino Portenta H7 via le MAX6675
- Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur