Raspberry fernsteuern und Dateien kopieren (Raspbian / April 2015)


Meine Raspberrys sind reine Arbeitstiere und haben genau zwei Kabel drann, Strom und Netzwerk. Wenn was einzurichten ist, greife ich von anderen (Linux-) Computern drauf zu und erledige das.
Grundbedingung dafür ist ein laufender ssh-daemon ( #> insserv ssh ) und ein geändertes Benutzer-Passwort ( $>passwd )
Für den einfachen Dateitransfer benutze ich, der Einfachheit zu liebe, auch ssh in Form von sshfs ( #> apt-get install sshfs # auch auf dem steuerndem System!). Das schöne an dieser Konfiguration ist, dass man auf dem steuern FUSE (Filesystem in Userspace) läuft.
Da ein Server immer ein und dieselbe Adresse haben sollte, steht in /etc/network/interfaces vom Pi irgentwas in dieser Art:

iface eth0 inet static
    address 192.168.3.56
    netmask 255.255.0.0
    gateway 192.168.3.1

Darauf achten, dass man nicht im Vergabebereich eines Servers rumstolpert ;-)

Ich habe mir ein Verzeichnis erzeugt ( $>mkdir $HOME/pi1 ) und kann den Pi jetzt einbinden ( $>sshfs pi@192.168.3.56:/ $HOME/pi1 ). Somit kann ich den Pi jetzt mit Dateien bespielen. Das Verzeichnis lösen wir mit $>fusermount Zur Fersteuerung nehme ich wieder die Konsole und mache ein ssh-Sitzung auf ( $>ssh -l pi 192.168.3.56 ), Schon bin ich (nach Sicherheitsabfrage und Passwort) auf dem Pi und kann mit ihm arbeiten, als wenn die Tastertur und d Zum schönen Arbeiten brauche ich natürlich den midnight commander ( #>apt-get install mc gpm ), danach noch ein #>mc und meine Welt ist in Ordnung.
.
Auch der größte Konsolen-Fetischist weiß bisweilen etwas Bequemlichkeit zu schätzen, die heißt für mich webmin. ( #>apt-get install webmin ) schöner Versuch - klapp nicht.
Also von Hand (auf dem Pi - nicht die Computer auf der Konsole verwechseln):
aktuelle Versionen auf http://www.webmin.com/download.html Befehle dem entsprechend ändern
 $>cd
 $>mkdir Programme
 $>cd Programme
 $>wget http://prdownloads.sourceforge.net/webadmin/webmin_1.740_all.deb
 $>wget http://download.webmin.com/download/sigs/webmin_1.740_all.deb-sig.asc
 $>gpg --keyserver pool.sks-keyservers.net --recv-key 0x11F63C51 # diese Version wurde mit dem Schlüssel Nr. 0x11F63C51 unterzeichnet, also holen wir ihn uns
 $>gpg --verify webmin_1.740_all.deb-sig.asc webmin_1.740_all.deb # gpg: Korrekte Unterschrift von »Jamie Cameron « genügt mir heute, sind verschiedene Server

  #>apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libapt-pkg-perl apt-show-versions # die nötigen Vorarbeiten

  #>dpkg --install webmin_1.740_all.deb

Nun gebe ich in meinen firefox https://192.168.3.56:10000 ein und bin im webmin-login :-)



lm-sensors funktioniert auf dem Raspberry nicht (Raspbian / März 2015)


Stimmt, da kann man derzeit an lm-sensors auch nichts tun :-(
Jedoch gibt es in Raspbian ein Werkzeug namens "vcgencmd", welches einen hochwertigen Ersatz bildet. Ein " --help" kennt dieses Programm nicht, es heisst dort.
$> vcgencmd commands

Da lm_sensors nun nicht funktioniert, der Mensch aber ein Gewohnheitstier ist, habe ich mir mit "vcgencmd" ein shell-script gebastelt. Unter dem gewohntem Befehl "sensors" bekommen ich nun nützliche Angaben.


Vorsicht! Ausführbarer Download !
Immer in ein Verzeichnis, welches nicht in der Variablen $PATH ($> echo $PATH) angegeben ist, speichern!
Gucken was drinn ist!
Benutzer und Rechte anpassen! ( #> chown root.root sensors ; chmod 0755 sensors # die Null ist ganz wichtig :-)
Nur wenn alles O.k. und verstanden - in ein systemweites Verzeichnis kopieren. ( z.B. /usr/bin)



Der Pi hat keinen Ausschalter (Raspbian / April 2015)


Zum sauberen Herrunterfahren immer mit der ssh einloggen bloß um #>shutdown -h -P einzugeben ist läßtig. Doch im großen Netz gibt es viele Bauanleitungen. Also bei meinem Lieblings-Elektronik-Händler die nötigen Zutaten bestellt und zügig erhalten.
Der nötige Lötkloben liegt bei mir meist nicht weit vom Computer weg und ein paar verbrannte Finger (Kältespray mit zu bestellen schadet nicht) später war mein Austaster fertig :-)
Nun ist der Taster die eine Sache, den Pi davon in Kenntnis zu setzten und die erwartete Reaktion zu erhalten eine andere.
Der Pi hat einen gpio-chip, welcher Ein- und/oder Ausgänge bereitstellt, habt Ihr bestimmt schon in den Bastelanleitungen gelesen. Nun kann man über die Betriebssystem funktionen einen Treiber...... nöö!!!
Ich habe mir einfach das WiringPi-Framework geladen und installiert. Dieses stellt die nötigen Funktionen als Programm (gpio) und als Bibliotheken zur Verfügung.
Die Funktion des Tasters kann man schon mal mit gpio testen aber für einen richtigen Powerbutton braucht es ein Programm, welches mit dem System startet und es sauber beendet. Da ich keiner Interpreter-Sprache (Basic, Java, Python, Perl..) traue und deren Latenzen und Overhead mir zu groß sind, entschied ich mich für 'C' (ohne +, ++, #,... da ich keine geschlossenen Bibliotheken verkaufen will).
Ok, also ein paar Zeilen C der Taster hängt an WiringPi-Pin 0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <wiringPi.h>
int main()
{
wiringPiSetup();  // initalisieren
daemon(0, 0);  //  ab in den Untergrund
pinMode(0 , INPUT);  //  Pin 0 ist Eingang
pullUpDnControl(0 , PUD_UP);  //  ich schalte gegen Masse wie ein richtigen Powerbutton, also Potential hoch
while ( digitalRead ( 0 ) == 1 )  //  Weil Potential noch oben
{
delay ( 250 );  //  warten wir eine viertel Sekunde
};   //  und wieder nachgucken

//  wenn das Potential unten ist, also der Taster gedrückt wurde, landen wir hier...

const char *shtdwn = "/sbin/shutdown";
char *shtdwn_argv[] = { "/sbin/shutdown", "-h", "-P", "now", NULL };
char *shtdwn_environ[] = { NULL };

execve(shtdwn, shtdwn_argv, shtdwn_environ); //  .....und fahren runter
return 0; //  ende
};

jetzt noch ein berherztes
 $>gcc -L/usr/local/lib -I/usr/local/include -Wall -lwiringPi -lwiringPiDev -lpthread -lm -I. -O2 pi_powerbtn.c -o pi_powerbtn


Was aus den paar Zeilen wurde, könnt Ihr hier down-laden, noch ist es beta, noch sind nicht alle Fehler abgefangen, noch.....

Nachtrag: Jetzt ist noch eine blinke LED hinzugekommen, da die eingebauten nicht wirklich den Zustand anzeigen. Ist im Header-File noch deaktiviert.

Wenn ihr den mc installiert hab, ist das Entpacken ganz einfach; selektieren und [F2] danach [x] drücken. (ich schreibe diese Zeilen gerade im mc :-)
schnüffelt etwas im code, header und build file, das Programm ist schon nutzbar aber auf eigene Gefahr!


Legende

$> echo "ist die Eingabe für einen normalen Nutzer"

#> echo "ist die Eingabe für root, als normaler Benutzer sudo vor den Befehl schreiben"
#> echo "oder vorher mit $>sudo bash # in die root-shell wechseln"



E-Mail ( kein Spam) an

olke    

a t   

olke [Punkt] de


Alle die es mögen, senden bitte
unerwünschte Werbung und sonstige Angebote an
mag_ich_nicht@spam.la

 Home >> Linux Notizen >>