MotionSense: Smarte Einbruchserkennung mit Arduino & ESP8266
Benötigte Komponenten
- Arduino Mega 2560 (1×)
- ESP8266 ESP-01 WiFi-Modul (1×)
- HC-SR501 PIR-Bewegungsmelder (1×)
- 1000 µF Elektrolytkondensator (1×)
- Widerstände und Jumper-Kabel (1×)
Benötigte Werkzeuge
- Seitenschneider
Verwendete Apps und Dienste
- Pushbullet (für Push-Benachrichtigungen)
Projektbeschreibung
Dieses Tutorial zeigt, wie Sie ein System bauen, das unbefugte Aktivitäten oder Einbrüche erkennt und Benachrichtigungen auf Ihr Smartphone sendet. Verwendet werden ein Arduino Mega für die Erkennung (PIR-Sensor) und ein ESP8266 für die WLAN-Verbindung. Benachrichtigungen werden über die Pushbullet-API versendet.
Voraussetzungen
- Grundkenntnisse in Arduino und Hardware (arduino.cc)
- Verständnis von AT-Befehlen (CodeProject)
- Funktionsweise eines PIR-Sensors (Wikipedia)
Hardware-Aufbau
PIR-Sensor anschließen
Stellen Sie die Potentiometer am PIR auf maximale Empfindlichkeit und kürzesten Alarmzyklus ein. Öffnen Sie die weiße Kuppel, um die Pin-Belegung zu sehen: GND | OUT | VCC. Verbinden Sie:
- PIR GND → Arduino GND
- PIR VCC → Arduino 5V
- PIR OUT → Digitaler Pin 2 (änderbar im Code)
Testen Sie den Sensor mit dem Beispielcode aus dem Arduino Playground.
ESP8266 für WLAN-Verbindung einrichten
Das ESP-01 Modul wird mit Standard-AT-Firmware verwendet. Verdrahtung:
- ESP8266 GND → Arduino GND
- ESP8266 TX (UXTX) → Arduino RX2 (Serial2)
- ESP8266 CH_PD → Arduino 5V (über 3,3V-Spannungsregler oder Spannungsteiler!)
- ESP8266 RX (URXD) → Arduino TX2 (Serial2)
- ESP8266 VCC → Arduino 3,3V
- RST, GPIO0, GPIO2 bleiben unbelegt
Wichtig: Der ESP8266 zieht beim Senden viel Strom. Ein 1000 µF Kondensator zwischen VCC (langer Pin) und GND (kurzer Pin) puffert die Spannung und verhindert Arduino-Neustarts.
Pushbullet einrichten
- Registrieren Sie sich bei Pushbullet, installieren Sie die Apps auf Smartphone und Chrome.
- Erstellen Sie einen Access Token in den Kontoeinstellungen (API-Bereich).
- Notieren Sie die HTTP-API-Endpunkte (nicht HTTPS, da Arduino kein SSL unterstützt): Basis-URL
173.17.168.19, Port8181, Pfad/pushbullet/v2/pushes.
Programmierung
Laden Sie den Sketch MotionSense.ino aus dem GitHub-Repository ESP8266-experiments (Ordner Experiments). Passen Sie folgende Konstanten an:
#define SSID "IHR_WLAN_SSID" #define PASS "IHR_WLAN_PASSWORT" #define PIRPIN 2 #define AUTH_TOKEN "IHR_PUSHBULLET_ACCESS_TOKEN"
Kompilieren und hochladen. Der Serial Monitor zeigt den Kalibrierungsprozess, WLAN-Verbindung und schließlich Everything fine | No intrusion. Bei Bewegungserkennung wird eine Push-Benachrichtigung gesendet.
Code-Übersicht
sensor_calibration()– kalibriert den PIR-Sensorcheck_WiFi_radio()– prüft ESP8266reset_wifi()– setzt WiFi-Modul zurückset_wifi_mode()– setzt Client-Moduscheck_wifi_stat()– prüft AP-Verbindungconnect_ssid()– verbindet mit WLANpirRead()– liest PIR (0/1)server_connect(),post(),server_disconnect()– Pushbullet-Kommunikation
Schaltplan
Herstellungsprozess
- Individuelle 4×4 Tic-Tac-Toe Visitenkarten-Platine – Design, Bau und Programmierung
- Multi-Position Temperatursensor-System für Smart-Home-Integration
- DIY Lötkolben-Controller für 862D+ – Präzision & Zuverlässigkeit
- 3D-Drucker Brandschutz: Intelligentes Sensorsicherheitssystem
- Web-fähigen IoT-Messer mit Arduino, Yaler und IFTTT bauen
- Arduino-basierte abstoßende Magnetschwebung: Einfache Schaltung & DIY-Anleitung
- Fortgeschrittener ferngesteuerter Greifer-Roboter für präzises Handling
- Hochleistungs-Datenlogger für Arduino-Wetterballons
- ArduFarmBot Teil 2: IoT-Fernsteuerungsstation für Tomatenzucht
- CoroFence Thermaldetektor: PIR-Sensor & IoT-Integration mit Panasonic GridEye