Funk- und USB-Steckdosen Fernsteuern mit dem Raspberry Pi
Contents
die Hardware
Sie brauchen
- ein Funkmodul 433 oder 434 MHz. Beispielsweise hier oder hier oder hier oder hier oder hier.
- Steckbrücken (auch Jumperkabel genannt) weiblich auf weiblich
- qualitativ hochwertige Funksteckdosen, beispielsweise hier oder hier, oder eine USB-Steckdosenleiste
- ein Servergerät mit GPIO-Schnittstelle, auf welchem Sie das Funkmodul anschließen können in unserem Beispiel etwa einen RaspberryPI 2
- Zusatzoptionen: Gehäuse, microSD-Karte und Netzteil für den Raspbery Pi 2
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
which sispmctl
sudo sispmctl -f 1
sudo sispmctl -o 1
sudo sispmctl -i 0.0.0.0 -p 8989 -l
http://<ip oder hostname raspberry pi>:8989
sudo sispmctl -f 1
0 1 * * * pi sh -x /home/pi/steckdose_aus.sh
/etc/init.d/cron restart
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 1 | GPIO 6 |
| Sendemodul PIN 2 | GPIO 17 |
| Sendemodul PIN 3 | GPIO 4 |
| Sendemodul PIN 4 | leeres Jumperkabel |
Nun müssen noch die Jumper auf der Rückseite der Steckdose richtig gesetzt werden.
| Jumper | Position |
| 1 | oben |
| 2 | unten |
| 3 | oben |
| 4 | unten |
| 5 | oben |
| A | siehe unten |
| B | siehe unten |
| C | siehe unten |
| D | siehe unten |
| E | unten |
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.
Wenn Ihnen dieser Post gefallen hat, teilen Sie ihn doch auf Social Media, abonnieren und folgen mir per E-Mail, RSS-Feed, Social Media.
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
Einfach die Zeilen von
bis
document.oncontextmenu = nocontext;
//]]>
im Quelltext löschen.