Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ein DIY Alarmsystem mit Raspberry Pi und ESP32 :)
31-03-2023, 22:38
Beitrag: #1
Ein DIY Alarmsystem mit Raspberry Pi und ESP32 :)
Hallo zusammen,

Zunächst einmal möchte ich sagen, ein richtig tolles Forum habt ihr hier :-). Auch wenn sich hier die allermeisten Themen eher weniger um DIY zu drehen scheinen (zumindest nicht auf dem nachfolgend beschriebenen Level Wink ) so habe ich hier doch einiges grundsätzliches über Alarmanlagen bzw. Einbruchmeldeanlagen erfahren, was mir bei der Realisierung meines DIY-Projekt nützlich war.

Genau von diesem DIY-Projekt möchte ich gerne berichten. Denn es ist denke ich einfach mal was völlig anderes, als was ihr hier sonst so gewohnt seid Big Grin.

Alles begann mit einer professionellen Einbruchsmeldeanlage bei meinem Arbeitgeber, die diesem in letzter Zeit viel Geld für Technikerbesuche gekostet hat, nachdem bei einer Sanierung wohl einige nicht ganz unwichtige Leitungen zerstört wurden. Ich selber wohne auf dem Dorf in einem großen Einfamilienhaus und hatte noch einen ungenutzten Raspberry Pi herumliegen. Da hab ich mir gedacht, ich experimentiere mal ein wenig. Und nun, ein paar Monate später. habe ich mir denke ich schon ein recht ansehnliches Alarmsystem in meinem Haus aufgebaut.

Herausgekommen ist ein wahres Unikat. Denn nicht nur mit Hardware und Meldern habe ich experimentiert und integriert, sondern auch auch die Software meines Alarmsystems ist komplett selbst geschrieben.

Warum mache ich mir diesen doch recht gewaltigen Aufwand? Nun, letztlich weil mir sowohl programmieren, als auch den Lötkolben schwingen sehr viel Spaß macht. Ohne diese beiden Voraussetzungen wäre dieses Projekt sicherlich schnell im Sande verlaufen. Dadurch, dass ich mir aber eben auch die Software selber ausdenke und umsetze, liegt es komplett im meiner eigenen Hand zu definieren was mein Alarmsystem können soll und das dies auch letztlich auch funktioniert Smile. Ich habe hier im Forum viele frustrierte Beiträge von Leuten gelesen, weil sie nicht richtig verstehen wie ihre Anlage funktioniert, warum sie was tut, Features fehlen, oder die Software auch einfach mal Bugs enthält. Vor all diesen Problem stehe ich nicht, bzw. kann sie zumindest selber beheben. Ich weiß ganz genau, was meine Anlage kann und wie sie funktioniert. Und wenn mir ein Feature fehlt, dann programmiere ich es mir "einfach" dazu. Natürlich steckt dahinter auch ein gewisser Aufwand, aber wie gesagt, es ist wirklich wichtig, dass man daran auch Spaß hat.

Die Alarmzentrale:
Wie erwähnt dient als Alarmzentrale ein Raspberry Pi - ganz genau ein RPi 4 mit 4GB RAM mit installiertem Rasbian Lite. Die Alarmzentrale auf Softwareseite besteht im wesentlichen aus einem Python-Script und einem Configfile. Im Configfile können Bereiche, Melder und Benachrichtigungen definiert und verknüpft werden. Das Script ließt das Configfile aus und durchläuft dann endlos in Schleife alle zu einem Bereich zugeordneten Melder. Meldet ein Melder einen Alarm, werden die mit dem Bereich verknüpften Benachrichtigungsmittel ausgelöst. Diese können alles mögliche sein. Ich lasse mich aktuell über 2 unabhängige Push-Dienste benachrichtigen, außerdem werden Außen- und Innensignalgeber als weitere Benachrichtigungsmittel aktiviert. Das war jetzt der Ablauf mal ganz grob beschrieben. Tatsächlich ist das Script nicht nur ein einziges Script sondern besteht inzwischen aus diversen Modulen, auch zum Scharfschalten, Unscharfschalten, Alarme verarbeiten, quitieren usw... Alleine die Programmierung hat schon ein paar Wochenenden verschlungen, aber mit dem Resultat bin ich inzwischen sehr zufrieden. Ich möchte an dieser Stelle hier noch nicht zu tief ins Detail gehen, der Beitrag wird ja schon lang genug, aber ich erzähle sehr gerne noch ausführlicher wenn Interesse besteht^^.

ESP32 zum Melder einsammeln:
Neben dem Raspberry Pi, an dessen GPIO-Ports auch Melder angeschlossen werden können, habe ich im Haus mehrere ESP32 verteilt. Für die jenigen die ESP32 nicht kennen, das ist ein kleiner programmierbarer Mikrocontroller der ähnlich wie der Raspberry Pi über GPIO-Pins verfügt die als Ein- und Ausgang programmiert werden können. ESP32 können sich per WLAN mit einem Netzwerk verbinden und je nach Programmierung die verschiedensten Dinge tun. In meinem Fall läuft auf diesen ESP32 ein kleiner Webserver der eine API für die GPIO-Pins bereitstellt. Der Zustand aller GPIO-Pins an denen Melder angeschlossen sind, können über den Webserver abfragt werden. Genau dies macht dann die Script-Schleife der Alarmzentrale periodisch - mindestens 1x alle 2 Sekunden. Dieses Intervall hat in meinen Versuchen bisher immer gut funktioniert, um die Alarme schnell genug zu registrieren. Sehr wichtig für den Betrieb der ESP32 ist ein gut ausgebautes WLAN-Netz, da die Antennen relativ schwach sind. Ich habe auf jeder Etage und auch im Keller Access-Points, sodass dies bei mir gewährleistet ist.

