DeATh-RaIn
Ist oft hier
- Registriert
- 15. Januar 2009
- Beiträge
- 121
- Reaktionspunkte
- 9
- Punkte
- 38
Hallo zusammen !
Jeder kennt es, der nen CS betreibt. Der Kumpel ruft an, eeh, geht nicht, Fußball läuft. MAn nimmt sein Handy schaltet sich via VPN auf die häusliche FritzBox und will auf die Dreambox schauen. Was ist, das Teil ist abgeschmiert. Was nun, wenn man doch aber gerade 2000 km entfernt im Urlaub ist. Man kann entweder sich für 90 Euro eine Steckdosenleiste kaufen, die einen LAN-Anschluss hat, oder da man ja gerade eh dabei ist, seine Räumlichkeiten energie sparender um zu rüsten, kauft man sich für 40 Euro beliebig viele Steckdosenleisten mit USB Anschluss von Gembird, die schaltbar sind und ein kleines Kästchen, mit dem Namen Pogoplug. Auf diesem Gerät kann man ohne PRobleme ein Linux installieren, Anleitungen hierzu gibts genug im Netz zu finden. Das Gerät gab es kurzzeitig für rund 15 Euro. Der NAchfolger jetzt kostet 40. Aber dann sind wir trotz Linux Server und Steckdosenleiste auf nur 80 Euro und man kann für jeweils 40 Euro beliebig erweitern .
Meine verwendete Hardware:
Gembird SIS-PMS Steckdosenleiste (Heißen heute energenie EG-PMS2)
Pogoplug E02
Nun aber zum eigentlichen. Wie bekommen wir das alles miteinander kombiniert, dass wir auch was im Browser nur anklicken müssen ?
Ich werde nicht erklären, wie ihr archlinux auf den Pogoplug bekommt, da ist das Internet voll mit Anleitungen in allen möglichen Sprachen. Ich persönlich habe ein E02 Modell für 40 Euro.
1. Wir brauchen auf dem Pogoplug folgende Programme:
2. Damit unser Apache Server auch läuft müssen wir in der hosts Datei ein paar Änderungen vornehmen:
Suche nach localhost ersetze mit z.B. pogo
3. Datei /etc/rc.conf
hier dann einfach noch einmal pogo rein schreiben und speichern.
Zuletzt um den Apache immer bei Start des POP mit zu starten
4. Unser sispmctl zum Schalten der Steckdosenleiste müssen wir runter laden, durch den compiler jagen und installieren. Na dann, tun wir das doch einfach .
Tada, bereits jetzt könnten wir ohne Probleme in der Shell via sispmctl unsere Steckdosenleiste steuern .
5. Da unser Apache glücklicher weise direkt so sicher konfiguriert ist, dass er natürlich keinene Zugriff auf USB Geräte erhält müssen wir dem sispmctl Programm die Berechtigung geben, dass es auch als Benutzer ausführbar wird.
Danke hier an das Linux-Club-Forum ->
Den reboot empfehle ich euch sehr !
Wir können es ja jetzt mal testen, ob sispmctl auch wirklich als Benutzer http funktioniert.
Hierfür in der Shell:
Wenn ihr nun eine Augabe seht mit Seriennummern -> SEHR GUT
Die Seriennummern notiert ihr euch bitte an der Stelle schon einmal, die brauchen wir gleich für mein Script .
6. Jetzt wollt ihr sicher auch einen Webzugriff auf das ganz haben. Hierfür erstellen wir uns eine Datei mittels
Als Inhalt in diese Datei kommt mein kleines Script, was ihr nach belieben erweitern könnt. Ich hatte zwar überlegt eine komplette Schaltzentrale zu bauen, die auch die Seriennummern ausließt und man alles schön editieren kann, aber dafür gehlt mir leider die Zeit im Moment.
So, das sollte es gewesen sein. Jetzt solltet ihr über
Wer am Ende noch Lust hat, den Pogo für weiteres zu verwenden, kann gern auch mal einen proftpd noch installieren
vergesst aber nicht den root login via /etc/proftpd.conf --> RootLogin on zu aktivieren, dann könnt ihr das ganze auch via FTP hoch laden und einen vollständigen Apache Server genießen.
Am Ende gebt ihr noch Ports in der Fritzbox frei, dass ihr extern drauf kommt. Vergesst bitte dann allerdings nicht, ein htaccess noch rein zu basteln, damit nicht jeder Hobby-Port Scanner bei euch in der Bude Disco machen kann .
EDIT:
Ich vergaß. Die IP-Adresse eines pogoplug setzt ihr in der Datei /etc/network.d/wired-eth0 einfach via nano /etc/network.d/wired-eth0 öffnen und die dynamischen inhalte auskommentieren mit # und die static definieren, bis auf route, da lasst ihr das # davor. Bitte achtet auf 100% korrektheit, sonst habt ihr wie ich das Problem, dass ihr euch über ne Linux VM den USB stick importieren müsst und die Datei nachträglich ändern müsst *G*.
Bei Fragen, schreibt hier in den Thread .
Ps.: Ich werde mal sehen, ob ich nicht so ein 5 Euro IR Adapter noch installiert bekomme, so dass wir über die Fernbedieunung die Steckdosenleisten auch noch schalten können.
Viel Spaß beim Basteln
Jeder kennt es, der nen CS betreibt. Der Kumpel ruft an, eeh, geht nicht, Fußball läuft. MAn nimmt sein Handy schaltet sich via VPN auf die häusliche FritzBox und will auf die Dreambox schauen. Was ist, das Teil ist abgeschmiert. Was nun, wenn man doch aber gerade 2000 km entfernt im Urlaub ist. Man kann entweder sich für 90 Euro eine Steckdosenleiste kaufen, die einen LAN-Anschluss hat, oder da man ja gerade eh dabei ist, seine Räumlichkeiten energie sparender um zu rüsten, kauft man sich für 40 Euro beliebig viele Steckdosenleisten mit USB Anschluss von Gembird, die schaltbar sind und ein kleines Kästchen, mit dem Namen Pogoplug. Auf diesem Gerät kann man ohne PRobleme ein Linux installieren, Anleitungen hierzu gibts genug im Netz zu finden. Das Gerät gab es kurzzeitig für rund 15 Euro. Der NAchfolger jetzt kostet 40. Aber dann sind wir trotz Linux Server und Steckdosenleiste auf nur 80 Euro und man kann für jeweils 40 Euro beliebig erweitern .
Meine verwendete Hardware:
Gembird SIS-PMS Steckdosenleiste (Heißen heute energenie EG-PMS2)
Pogoplug E02
Nun aber zum eigentlichen. Wie bekommen wir das alles miteinander kombiniert, dass wir auch was im Browser nur anklicken müssen ?
Ich werde nicht erklären, wie ihr archlinux auf den Pogoplug bekommt, da ist das Internet voll mit Anleitungen in allen möglichen Sprachen. Ich persönlich habe ein E02 Modell für 40 Euro.
1. Wir brauchen auf dem Pogoplug folgende Programme:
Code:
pacman -Sy apache php-cgi
pacman -Sy lynx
pacman -Sy gcc
pacman -Sy libusb-compat
pacman -Sy sudo
pacman -Sy make
2. Damit unser Apache Server auch läuft müssen wir in der hosts Datei ein paar Änderungen vornehmen:
Code:
nano /etc/hosts
Suche nach localhost ersetze mit z.B. pogo
3. Datei /etc/rc.conf
Code:
nano /etc/rc.conf
hier dann einfach noch einmal pogo rein schreiben und speichern.
Zuletzt um den Apache immer bei Start des POP mit zu starten
Code:
systemctl enable httpd.service
Wir starten ihn auch einfach einmal um sicher zu gehen, dass keine Fehler mehr konfiguriert sind:
systemctl start httpd.service
4. Unser sispmctl zum Schalten der Steckdosenleiste müssen wir runter laden, durch den compiler jagen und installieren. Na dann, tun wir das doch einfach .
Code:
wget http://freefr.dl.sourceforge.net/project/sispmctl/sispmctl/sispmctl-3.1/sispmctl-3.1.tar.gz
[FONT=monospace]tar xzvf [/FONT]sispmctl-3.1.tar.gz
[FONT=monospace]cd [/FONT]sispmctl-3.1
[FONT=monospace]./configure[/FONT]
[FONT=monospace]make[/FONT]
[FONT=monospace]make install[/FONT]
Tada, bereits jetzt könnten wir ohne Probleme in der Shell via sispmctl unsere Steckdosenleiste steuern .
5. Da unser Apache glücklicher weise direkt so sicher konfiguriert ist, dass er natürlich keinene Zugriff auf USB Geräte erhält müssen wir dem sispmctl Programm die Berechtigung geben, dass es auch als Benutzer ausführbar wird.
Danke hier an das Linux-Club-Forum ->
Sie müssen registriert sein, um Links zu sehen.
Code:
nano /lib/udev/rules.d/10-locals.rules
Folgende Zeile eintragen:
SUBSYSTEM=="usb", ATTR{product}=="Gembird Silver Shield PM", GROUP="users"
Danach:
reboot
Den reboot empfehle ich euch sehr !
Wir können es ja jetzt mal testen, ob sispmctl auch wirklich als Benutzer http funktioniert.
Hierfür in der Shell:
Code:
/usr/bin/sudo -u http /usr/bin/sispmctl -s
Wenn ihr nun eine Augabe seht mit Seriennummern -> SEHR GUT
Die Seriennummern notiert ihr euch bitte an der Stelle schon einmal, die brauchen wir gleich für mein Script .
6. Jetzt wollt ihr sicher auch einen Webzugriff auf das ganz haben. Hierfür erstellen wir uns eine Datei mittels
Code:
nano /srv/http/steckdose.php
Als Inhalt in diese Datei kommt mein kleines Script, was ihr nach belieben erweitern könnt. Ich hatte zwar überlegt eine komplette Schaltzentrale zu bauen, die auch die Seriennummern ausließt und man alles schön editieren kann, aber dafür gehlt mir leider die Zeit im Moment.
Code:
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
ignore_user_abort();
// Seriennummer aus sispmctl -s
$ser[0][0]="XX:XX:XX:XX:XX";
$ser[0][5]="NAme d Leiste";
$ser[0][1]="Steckdose 1";
$ser[0][2]="Steckdose 2";
$ser[0][3]="Steckdose 3";
$ser[0][4]="Steckdose 4";
$ser[1][0]="XX:XX:XX:XX:XX";
$ser[1][5]="NAme d Leiste";
$ser[1][1]="Steckdose 1";
$ser[1][2]="Steckdose 2";
$ser[1][3]="Steckdose 3";
$ser[1][4]="Steckdose 4";
if(isset($_GET["powerstrip"]) && isset($_GET["socket"])){
exec("sispmctl -n -D ".$ser[htmlspecialchars($_GET["powerstrip"])][0]." -t ".htmlspecialchars($_GET["socket"]),$e);
//print_r($e);
if(isset($_GET["toggleme"])){
sleep(5);
exec("sispmctl -n -D ".$ser[htmlspecialchars($_GET["powerstrip"])][0]." -t ".htmlspecialchars($_GET["socket"]),$e);
//print_r($e);
}
header("Location: ".$_SERVER["PHP_SELF"]);
}
// Get Status for each Gembird Device
for($i=0;$i<count($ser);$i++){
exec("sispmctl -n -D ".$ser[$i][0]." -g all",$retval);
echo '<table width="400" border="0" cellspacing="0" cellpadding="0"><tr><td colspan="2">'.$ser[$i][5].'<br></td></tr>';
for($j=1;$j<count($retval);$j++){
$retval[$j] = str_replace("\t","",$retval[$j]);
$retval[$j] = explode(" ",$retval[$j]);
$retval[$j] = $retval[$j][3];
$device = explode(":",$retval[$j]);
echo '<tr><td width="50%">'.$ser[$i][$device[0]].'</td>';
if(strcmp($device[1],"0")==0){
//Off
echo '<td><a href="?powerstrip='.$i.'&socket='.$j.'">AUS</a></td>';
}elseif(strcmp($device[1],"1")==0){
//On
echo '<td><a href="?powerstrip='.$i.'&socket='.$j.'">AN</a> <a href="?powerstrip='.$i.'&socket='.$j.'&toggleme=1">RESET</a></td>';
}
echo '</tr>';
}
echo "</table><br>";
unset($retval);
}
?>
So, das sollte es gewesen sein. Jetzt solltet ihr über
Sie müssen registriert sein, um Links zu sehen.
die Steckdosenleiste sehen und auch schalten können. Das tolle ist, wenn ihr z.B. extern auf diese Leiste zugreift und ihr einen Reset der FritzBox braucht, das Webinterface aber mal wieder hängt, so macht einfach statt auf AN/AUS zu klicken auf RESET und die Steckdose wird für rund 5 Sekunden aus und wieder ein geschalten , da ganze glit auch für die Dreambox. Hey ist magic !Wer am Ende noch Lust hat, den Pogo für weiteres zu verwenden, kann gern auch mal einen proftpd noch installieren
Code:
pacman -S proftpd
vergesst aber nicht den root login via /etc/proftpd.conf --> RootLogin on zu aktivieren, dann könnt ihr das ganze auch via FTP hoch laden und einen vollständigen Apache Server genießen.
Am Ende gebt ihr noch Ports in der Fritzbox frei, dass ihr extern drauf kommt. Vergesst bitte dann allerdings nicht, ein htaccess noch rein zu basteln, damit nicht jeder Hobby-Port Scanner bei euch in der Bude Disco machen kann .
EDIT:
Ich vergaß. Die IP-Adresse eines pogoplug setzt ihr in der Datei /etc/network.d/wired-eth0 einfach via nano /etc/network.d/wired-eth0 öffnen und die dynamischen inhalte auskommentieren mit # und die static definieren, bis auf route, da lasst ihr das # davor. Bitte achtet auf 100% korrektheit, sonst habt ihr wie ich das Problem, dass ihr euch über ne Linux VM den USB stick importieren müsst und die Datei nachträglich ändern müsst *G*.
Bei Fragen, schreibt hier in den Thread .
Ps.: Ich werde mal sehen, ob ich nicht so ein 5 Euro IR Adapter noch installiert bekomme, so dass wir über die Fernbedieunung die Steckdosenleisten auch noch schalten können.
Viel Spaß beim Basteln
Zuletzt bearbeitet: