Smartes Auto-Lock-Türschloss per Smartphone-Bluetooth-Nähe bauen
Das Konzept
Ihr Smartphone sendet im Entdeckungsmodus ständig eine eindeutige Bluetooth-Kennung aus. Indem wir dieses Signal mit einem Raspberry Pi überwachen, können wir bestimmen, ob das Gerät in Reichweite ist, und entsprechend ein Relais zum Ver- oder Entriegeln der Tür triggern.
Benötigte Hardware
- Raspberry Pi – jedes Modell; ich nutzte ein älteres Model B für seine Einfachheit. Netzwerkkonnektivität (Ethernet oder WLAN), SD-Karte und Micro-USB-Netzteil sicherstellen.
- Bluetooth USB-Adapter – Adafruits 4.0 BLE Modul funktioniert zuverlässig, aber jeder kompatible Dongle tut es. Der Adapter muss nur kurze Pings senden, Übertragungsgeschwindigkeit ist nicht kritisch.
- GPIO Breakout Board („Cobbler“) – Macht Pin-Verbindungen übersichtlich; günstig und praktisch.
- Relais-Board – 4-Kanal-Modell für 12 V/5 A wählen. Ich nutzte ein generisches Modell für ca. 5 $.
- 12/24 V Elektromagnet-Schloss – Ich kaufte ein 180 kg Haltkraft-Schloss mit Montagematerial für ca. 35 $.
- 12/24 V Netzteil – Das Schloss muss von externer Versorgung gespeist werden; niemals vom Pi.
- Python-Skript (Lock.py) – Wir entwickeln dies schrittweise.
Bluetooth-Einrichtung
Zuerst nötige Bluetooth-Pakete auf dem Pi installieren. Direkt auf dem Gerät oder via SSH.
sudo apt-get install bluez python-bluez
Dongle einstecken und Erkennung prüfen:
hcitool dev
Beispiel-Python-Skript zum Entdecken naher Geräte laden:
wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py
Meldet das Skript „0 devices found“, sicherstellen, dass das Handy im Entdeckungsmodus ist. Bei iPhone Bluetooth-Einstellungen öffnen, um es zu aktivieren.
Detektions-Skript erstellen
Datei detect.py anlegen und folgenden Code hinzufügen. MAC-Adresse durch die Ihres Handys ersetzen.
#!/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("User present")
else:
print("User out of range")
time.sleep(10)
Skript ausführen für Echtzeit-Status-Updates. Das 10-Sekunden-Intervall balanciert Reaktionsfähigkeit mit Stromverbrauch. Bei Batteriebedenken einen Schalter erwägen, der die Schleife deaktiviert, während Sie drinnen sind.
GPIO Board-Modi
Pin-Nummerierungsschema wählen, das zur Hardware passt. „Board“-Modus nutzt physische Pin-Nummern, „BCM“ (Broadcom) bezieht sich auf GPIO-Kanalnummern. Ich nutze BCM in den Beispielen unten, was mit den meisten Breakout-Boards übereinstimmt.
Relais verdrahten
Breakout-Board an Pi anschließen: 3,3 V und 5 V Pins an Relais VCC und GND. GPIO 23 an Relais-Eingang verdrahten. Relais-Logikpegel-Anforderungen prüfen; viele akzeptieren 3,3 V Signale direkt.
Relais manuell testen: wiringPi installieren und GPIO 23 als Output konfigurieren:
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
gpio -g mode 23 out
Pin-Status prüfen:
gpio -g readall
Klickt das Relais, sind Sie bereit für die Schloss-Integration. Schloss-Netzteil getrennt von Pi-Stromschienen halten.
Nächste Schritte
Detektions-Skript mit GPIO-Steuerlogik kombinieren, um Schloss zu triggern, wenn Handy außer Reichweite ist. Gründlich in kontrollierter Umgebung testen vor Deployment.
Herstellungsprozess
- Banktresore: Geschichte, Design und Zukunft der Sicherheit
- Induktiver Näherungssensor: Schaltungsdesign, Funktionsweise und praktische Anwendungen
- Bluetooth Smart Sensor Networks: Warum Reichweitenlimits die größte Herausforderung sind
- Cypress launcht Dual-Mode Bluetooth 5.0 MCUs mit Mesh Networking, Bridging IoT Devices zu Smartphones
- Line-Tracking-Sensor mit Raspberry Pi – Einfacher KY-033 Tür/Line Detektor
- Robuste Temperatur- & Sensor-API auf Raspberry Pi mit GY-91 Modul bauen
- Low-Cost Infrarot-Näherungssensor für Raspberry Pi nur mit Digitalpins
- Thermofühler (Thermocouple) mit Arduino Portenta H7 über MAX6675 IC integrieren
- K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung