Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke

Projekt: Notrufsystem für Hilfsbedürftige und Eltern...8-)

Die Gesellschaft wird immer älter und nicht jeder will freiwillig in ein Heim (Wer will das schon). Die älteren Leute (da komme ich auch noch hin) möchten gerne eine Art "Sicherheit", "einen Knopf", also irgendeine schnelle Hilfe im Notfall. Es gibt einige Systeme die dieses gegen eine Monatliche Gebühr bieten - aber was ist wenn man kein kaum Geld ausgeben möchte ? Im Notfall kann man meist noch nicht mal Fehlerfrei eine Telefonnummer wählen...

Da kann ein Raspberry Pi Model A helfen..., der lag hier noch ungenutzt rum, und das Ding war kurz vor Xmas recht günstig (10 Euro). Desweiteren braucht man noch einen dicken Notruf/Notaus Taster (gibt es meist bei ebay recht günstig oder bei Abriss von Ladenflächen werden die meist entsorgt, einfach mal bei einer Abriss Baustelle nett fragen...

So sieht das fertige System aus:

 
Die "1": Hier in diesem Spellsberg Gehäuse befindet sich der Raspberry Pi A. Eingebaut ist ein Abschalttaster und darunter eine RJ45 Buchse damit man Flexibler bei der Wahl des Kabels zum Notrufknopf ist. Ok, man hätte das ganze auch in ein Optisch hübsches Gehäuse bauen können, aber das hat nichts gekostet 8-).
Die "2": Der Notruf Knopf und über der RJ45 Buchse eine LED zur Anzeige(Blinken, Dauer An oder Aus).
Die "3": Ein beliebiges Patch- oder Telefonkabel RJ45 oder RJ11 als Verbindung zwischen dem PI und dem Notrufknopf.
Die "4": Die Spannungsversorgung für den PI, 150mA maximal Last 8-) - Das System zieht seinen Strom über den USB Port der heimischen Fritzbox.
 

Die "5": Wie man sieht, findet alles irgendwie "Platz". Nicht schön, aber es funktioniert - es war eine 08/15 Idee... Die RJ45 Buchse und der Taster sind mit SUGRU befestigt. Die Widerstände sind mit im Spellsberg Gehäuse, so das man im laufenden Betrieb jederzeit den Notruftaster abstöpseln und anstöpseln kann.

 

Funktion:

Beim Druck auf den Notruftaster wird an hinterlegte Emailadressen eine Email mit einem bestimmten Betreff verschickt. Einige Email Anbieter wie z.b. Gmx bieten kostenlose email SMS Benachrichtigung bei bestimmten Absendern und bestimmten Betreffzeilen, das wird hier ausgenutzt. GMX bietet 15 kostenfreie SMS pro Monat, genug für ein Notrufsystem. Also findet hier eine Alamierung per email und SMS statt. Sollte der Notruftaster wieder rausgezogen werden, ist das System wieder Scharf und wartet auf den nächsten Notruf. Der rote Austaster beim Raspberry Pi sorgt dafür das auch Laien das System runter fahren können, um evtl den Standort des Notruftasters zu verändern. Der verbaute Raspberry Pi A bietet ja nur eine USB Schnittstelle und die ist mit einem PIhut Wlan Dongle belegt der so das System ins Netz bringt. Da der Pi A sehr Stromsparend ist liegt die Leistungsaufnahme bei 120-180mA. Eine Fritzbox mit USB Schnittstelle bietet 500mA...ideal...

Die Hardware:

 
Pin 1 (rot) geht auf die 10K Widerstände und halten die GPIOs (blau + Gelb) auf "High".
Pin 9 (Schwarz) ist die Masse (GND) die die GPIOs jeweils auf "Low" zieht wenn der Notruf oder Abschaltknopf gedrückt wird,
Pin 11 (Gelb) ist die Meldung des Notruftasters
Pin 13 (Blau) ist die Abschaltmeldung
Pin 15 (grün) ist die LED für die Anzeige des Zustandes. Hier gesichert mit einem 220 Ohm Widerstand.

 

Installation:

Als Grundlage setze ich die Grundinstallation inkl Samba und Email Versand voraus (siehe hier).

Der Anfang macht die Bash Datei "abfrage.sh" im Verzeichnis /var/www/ , in diesem Beispiel hat der Raspberry Pi die IP 192.168.0.55.

Die Datei fragt alle 0,5 Sekunden den Zustand der GPIO17 (pin11) und GPIO27 (pin13) ab. Sollte der Notruftaster gedrückt werden ändert sich der Zustand des GPIO17 von 1 auf 0 und es wird die PHP Datei per Curl aufgerufen: http://192.168.0.55/Notruf_absetzen.php.

Weiterhin wird der GPIO27 abgefragt, sollte der gedrückt werden fährt das System runter, ideal wenn man nicht immer Netzwerk Zugriff hat und mal eben das System Abschalten möchte.

Der GPIO22 (Pin15) ist die LED die uns Auskunft über den Betrieb des Systems gibt: Dauerleuchten (Notruf ausgelöst), Blinken (System läuft) und Aus (System ist abgeschaltet).

Also hier jetzt /var/www/abfrage.sh

Wie man sieht habe ich mal NICHT mit Wiring Pi gearbeitet, irgendwie stehe ich manchmal damit auf dem Kriegsfuß und das gute alte System funktioniert ja einwandfrei.... 8-)

#!/bin/sh
#Setze EIN und Ausgänge
#Notruf
echo "17" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio17/direction

#PowerOFF
echo "
27" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio
27/direction

#LED
echo "
22" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio
22/direction

echo "1" > /sys/class/gpio/gpio22/value

Not="0"

#Schleife
while true
do

#Zustand von Notrufknopf einlesen 1=nichts, 0=gedrückt
Notruf="$( cat /sys/class/gpio/gpio
17/value )"

#Zustand von Poweroff einlesen 1=nichts, 0=gedrückt
PowerOff="$( cat /sys/class/gpio/gpio
27/value )"

if [ "$Notruf" = "0" ] && [ "$Not" = "0" ]; then
Not="1"
fi

if [ "$Not" = "1" ]; then
echo "1" > /sys/class/gpio/gpio
22/value
Not="2"
curl "
http://192.168.0.55/Notruf_absetzen.php"
fi

 

if [ "$PowerOff" = "0" ]; then
sudo bash /var/www/shutdown.sh
exit
fi

if [ "$Notruf" = "1" ]; then
Not="0"
echo "1" > /sys/class/gpio/gpio
22/value
sleep 0.1
echo "0" > /sys/class/gpio/gpio
22/value

fi

sleep 0.5

done


...und dann noch die PHP Datei "Notruf_absetzen.php" im gleichen Verzeichnis. Das Wort "SMS" im Betreff sorgt bei guter Konfiguration bei GMX dafür das beim Eintreffen der Mail auch eine SMS an die bei GMX hinterlegte Mobilnummer verschickte wird. Das kann man bei GMX als Filter einrichten. 15 SMS / Monat sind kostenlos, also Ideal für solch ein Notrufsystem was nicht viel kosten soll.

Wer bei einem anderen Anbieter ist muss dort mal gucken, oder sich einfach einen kostenlosen GMX Account holen.

<?php

$Datum=date("d.m.Y");
$Uhrzeit=date("H:i:s");
$from="Eltern <Email-Absenderadresse@domain.de>";

$empfaenger="A.Teichmann@NOSPAMgmx.net, KTeichmann@NOSPAMgmx.net";
$betreff="NOTRUF ! am ".$Datum." - ".$Uhrzeit." SMS";

$nachricht = "Notruf Eltern !\n\nTel:001234 567891\n\n";
$nachricht = $nachricht."Notfall: 112\n\nMedizi.Notfalldienst: 116 117";
$optheader[] = "From: ".$from;
$optheader[] = "Reply-To: Axel Teichmann <A.Teichmann@NOSPAMgmx.net>";
$header = implode("\n", $optheader);
$extheader = "-fA.Teichmann@gmxNOSPAM.net";

mail($empfaenger, $betreff, $nachricht, $header, $extheader);
?>

Alternativ kann man z.b. auch einen Rufaufbau bei der Fritzbox einleiten (Script ist von der Hauptseite erreichbar), dann wird direkt ein Rufnummer gewählt.


Jetzt gibt es noch die Datei "/var/www/reboot.sh" die einmal pro Woche das ganze System "reinigt" und neu bootet...

#!/bin/sh

rm -rf ~/.local/share/Trash/files/*
sudo reboot


...und die Datei "/var/www/shutdown.sh" die beim Drücken des Abschalttasters aufgerufen wird.

#!/bin/sh
rm -rf ~/.local/share/Trash/files/*
sudo shutdown now

Das ist soweit alles..., jetzt lieber noch mal die Rechte anpassen. (Ja ich weiss, das macht man nicht so, ist mir aber egal ! - ein Singleuser Betriebssystem wäre mir auch lieber - um Sicherheit mache ich mir Gedanken wenn Facebook Pflicht wird 8-).

sudo chmod -R 0777 /var/www/

damit auch alles aufgerufen und abgefragt wird, muss es nur gestartet werden, also legen wir alles in einen Cronjob:

sudo crontab -e

Dort machen wir folgende Einträge:

#beim booten das Script im Interupt aufrufen...
@reboot /bin/bash /var/www/abfrage.sh&

#Einmal pro Woche Rebooten

5 0 * * 4 /bin/bash /var/www/reboot.sh >/dev/null 2>&1

Nach einem Reboot sollte das System einwandfrei laufen.

Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke