Funk- und USB-Steckdosen Fernsteuern mit dem Raspberry Pi

(Last Updated On: 4. Januar 2016)

die Hardware

Sie brauchen

 

die USB-STeckdosenleiste fernsteuern

Als erstes lernen wir, wie wir die Gembird (m)SiS-PM STeckdosenleste unter Linux steuern. Dazu installieren wir auf unserem Raspberry Pi erstmal dfie Bibliothek libusb-dev

sudo apt-get install libusb-dev

Danach können wir das Tool sispmctl runterladen und kompilieren, welches für das eigentliche Steuern der Steckdose notwendig ist. Den atkeullen Dwonload-Link bekomt ihr unter http://sispmctl.sourceforge.net/.

tar xzvf sispm_ctl--3.1..tar.gz
cd sispm_ctl-*
 ./configure
make
sudo make install
Prüfen, ob die Software sauber installiert wurde.
which sispmctl
Daraufhin muss der Pfad zur sispmctl-binary angezeigt werden. Ist das der Fall, wurde das tool sauber installiert. Jetzt steckt ihr die USB-Steckdosenleiste per USB an den RAspberry Pi. und in eine Steckdose. LEgt nun den Schalter an der Steckdosenleiste um, so dass sie eingeschaltet ist. Es leuchten nun an vier der Steckdosen LEDs die anzeigen, dass alle vier dieser Steckdosen eingeschaltet sind. Die beiden anderen STeckdosen in de rLeiste lassen sich nicht manuell ein und ausschalten, sondenr sind immer an.
Nun wollen wir mal die Steckdose mit der Nummer 1 ausschalten. Das geht mit
sudo sispmctl -f 1
Die LED bei der Steckdose mt der Nummer 1 müsste jetzt soeben ausgegangen sein.
Nun wollen wir die Steckdose mit der Nummer 1 wieder anschalten, das geht mit
sudo sispmctl -o 1
Nun wisst ihr, wie ihr mit der Kommandozeile  die STeckdosen aus- und einschaltet. Als Zusatz gibt es noch ein Webinterface – d. h., ihr könnt die einzelnen STeckdosen der Leiste auch über den Browser abschalten. dAzu schaltet ihr das Webinterface mittels.
sudo sispmctl -i 0.0.0.0 -p 8989 -l
Nun könnt ihr auf eurem Browser das Webinterface starten über
http://<ip oder hostname raspberry pi>:8989
Nun zu guter letzt zeige ich euch noch ein Beispiel, wie ihr einzelne Steckdosen der Leiste zeitgesteuert ausschalten lassen könnt. Dazu müsst ihr euch eine .sh-Datei erstellen, beispielsweise unter /home/pi/steckdose_aus.sh. Diese kann beispielsweise den Inhalt haben
sudo sispmctl -f 1
Das heißt, diese Skriptdatei wird später die erste Steckdose der Leiste ausschalten.
Nun editiert ihr mit dem Editor vi die Datei /etc/crontab. Nehmen wir an ich möchte, dass jeden Tag um 01:00 Uhr morgens die Steckdose 1 der Leiste automatisch abgeschalten wird. DAnn hänge ich ganz am Schluss der Datei eine Zeile an mit
0 1 * * * pi sh -x /home/pi/steckdose_aus.sh
wenn ich jetzt den cron-Daemon neu starte über
/etc/init.d/cron restart
dann wird die neue Zeile jeden Tag um 1 Uhr ausgeführt. und diese Zeile startet eben unser Skript steckdose_aus.sh.
Wenn ich jetzt möchte, dass jeden Tag um 09:00 Uhr die Steckdose wieder an geht, schreibe ich mir eine zweite Datei steckdose_an.sh und mache das gleiche nochmal.

Die Funksteckdosen fernsteuern

 Verbinden der Komponenten

mit den STeckbrücken verbinden Sie den Ground-Pin des GPIO-Anschlusses (PIN 6) mit dem letzten PIN des Sendemoduls. Den Daten-PIn des Sendemoduls schließen Sie an PIN 17 der GPIO schnittstlele an, Power an PIN Nummer 4. An den Antennen-PIN des Sendemouls stecken Sie einfach nur eine Steckbrücke an ohne dieses am anderen Ende irgendwo anders anzustecken.

Wenn man das funksendemodel also mit der CMOS-Batterie nach oben hält und die vier Pins von links nach rechts mit 1-4 beschriftet, dann wird so angeschlossen

Sendemodul PIN 1GPIO 6
Sendemodul PIN 2GPIO 17
Sendemodul PIN 3GPIO 4
Sendemodul PIN 4leeres Jumperkabel

Nun müssen noch die Jumper auf der Rückseite der Steckdose richtig gesetzt werden.

JumperPosition
1oben
2unten
3oben
4unten
5oben
Asiehe unten
Bsiehe unten
Csiehe unten
Dsiehe unten
Eunten

Bei A-D müssen Sie pro Steckdose immer einen der vier Jumper auf die Stellung oben stellen, alle anderen bleiben unten. Damit ist es Ihnen möglich, die einzelnen Steckdosen getrennt voneiannder an- oder auszuschalten. Wenn Sie natürlich alle Steckdosen zusammen an- oder ausschalten wollen, dann stellen Sie bie allen drei Steckdosen den gleichen Jumper nach oben. Der Jumper-Code unserer STeckdose wäre, wenn wir den Jumper A anch oben stellen, 1, beim Jumper B nach oben 2, bei Jumper C 3 und bei Jumper D 4.

Die Jumper 1-5 sind Ihr sogenannter Home-Code. Dieser soll verhindern, dass Sie mit dem Raspberry Pi oder mit der Steckdose versehentlich einen Steckdosensatz mit einem anderen Home-code (etwa vom Nachbarn) steuern. Der home-Code unseres STeckdosensatzes wä#re also in diesem Beispiel 10101.

Grundinstallation

apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi/
./build
cd ..
git clone git://github.com/xkonni/raspberry-remote.git
cd raspberry-remote/
make send

Einschalten ohne Weboberfläche

Gehens ei in den ordner von raspberry-remote und geben dort den Befehl ein

sudo ./send <Home-Code> <Jumper-Code> [1|0]

1 am Ende steht für ein, 0 am Ende für aus.

Dieses Einschalten ist natürlich noch nicht wirklich komfortabel. Deswegen müssen wir das noch umkonfigurieren, damit das Ganze einfacher geht.

Ein- und Ausschalten per PowerPi Weboberfläche

Als erstes installieren wir benötigte Pakete und fügen benötigte User und Ordner hinzu

apt-get update
sudo apt-get install nginx php5-fpm php5-cgi php5-cli php5-common
sudo useradd www-data
sudo groupadd www-data
sudo usermod -g www-data www-data
sudo mkdir /var/www
sudo chmod -R 755 /var/www
sudo chown www-data.www-data /var/www

jetzt bearbeitne wir noch die Konfigurationsdatei des nginx-Webservers mit sudo vi /etc/nginx/sites-enabled/default

server {
listen 80;
root /var/www;
index index.html index.php;
server_name <hostname Raspberry Pi>;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .\php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

und starten den Server neu

sudo /etc/init.d/nginx restart

Jetzt installieren wir diewebanwendung PowerPi, mit der wir später die Steckdosen fernsteuern wollen, und kopieren diese dann in das /var/www-Verzeichnis

wget http://raspberrypiguide.de/stuff/powerpi-0.1.tar.gz
tar xzvf powerpi-0.1.tar.gz
cd powerpi-0.1
sudo make clean
sudo make
sudo make install
sudo /etc/init.d/powerpi start
cp -rpf ./www/* /var/www
chown -R www-data.www-data /var/www

Von  nun an kommt ihr mittels http://<hostname oder IP Raspberry Pi> auf die Weboberfläche von powerpi, mit der ihr die steckdosen fernsteuern könnt.

Ein- und Ausschalten über Weboberfläche RaspCTL oder Smartphone App

In diesem Blogpost habe ich Ihnen gezeigt, wie Sie alternative Konsolenbefehle an den Raspberry Pi über die weboberfläche RaspCTL oder alternativ auch per Android bzw. iOS-App ganz bequem „per Fernbedienung“ ausführen. Natürlich können Sie auf diese Weise auch  die oben gezeigten Send-Befehle zum ein- und ausschalten der Steckdosen verschicken.

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren...

2 Antworten

  1. Phi Gri sagt:

    Dein Seite ist vom Informationsgehalt ganz gut, allerdings diese nervige „Conetet gegen Kopie“ Funktion ist behindert die Umsetztung der Tutorials massiv. Daruebern hinaus kann so ein bissl java script den inhalt nicht schuetzen da ein „view-source:“ vor der URL im Firefox den kompletten Effekt aushebelt. Ich habe das auch shcon versucht 🙂

    Gruss
    Phil

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.