Webapp:
Um die Alarmzentrale komfortabel bedienen zu können, habe ich neben der Alarmzentrale ein weiteres Python-Script gebastelt, welches einen Webserver mit einer kleinen Webapp ausgibt, über welche die definierten Bereiche Scharf & Unscharf geschaltet werden können. Außerdem können hierüber auch bestehende Alarme quittiert und natürlich der aktuelle Status der Bereiche abgefragt werden.

Bedienteil:
Auch ein Bedienteil habe ich gebastelt. Dieses besteht ebenfalls aus einem ESP32, einem schlichten 2 zeiligen Display und einem 4x4 Keypad über welches Pin-Codes eingegeben werden können. Der ESP32 übermittelt die eingegebene Pin per HTTP an eine API der Webapp, welche dann die zum Code hinterlegte Aktion ausführt (Scharfschalten, Unscharfschalten, Quittieren, Status abfragen).

Die Melder:
Ich habe im Augenblick ausschließlich Reed-Schalter für Türen und Fenster sowie Bewegungsmelder im Einsatz. Diese sind allesamt ziemlich Dumm. An den Reed-Schaltern werden 2 Kabel angeschlossen, auf der einen Seite kommen 3,3v vom RPi oder ESP32 rein, auf der anderen Seite geschlossen oder geöffnet wieder raus auf einen GPIO-Eingang. Die Bewegungsmelder haben einen potentialfreien Schaltrelais. Auch auf diesen gehen 3,3v auf der einen Seite rein und auf der anderen Seite auf ein GPIO-Eingang. Die Bewegungsmelder selber müssen zudem noch mit 12v versorgt werden, die kommen aktuell einfach von einem Netzteil.

Signalgeber:
Ich habe insgesamt 4 Signalgeber im Einsatz. Der Wichtigste ist ein ABUS SG1650, den ich in Kürze bei den anstehenden Arbeiten an der Fassadendämmung dann außen installieren werde. Er soll die Nachbarschaft informieren und natürlich abschrecken. Er wird deshalb als Einziger über ein Relais von einem GPIO-Out des RPi aktiviert. Die 12v die er braucht kommen von einem Netzteil welches ebenfalls an der USV angeschlossen ist. Ansonsten befinden sich auf jeder Etage je eine 120dB laute China-Sirene als Innensignalgeber für ein paar Euro das Stück. Diese brauchen ebenfalls 12v und werden über ein Relais aktiviert, welches von einem einem der ESP32 geschaltet wird. Ich bin echt erstaunt, was aus diesen kleinen Dingern heraus kommt, mit 120dB versprechen sie echt nicht zu wenig Big Grin.


Dinge die ich noch verbessern wollen würde:
Im Augenblick kann das Alarmsystem Stromausfälle nicht wirklich abfangen, die ESP32 und die BWMs hängen direkt mit einem Netzteil am Stromnetz. Die Access Points bleiben tatsächlich an, die werden mit PoE von einem Switch versorgt, der USV gepuffert ist. Die hält mindestens 2 Stunden. Der RPi selber und auch der Router und das Internetmodem hängen ebenfalls daran. Prinzipiell ist Stromausfall aber erstmal ein Risiko welches ich bereit bin einzugehen. Immerhin bekomme ich eine Störungs-Push-Nachricht, wenn die ESP32 aus welchen Gründen auch immer nicht erreicht werden können. Auch eine Lösung um ein Jamming-Angriff auf das WLAN-Signal zu detektieren fände ich noch toll. Da der Außensignalgeber ja funklos angesteuert wird, ließe dieser sich ja aktivieren, wenn der RPi da eine zuverlässige Information über ein Jamming-Angriff erhält.

Für Ideen zur Verbesserung des Systems bin ich gerne offen. Mir juckt es trotz der vielen Stunden immer noch in den Fingern Big Grin . Wenn sich also noch interessante Aspekte ergeben die ich bisher nicht berücksichtigt habe, baue ich gerne noch weiter.

Sobald ich etwas Zeit finde den Code ein bisschen noch aufzuräumen und komplett auf English zu übersetzen, veröffentliche ich ihn mal. Das System funktioniert tatsächlich viel vieeeel besser als ich anfangs erwartet hätte. Da lasse ich gerne jeden der auch Bock auf so richtig DIY hat, gerne teil dran haben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Nachrichten in diesem Thema
Ein DIY Alarmsystem mit Raspberry Pi und ESP32 :) - DIYler - 31-03-2023 22:38

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Kennt jemand das GIRA Alarmsystem ssb-security 0 1.132 15-01-2022 13:59
Letzter Beitrag: ssb-security
  Wer kennt das Alarmsystem Sp310 von Safe2home? Toledon 20 20.361 07-09-2020 16:23
Letzter Beitrag: Ja_ich
  Reparatur antikes Alarmsystem "System Elektronik Z 075-1-8" DenisB. 17 11.392 26-12-2019 09:06
Letzter Beitrag: peteralarm
  Wer kenn das Alarmsystem Ajax ? pure_y2k 43 50.021 01-12-2019 22:25
Letzter Beitrag: wolli1964
  HA-871 Alarmsystem Hardy60 3 7.771 19-04-2011 19:44
Letzter Beitrag: Ollik



Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste