Wer kennt das nicht, aus unerfindlichen Gründen hängt sich der heimische Router auf und nur ein Neustart kann ihn wieder zum Leben erwecken.
Im Prinzip ist es ja recht leicht, aber bis man alles zusammen hat vergehen locker 2-3h, daher habe ich hier mal zusammengetragen wie ich es gemacht habe.
Das Prinzip: Alle 5 Minuten wird durch eine http-GET Anfrage kontrolliert ob mindestens eine von zwei Webseiten erreichbar ist. Falls beide Webseiten nicht erreichbar sind, wird der Router kurz von der Stromversorgung getrennt und wieder neu gestartet. Nach einer einstellbaren Zeit von z.B. 120 Sekunden wird wieder geschaut ob er denn jetzt funktioniert. Gleichzeitig wird ein Logfile geschrieben um die Störung auch mitzubekommen. Man sollte übrigens Web-Urls verwenden die sicher Online erreichbar sind z.B. Spiegel.de oder Google.de.
Die Unterbrechung der Stromversorgung habe ich allerdings nicht auf der 230-Netzteilseite sondern auf der Niederspannungsseite des Routers gemacht - dies reduziert den Relais- und Sicherheitsaufwand beim Auf- und Einbau. Man könnte sicherlich auch ein kleines Watchdog-Programm auf dem Router selbst laufen lassen, aber viele Router erlauben das leider nicht, so muss man keinen Eingriff in den Router machen.
Nachfolgend ein Bild des Aufbaus:
Die Relaisplatine bkommt man recht günstig z.B. bei Amazon oder auf EBAY.
Einfach mal suchen nach SunFounder Relay Module 4 Kanäle
Verkabelung Relais an Raspberry Pi
1. Hardwareanschluss einer kleinen Relaisplatine an die GPIOs des Raspberry-Py
Pin 11 : GPIO 17 : Relaisport
Pin 13 : GPIO 27 : Relaisport
Pin 15 : GPIO 22 : Relaisport
Pin 16 : GPIO 23 : Relaisport
2. Installation des Raspi Image Jessie
3. Installation der Python Libraries für die GPIOs
sudo -apt-get install python-dev
sudo apt-get install python-rpi.gpio
sudo apt-get python-netifaces
sudo apt-get install ethtool
Jetzt fehlen nur noch die 20 Zeilen Phyton Programm ;-)