Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
alarmsystem [01.01.2018 09:56] – angelegt havelock | alarmsystem [14.01.2018 19:24] – havelock | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Bewegungsalarmsystem ====== | ====== Bewegungsalarmsystem ====== | ||
+ | |||
+ | TODO Das hier ist noch in der Erprobungsphase | ||
+ | |||
+ | Noch implementieren | ||
+ | * Konfiguration über '' | ||
+ | * Freifunk-Clientnetzwerk im Fahrzeugknoten deaktivieren, | ||
+ | ip link set down dev client0 | ||
+ | ip link set up dev client0 | ||
+ | </ | ||
Dieses System ist natürlich immer im Zusammenhang mit anderen Sicherungssystemen zu sehen. | Dieses System ist natürlich immer im Zusammenhang mit anderen Sicherungssystemen zu sehen. | ||
- | Feststellen ob ein Fahrzeugvon | + | Voraussetzung ist, daß im Fahrzeug eine permanente Stromversorgung sichergestellt ist. |
+ | |||
+ | Feststellen ob ein Fahrzeug von seinem Parkplatz bewegt wird. | ||
Dazu können Freifunkknoten verwendet werden. | Dazu können Freifunkknoten verwendet werden. | ||
Zeile 10: | Zeile 21: | ||
Wie funktioniert das? | Wie funktioniert das? | ||
- | * Der Knoten im Gebäude | + | * Der Knoten im Gebäude |
- | * Wenn das letzte Signal ein bestimmtes Alter überschritten hat, wird davon ausgegangen, daß das Fahrzeug bewegt wurde oder der Knoten kompromittiert. | + | * Micron-Job '' |
- | * Jetzt kann man durch ei | + | * Script '' |
- | | + | * Wenn das letzte Signal ein bestimmtes Alter überschritten hat und die Semaphor-Datei nicht vorhanden ist, wird die Alarmierung gestartet |
+ | * Es wird eine SSH-Verbindung zu einem Server im Freifunknetz hergestellt und dort ein Alarmprogramm gestartet< | ||
+ | ssh alarmuser@server.ffpi ./ | ||
+ | </ | ||
+ | * Damit Dropbear eine Verbindung aufbauen kann, wird ein Schlüsselpaar benötigt. Es gibt dafür | ||
+ | * Der Alarmserver ist notwendig, da der Freifunkknoten nur Dienste im Freifunk-Netz ansprechen kann, d.h. alles was im lokalen Subnet ist. Die Alarmierung benötigt aber meistens erweiterte Funktionen, wie z.B. Internetzugriff um eine Mail zu versenden. | ||
+ | * Es wäre auch denkbar, einen kleinen Alarmcomputer (Raspberry) im Freifunk-Netz zu haben, der mehr kann, als ein /normaler/ Freifunkknoten | ||
+ | * Kommt das Fahrzeug zurück auf seinen Platz, wird die Alarmierung zurückgesetzt, | ||
+ | |||
+ | ===== Hardware ===== | ||
+ | |||
+ | * GL-iNet 6416A im Fahrzeug | ||
+ | * Stromversorgung über einen Zigarettenanzünder-USB-Adapter | ||
+ | * Sehr klein | ||
+ | * Am USB-Anschluß kann ein GPS-Stick angeschlossen werden | ||
+ | * WR841N/ND im Fenster | ||
+ | |||
+ | ===== Software ===== | ||
+ | |||
+ | Das Link-Überwachungsprogramm | ||
+ | <file lua neighbourwatch.lua> | ||
+ | # | ||
+ | |||
+ | function file_exists(name) | ||
+ | local f=io.open(name," | ||
+ | if f~=nil then io.close(f) return true else return false end | ||
+ | end | ||
+ | |||
+ | function watch_mac(mac) | ||
+ | command = " | ||
+ | local handle = io.popen(command) | ||
+ | local result = handle: | ||
+ | handle: | ||
+ | return result: | ||
+ | end | ||
+ | |||
+ | counterfile = "/ | ||
+ | lastseen = watch_mac(" | ||
+ | age_seconds = tonumber(lastseen: | ||
+ | if age_seconds > 30 then | ||
+ | if not file_exists(counterfile) then | ||
+ | file = io.open(counterfile, | ||
+ | file: | ||
+ | file: | ||
+ | command = "ssh alarmuser@srv01.ffpi ./ | ||
+ | local handle = io.popen(command) | ||
+ | local result = handle: | ||
+ | handle: | ||
+ | end | ||
+ | else | ||
+ | if file_exists(counterfile) then | ||
+ | os.remove(counterfile) | ||
+ | end | ||
+ | end | ||
+ | </ | ||
+ | |||
+ | Der Cronjob der das Überwachungsscript regelmäßig aufruft | ||
+ | <file conf / | ||
+ | * * * * * / | ||
+ | </ | ||
+ | |||
+ | Alarmierung momentan per mail | ||
+ | <file bash alarmmail.sh> | ||
+ | # | ||
+ | mail -s " | ||
+ | Alarm! | ||
+ | Das Fahrzeug /Mein Auto/ wird gerade bewegt. | ||
+ | EOF | ||
+ | </ |