Wie kann die aktuelle CPU-Temperatur des Raspberry Pi angezeigt werden?
Wie kann so ein schönes Diagramm erstellt und alle 5 Minuten automatisch aktualisiert werden?
Raspberry Pi: Neue OpenWrt Version Chaos Calmer 15.05-rc1 auch für Raspberry Pi veröffentlicht
Es gibt nun eine neue Linux Version von OpenWrt. Eine ganze Menge neue Features und auch mit Treiber für den Raspberry Pi 2.
- Linux kernel updated to version 3.18
- Improved Security Features
- Improved Networking Support
- Platform and Driver Support – brcm2708: support for Raspberry Pi 2
Wenzlaff.de: 6. Jubiläum – Blog Wenzlaff.de Rund um die Programmierung – über 1 Millionen Hits / Monat
Mit diesem schlichten Eintrag fing alles vor 6 Jahren an. Wie die Zeit vergeht. Wie Ihr den Schlagwörter entnehmen könnt:
wurde am meisten über Mindmaps berichtet. Die gibt es jetzt in einen eigenen Blog, des kleinhirn.eu.
Weitere Einträge sind zum Thema Raspberry Pi und Arduino hinzugekommen. Anzahl und weiter Themen können rechts in der Kategorien Liste jeder Seite eingesehen werden. Der Stand von Heute:
Habe jeden Monat so über 1 Millionen Hits, wie diese Grafik zeigt: „Wenzlaff.de: 6. Jubiläum – Blog Wenzlaff.de Rund um die Programmierung – über 1 Millionen Hits / Monat“ weiterlesen
Raspberry Pi: Wie kann der Raspberry Pi mit Kali bzw. Debian Linux den K8055 von Velleman über Konsole und Python ansteuern?
Den K8055 gibt es schon lange. Mit diesen technischen Daten:
- 5 digitale Eingänge (Test-Tasten auf der Platine)
- 2 analoge Eingänge
- 8 digitale Ausgangsschalter mit offenem Kollektor (max. 50V/100mA) (LED-Anzeige auf der Platine)
- 2 analoge Ausgänge:
- 0 bis 5V, Ausgangswiderstand 1K5
- PWM 0 bis 100% ‚offener Kollektor‘-Ausgang max. 100mA / 40V (LED-Anzeige auf der Platine)
- allgemeine Konvertierungszeit: 20ms pro Befehl
- Stromversorgung über USB: ungefähr 70mA
Er kann auch über USB an den Raspberry Pi angeschlossen werden. Nötige Treiber gibt es auch unter GPL und die sind in ein paar Minuten installiert. Den nötige Linux (Debian, Kali) Treiber gibt es hier.
Hier eine Anleitung für den Raspberry Pi (Kali, Debian) wie der Treiber installiert wird: „Raspberry Pi: Wie kann der Raspberry Pi mit Kali bzw. Debian Linux den K8055 von Velleman über Konsole und Python ansteuern?“ weiterlesen
Raspberry Pi: Per Bash mit GPIO Lib wiringpi, per Phyton mit RPi.GPIO und Java mit pi4j ansteuern der Pins auf Kali
Um die Pins per Bash anzusteuern, kann die wiringpi Lib verwendet werden. Die GPIO Homepage oder auch die Pin Belegung des rPi ist hilfreich.
So, jetzt erst einmal alles installieren und testen mit einer LED mit Widerstand an Pin 7 (4. Pin von oben links) und Masse (ganz unten links).
Zuerst alles für die Bash, um von der Konsole auf die Pins zugreifen zu können: „Raspberry Pi: Per Bash mit GPIO Lib wiringpi, per Phyton mit RPi.GPIO und Java mit pi4j ansteuern der Pins auf Kali“ weiterlesen
Streik EDDV: Raspberry Pi mit TWFlug und Dump1090 Flugauswertung (Planspotter) mit Fhem
Der Streik am 30.1.2015 am Flughafen in Hannover hat keine relevanten Auswirkungen auf den Flugverkehr, der von mir mit einem Raspberry Pi und DUMP1090 via Fhem erfasst wird. Das zeigen diese Grafiken:
Sehr gut kann man auch sehen, das für ca. 6 Stunden nachts nicht viel los ist in EDDV, obwohl Hannover der einzige Flughafen in Norddeutschland ohne Nachtflugverbot ist (zwischen 23 und 6 Uhr sind nur „leise“ Flüge erlaub). Aber in Bremen, Berlin-Tegel, Dortmund, Düsseldorf, Frankfurt und Hamburg hat man ja nachts seine Ruhe.
Raspberry Pi: Wie können OpenHab Addons installiert werden?
Wie können Addons für OpenHab installiert werden?
Dazu erweitern wir erst einmal die Addons mit den Bindings. Die werden später benötigt.
1 2 3 4 5 |
cd OpenHab/addons wget https://openhab.ci.cloudbees.com/job/openHAB/lastSuccessfulBuild/artifact/distribution/target/distribution-1.6.0-SNAPSHOT-addons.zip unzip distribution-1.6.0-SNAPSHOT-addons.zip # Optional: Löschen des zip rm distribution-1.6.0-SNAPSHOT-addons.zip |
Jessie: RPI-Monitor für den Raspberry Pi installieren
Dieser Entwurf aus dem letzten Jahr, wollte ich nun auch noch veröffentlichen. Wer einen RPI-Monitor braucht:
Wie hier gut beschrieben die Version 2.6.1 installieren, da die aktuelle Version 2.9.1 unter jessie nicht läuft.
Aber auch auf der RPI-Monitor Seite wird die Installation ausführlich beschrieben.
1 2 3 4 5 |
sudo apt-get update && sudo apt-get upgrade sudo apt-get install dpkg-dev librrds-perl libhttp-daemon-perl libjson-perl libipc-sharelite-perl libfile-which-perl wget --no-check-certificate https://github.com/XavierBerger/RPi-Monitor-deb/raw/master/packages/rpimonitor_2.6-1_all.deb sudo dpkg -i rpimonitor_2.6-1_all.deb rm rpimonitor_2.6-1_all.deb |
Nun im Browser http://IP:8888/ aufrufen.
„Jessie: RPI-Monitor für den Raspberry Pi installieren“ weiterlesen
Raspberry Pi: Neue Version dump1090-mutability (1.10.3010.14mu-11) veröffentlicht
Wie hier beschrieben, gibt es einen neuen fork von DUMP1090. Nun ist wieder eine neue Version erschienen (1.10.3010.14mu-11).
Was ist neu?
-Es kann jetzt ein maximaler Bereich angegeben werden mit Parameter –max-range parameter
-Anzeige der Nachrichten Zeit
-Fix bei der UTC Uhr anzeige
-Fix im Info Panel
-Farbe des Flugeuges grau wenn es nicht mehr gesehen wird
-Fix beim beenden über SIGINT
-div. Fix..
Wie kann das update installiert werden?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# System aktualisieren sudo update sudo upgrade # Version downloaden wget https://github.com/mutability/dump1090/releases/download/v1.10.3010.14mu-11/dump1090-mutability_1.10.3010.14mu-11_armhf.deb # Laufenden Server stopen sudo /etc/init.d/dump1090-mutability stop # Version installieren sudo dpkg -i dump1090-mutability_1.10.3010.14mu-11_armhf.deb # Es erscheint eine Frage nach dem maximalen Bereich in nautische Meilen Eingab z.B. 200 # Checken ob der Server läuft sudo /etc/init.d/dump1090-mutability status # Ausgabe: [ ok ] dump1090-mutability is running. # Archive kann gelöscht werden rm dump1090-mutability_1.10.3010.14mu-11_armhf.deb |
Dann aufrufen der Seite im Browser mit http://rpi-adresse:port
Raspberry Pi: „Man merkt oft erst, was man hatte, wenn man es verliert“
Nach dem Motto „Man merkt oft erst, was man hatte, wenn man es verliert“, mal die Package entfernen die nach einer Neuinstallation von mir meistens nicht benötigt werden, und nur Platz verschwenden, da der Raspberry Pi bei mir immer über die Kommandozeile per SSH bedient wird.
Es werden also keine X-Server usw. benötigt. Für Packages die nicht installiert sind, braucht es auch keine Sicherheitsupdates und wenn man doch mal ein Package braucht kann man es ja auch leicht wieder installieren.
1 2 3 4 5 6 7 |
sudo apt-get update sudo apt-get upgrade sudo apt-get remove x11-common x11-utils x11-xkb-utils libx11-6 lxde-common wolfram-engine sudo apt-get autoremove dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge sudo apt-get autoclean sudo rpi-update |
Jetzt kann mal mal mit df -h
schauen, was man verloren hat:
Ok, auf der 8 GB Karte ist noch 6 GB Frei!
Oder habe ich noch was vergessen, was nicht benötigt wird (dpkg --list
)? Gern als Kommentar.
Raspberry Pi: Wie können Flugzeugdaten in Fhem in real-time (Echtzeit) angezeigt werden?
Da bei mir ein Fhem Home-Server läuft, hatte ich die Idee, dort doch gleich die Flugdaten die von den Flugzeugtranspondern ausgesendet werden schön graphisch in Echtzeit anzuzeigen.
Also wie kann eine Grafik in Fhem erstellt werden, die die aktuelle Anzahl der gerade empfangenen Flugzeuge anzeigt.
Hier das Ergebniss, wo man deutlich sehen kann, das heute bis ca. 6 Uhr nur ca. 10 Flugzeuge flogen. Dann steigt der Flugverkehr rapide an:
Wie kann nun so eine Grafik, die sich automatisch aktualisiert erstellt werden.
Zuerst einmal die Architektur als BPMN 2.0 Diagramm:
Es werden zwei Raspberry Pi benötigt. Auf dem einen läuft der DUMP1090 Server mit der TWFlug Anwendung unter Java 1.8. Die TWFlug Anwendung läuft ohne Gui, und schreibt alle 5 Minuten die Anzahl der empfangenen Flugzeuge in eine Datei. Diese Datei wird dann jede halbe Stunde per sFTP an den anderen Raspberry Pi gesendet und von Fhem eingelesen und als Grafik ausgegeben.
TWFlug kann auch mit Gui auf einen Rechner gestartet werden und gibt dann als Tacho die Anzahl der Flugzeuge aus.
Das nötige GPlot Script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
/* myFlug.gplot Version 1.0 vom 17.12.2014 Dieses GNU-Plot Script zeigt die Flugdaten von den empfangenen Transpondern an. Copyright (C) 2014 Thomas Wenzlaff http://www.wenzlaff.de This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see {http://www.gnu.org/licenses/}. */ # Die Logdatei sieht wie folgt aus: # 2014-12-05_07:05:58 flugdaten anzahl:29 # 2014-12-05_07:10:58 flugdaten anzahl:23 set terminal png transparent size <SIZE> crop set output '<OUT>.png' set xdata time set timefmt "%Y-%m-%d_%H:%M:%S" set xlabel " " set title 'Empfangene Flugzeuge' set ytics set y2tics set grid ytics y2tics set ylabel "Anzahl Flugzeuge" set y2label "Anzahl Flugzeuge" #FileLog 4:flugdaten anzahl:0: plot "<IN>" using 1:2 axes x1y2 title 'Anzahl Flugzeuge' ls l0 lw 2 with lines |
TWFlug schreibt die Daten in eine Logdatei mit folgenden Format, z.B.:
1 2 3 4 5 6 7 |
2014-12-17_17:31:08 flugdaten anzahl: 39 2014-12-17_17:36:08 flugdaten anzahl: 49 2014-12-17_17:41:08 flugdaten anzahl: 36 2014-12-17_17:46:08 flugdaten anzahl: 34 2014-12-17_17:51:08 flugdaten anzahl: 36 2014-12-17_17:56:08 flugdaten anzahl: 42 2014-12-17_18:01:08 flugdaten anzahl: 41 |
TWFlug kennt bisher die folgenden Parameter:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
usage: TWFlug -c,--copy-time <arg> copy time in Minuten (default: 60 Minuten) -d,--dest-file <ziel-datei> destination file name (default: /home/pi/fhem/log/flugdaten-YYYY-MM.log) -h,--help print help and exit -height,--window-height <arg> set window hight (default: 600) -i,--ip ip adress from DUMP1090 (default: 0.0.0.0) -ip,--ziel-ip <arg> ip adress for copy destination (default: pi-home) -k,--copy copy output file to destination (default: false) -max,--max-count <arg> set max count value (default: 50) -min,--min-count <arg> set min count value (default: 0) -n,--no-gui display no GUI. Only logfile output (default: false) -o,--outputfile <file> use given file for DUMP output (default: flugdaten-YYYY-MM.log) -p,--port <arg> port from DUMP1090 (default: 30003) -psw,--ziel-passwort <arg> passwort from destination User -r,--refresh-time <arg> refresh time in ms (default: 300000 ms = 5 Minuten) -user,--ziel-user <arg> destination User (default: pi -v,--version print the version information and exit -width,--window-width <arg> set window with (default: 600) |
Welche fehlen noch?
Hinweise zu TWFlug und DUMP1090 können auf diesem Blog gefunden werden.
Wie können Transponderdaten von Flugzeugen mit dem Raspberry Pi an PlanePlotter gesendet werden?
Das bekannte Windows Programm PlanePlotter sendet die Flugdaten von Transpondern an PlanePlotter. Wie können diese Daten aber mit einem Raspberry Pi und ohne Windows an den PlanePlotter Server versendet werden.
Zuerst muss auf der PlanePlotter Seite eine Registrierung erfolgen. Folgende Angaben sind nötig:
An die dort angegebenen E-Mail Adresse wird dann nach ein paar Minuten eine C- Header Datei mit Namen: coaa.h
versendet.
Diese coaa.h
ist wie folgt aufgebaut:
1 2 3 4 5 |
//coaa.h configuration file for Thomas Wenzlaff 2011-11-11 11:11:11 #define USER_REGNO 123456 #define USER_AUTHCODE 1234567890 #define USER_LATITUDE 52.4388 #define USER_LONGITUDE 9.7428 |
Dies Datei dann so wie sie ist, in das Homeverzeichnis von dem DUMP1090 Programm kopieren und das ppup (=plane plotter upload) Programm welches auch in dem Verzeichnis ist neu compilieren mit:
1 |
make -f makeppup1090 |
wenn der compile ohne Fehler durchgelaufen ist, kann das Program mit
1 |
./ppup1090 |
gestartet werden (oder wenn das hochladen im Hintergrund geschehen soll mit ./ppup1090 &). Schon werden die Daten an PlanePlotter alle 60 Sekunden hochgeladen. Das ppup1090 muss nach dem start des DUMP1090 Servers erfolgen, da er ja die Daten von diesem Server erhält.
Wie kann nun aber kontrolliert werden, ob die Daten richtig an PlanePlotter gesendet werden?
Dazu den http://www.coaa.co.uk/rpiusers.php?authcode=USER_AUTHCODE
link verwenden. Den USER_AUTHCODE aus der coaa.h, die man per E-Mail erhalten hat, ersetzen und den Link im Browser aufrufen.
Z.b. http://www.coaa.co.uk/rpiusers.php?authcode=1234567890
Jeder User erhält dann einen eindeutigen Share code, der bei mir XH lautet. Diesen Code findet man dann, auf der Übersichtsseite (hier mal weiß makiert):
Habt ihr noch weitere Ideen? Fehlt was?
Raspberry Pi: Wie können ADS-B Flugdaten an FlightAware gesendet werden?
Vor einiger Zeit hatte ich schon mal beschrieben wie man die Flugzeugsignale mit dem Raspberry Pi empfängt und nach Flightradar24.com senden kann. Es gibt aber noch eine andere Flugseite FlightAware. Wie kann man die Flugsignale gleichzeitig auch nach FlightAware senden? Das geht mit dieser Beschreibung ganz gut. Man benötigt erst mal einen Account bei FlightAware. Der Dump1090 Server muss installiert sein und laufen. Das wurde von mir auch schon mal beschrieben.
Dann folgende Befehle im Terminal eingeben um die empfangenen Flugsignale vom DUMP1090 über faup1090 alle 5 Minuten verschlüsselt (TLS) an FlightAware zu senden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# System updaten sudo apt-get update sudo apt-get upgrade # Nötige Komponenten laden sudo apt-get install -fy # Programm downloaden wget http://uk.flightaware.com/adsb/piaware/files/piaware_1.20-1_armhf.deb # und instalieren sudo dpkg -i piaware_1.20-1_armhf.deb # Optional zwei Einstellungen setzen (siehe weiter unten) sudo piaware-config -autoUpdate 1 -manualUpdate 1 # Feed starten mit sudo piaware-config -user USERNAME -password # Passwort abfrage kommt, dann Passwort eingeben # und piaware einmal restarten sudo /etc/init.d/piaware restart # Status kann optional abgefragt werden mit sudo /etc/init.d/piaware status # oder mehr mit sudo piaware-status # Stoppen des piAware Servers mit sudo /etc/init.d/piaware stop # Starten des piAware Servers mit sudo /etc/init.d/piaware start |
Die möglichen Einstellungen können mit
1 |
sudo piaware-config -help |
abgefragt werden. Es werden folgende Befehle unterstützt:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
piaware-config : piaware-config -help|-user|-password|-start|-stop|-status|-autoUpdate 1/0|-manualUpdate 1/0 -user value specify the user name of a valid FlightAware account <> -password interactively specify the password of the FlightAware account -autoUpdate value 1 = allow FlightAware to automatically update software on my Pi, 0 = no <> -manualUpdate value 1 = allow me to trigger manual updates through FlightAware, 0 = no <> -start attempt to start the ADS-B client -stop attempt to stop the ADS-B client -restart attempt to restart the ADS-B client -status get the status of the ADS-B client -show show config file -- Forcibly stop option processing -help Print this message -? Print this message |
Schon nach ein paar Minuten werden die Flugdaten bei FlightAware sichtbar.
Der Quellcode und Beschreibung zu dem piaware Programm findet man auf Github.
Was das piaware Programm so nach dem start macht, kann in der Logdatei unter /tmp/piaware.out
eingesehen werden. Hier mal ein Auszug aus der Verbindung:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
11/30/2014 12:14:22 **************************************************** 11/30/2014 12:14:22 piaware version 1.18 is running, process ID 12345 11/30/2014 12:14:22 your system info is: Linux xxxx 3.12.28+ #712 PREEMPT Tue Sep 16 15:49:13 BST 2014 armv6l GNU/Linux 11/30/2014 12:14:22 connecting to FlightAware eyes.flightaware.com/1200 11/30/2014 12:14:23 FlightAware server SSL certificate validated 11/30/2014 12:14:23 encrypted session established with FlightAware 11/30/2014 12:14:23 autoUpdate in adept config is enabled, allowing update 11/30/2014 12:14:23 manualUpdate in adept config is enabled, allowing update 11/30/2014 12:14:24 ADS-B data program 'dump1090' is listening on port 30005, so far so good 11/30/2014 12:14:24 i see nothing serving on port 10001, starting faup1090... 11/30/2014 12:14:24 started faup1090 (process ID 12345) 11/30/2014 12:14:27 connecting to faup1090 on port 10001... 11/30/2014 12:14:27 piaware is connected to faup1090 on port 10001 11/30/2014 12:14:27 logged in to FlightAware as user USERNAME 11/30/2014 12:14:27 piaware received a message from the ADS-B source! 11/30/2014 12:14:32 piaware has successfully sent several msgs to FlightAware! 11/30/2014 12:14:57 26 msgs recv'd from dump1090 via faup1090; 26 msgs sent to FlightAware 11/30/2014 12:15:23 server is sending alive messages; we will expect them 11/30/2014 12:19:57 309 msgs recv'd from dump1090 via faup1090 (283 in last 5m); 310 msgs sent to FlightAware 11/30/2014 12:24:57 625 msgs recv'd from dump1090 via faup1090 (316 in last 5m); 627 msgs sent to FlightAware ... |
Meine Urlaubsimpressionen: Vietnam 2014 oder zwei Gegensätze!
Wo macht ihr lieber Urlaub? Mein Favorit ist das erste, das man mit einem Wort zusammenfassen kann „Paradies“ (Paradeisos (griechisch παράδεισος) park).
Oder doch Raspberry Pi Projekte?
Wieviele Flugzeuge können mit einem Raspberry Pi an einem Tag in Langenhagen empfangen werden?
Der Raspberry Pi wird zum empfangen von Flugdaten verwendet wie hier schon beschrieben.
Wie weit ist nun die Reichweite wenn die Antenne innen auf der Fensterbank ohne freie Sicht nach alle Richtungen steht? Und in welche Richtungen ist der Empfang am besten?
Die bisher weiteste Empfang eines Flugzeuges sind 138 nm (255 km).
Das geht aus diesem Diagramm hervor (1 nm = 1852 m)
Bin gespannt, wie es aussieht wenn die Antenne aussen montiert wird.
Und wieviele Flugzeuge werden so an einem Tag in Langenhagen empfangen? 872 Flugzeuge wurden an einem Tag (24 Stunden) empfangen.
Raspberry Pi: Kismet ( قسمة ) installieren unter Debian (jessie)
Wie wird Kismet auf dem Raspberry Pi installiert? Zuerst mal eine Mindmap als Überblick zu Kismet:
Kismet wird wie folgt installiert, nachdem das System upgedated wurde:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install kismet
„Raspberry Pi: Kismet ( قسمة ) installieren unter Debian (jessie)“ weiterlesen
Wie kann das Sicherheitsupdate für die Linux-Bash (CVE-2014-6271) des Raspberry Pi gescheckt und installiert werden?
Wie in dem Heise Artikel beschrieben, gibt es in der bash eine Sicherheitslücke CVE-2014-6271.
Das sind die Abhängigkeiten der bash, auf meinem Raspberry Pi (Debian, Jessie)
Für den Raspberry Pi gibt es schon ein Update. Ob das System verletzbar ist kann wie folgt in der Konsole getestet werden:
1 |
env x='() { :;}; echo verwundbar' bash -c "echo Test ob die bash verwundbar ist." |
Wenn das System verletzbar ist, wird „verwundbar“ ausgegeben:
Auch mit:
1 |
apt-show-versions bash |
bekommt man den Hinweis, das ein Update möglich ist.
Also den rPi updaten mit:
1 2 |
sudo apt-get update sudo apt-get upgrade |
Dann noch checken, mit dem Test:
Ok.
Und noch mal die Version checken:
Ok, wir sind nun wieder auch der sicheren Seite oder doch nicht (ShellShock) (CVE-2014-7169).
Wie wird auf dem Raspberry Pi die aktuell installierte Debian Version angezeigt?
Wer die Raspbian Debian Wheezy Version: September 2014 installiert hat, hat die neueste Version vom Release: 9.9.2014 URL: raspbian.org mit Kernel version: 3.12. installiert.
Wie kann auf dem rPi diese Infos ermittelt werden?
Der Name und die Release Version steht in der Datei /etc/issue
und kann auf der Konsole mit:
1 |
cat /etc/issue |
ausgegeben werden. Es wird bei mir ausgegeben:
1 |
Raspbian GNU/Linux 7 |
Details unter „Wie wird auf dem Raspberry Pi die aktuell installierte Debian Version angezeigt?“ weiterlesen
Wie können die Beziehungen installierter Packages grafisch auf dem Raspberry Pi mit debtree erzeugt werden?
Die Abhängigkeiten der installierten Packages auf dem Raspberry Pi sind manchmal sehr umfangreich. Aber man kann diese Abhängigkeiten gut grafisch anzeigen bzw. ausgeben. Hier mal ein Beispiel vom Package openssl:
Und hier noch ein etwas umfangreicheres Beispiel, ich habe keine Mühe gescheut mit ssh
Wie kann so ein Diagramm erzeugt werden?
„Wie können die Beziehungen installierter Packages grafisch auf dem Raspberry Pi mit debtree erzeugt werden?“ weiterlesen
Wie kann mit dem Raspberry Pi eine grafische Netzwerk Protokollanalyse mit ntop v.5.0.1 erstellt werden?
Network top ist ein Tool welches Netzwerkverkehr mitschneiden und analysieren kann. Ntop bringt einen eigenen Webserver mit und erzeugt schöne Grafiken.
Auf einem Raspberry Pi kann es schnell installiert werden mit:
sudo apt-get install ntop rrdtool
chmod 755 /var/lib/ntop
chown -R nobody:nogroup /var/lib/ntop/rrd
Während der Installation kommt dieser Dialog wo man die Schnittstelle eth0 angeben kann: „Wie kann mit dem Raspberry Pi eine grafische Netzwerk Protokollanalyse mit ntop v.5.0.1 erstellt werden?“ weiterlesen
Wie kann das klassische Tool, nmap Version 6.46 zum Analysieren eines LANs (und auch WLANs) auf einem Raspberry Pi installiert werden?
Habe schon in einigen Beiträgen von nmap berichtet. Heute wird die Installation und erste Befehle für den Raspberry Pi beschrieben.
Die Aktuelle nmap Version 6.46 braucht nicht aus den Sourcen compiliert werden, da es für den rPi fertige Packages gibt (Update: 26.07.2018: aktuell 7.4. obwohl es schon eine 7.7. gibt, aber noch nicht für den PI)
Also erst das System auf den aktuellen Stand bringen und nmap installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nmap
Nach ein paar Minuten ist nmap installiert. Erster Test, ausgabe der nmap Version:
nmap -version
So, jetzt den ersten Scann aller vorhandenen Adressen, aber nur auf eigene Netzwerke wie hier beschrieben:
nmap -sP 192.168.2.0/24
Schon werden alle 256 IP Adressen in 8 Sekunden gescannt:
Host is up.
nmap done: 256 IP addresses (15 hosts up) scanned in 8.41 seconds
Oder alle offenen Ports anzeigen mit:
nmap localhost
Oder wenn man das Ziel Betriebssystem ermitteln will, das dauert aber etwas:
nmap -O -v localhost
Manchmal braucht man eine Liste aller Hosts im Netzwerk, das geht so:
nmap -sn 192.168.2.0/24
Eine sehr ausführliche deutsche Beschreibung gibt es unter
man nmap
Welche Befehle findet ihr noch nützlich?
Wie kann das Netzwerkanalyse Programm Ettercap für eine MITM-Attacke (ARP-Spoofing) auf dem Raspberry Pi installiert werden?
Das Netzwerkanalyse Programm Ettercap kann als Text-Version oder auch als grafische Version auf dem rPi ziemlich schnell wie folgt installiert werden:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-text-only
Auch die grafische Version, die bei der Installation etwas länger dauert, kann mit dem folgenden Aufruf installiert werden:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-graphical
Nach der Installation die Version checken mit:
ettercap -v
Es wird die aktuelle Version vom 21. Sep 2013 ausgegeben: 0.0.8
Hilfe gibt es mit
ettercap -h
Hier ein kleiner Überblick zu Ettercap als Mindmap:
Starten im Text Modus mit
ettercap -T
oder mit einer Text-GUI:
ettercap -C
Quickstart MITM-Attacke
MITM-Attacke könnten wie hier beschrieben ausgeführt werden. Kurz die Text Variante:
ettercap -C
Menü: Sniff - Unified sniffing...
Eingabe: eth0
Menü: Hosts - Scan for hosts
Menü: Hosts - Hosts list
Router in Hosts list markieren und Taste 1 (für Target 1) klicken
Ziel (Opfer) in Hosts list markieren und Taste 2 (für Target 2) klicken
Hilfe mit SPACE
Menü: Targets - Current Targets
Menü: Mitm - ARP poisoning ... (ohne Parameters)
Menü: View - Statistics
Menü: Start - Start sniffing
Menü: View - Statistics
Opfer PC sieht nun "falsche" MAC vom Router, siehe arp -a auf Opfer PC
Hier mal ein paar Statistics eines kurzen test Laufs:
Zum Stoppen wieder:
Menü: Mitm - Stop mitm attack(s) (MAC wieder orginal vom Router)
Menü: Start - Stop sniffing
Es kann nun alles leicht auch geloggt und gefiltert werden. Alles nur im eigenen Netzt mit eigenen Rechnern evl. mit 2 rPi oder eine rPi und einem WR703 ausprobieren.
Wie wird Kismet auf dem Raspberry Pi unter jessie installiert?
Kismet braucht nicht aus den Quelltexten erzeugt werden. Die letzte Version (Stand 12.7.2014) von Kismet Kismet-2013-03-R1b gibt es aus als Package. Also kann es mit
apt-get update && apt-get upgrade
apt-get install Kismet
Bei der Installation kommt zuerst dieser Config-Dialog:
Antwort „Ja“ und dann kommt noch
wo der User z.B. „pi“ ergänzt werden kann. Dann ok, und schon ist Kismet installiert und kann wie in dem Quick Start beschrieben gestartet werden.
Strten mit kismet … aber ohne WLAN Stick…
So, jetzt kann kismet in der Datei /usr/local/etc/kismet.conf
configuriert werden. Aber erst mal einen passenden WLAN-Stick suchen …
Wie kann ein Passwortgenerator (pwgen) auf dem Raspberry Pi installiert werden?
Wer sich Passwörter leicht generieren möchte, kann das mit dem coolen Tool pwgen tun.
Dieser Generator ist schnell installiert mit:
apt-get update && apt-get upgrade
apt-get install pwgen
Dann einfach pwgen eingeben und es werden Passwörter generiert, hier ein Beispiel (natürlich diese nicht verwenden ;-)):
Piec3Eeg oothei5J Jah5eyoo eeya3IeM pi3ahyeT Zohw0udo oovai7Ji Nohgha6j
voP5ieho Ahpit7ta neiX6eex ni6zu1Ei lahV4aix Heuth7Ch kie5Zaim oache8Oo
ooPh3xof Hied4she quuph3Qu lai3Aefu ruaF2rie Ing7faes quoh7taP nieNoa9f
aiTh4sho iecheiT6 Ahj2wah8 Cee6uu1x Iefah3oh pah3Jode yoBoh7oo Aicea4qu
la5uoSee Lesai2ha XeiKie5E meiNg1Ov poogee6W she9Ohji lieJ6Poh EiC1veit
Zouc9sei pie1NaMi jaiph3iS pixei7Ei nei8eeCi kiel4Yoo Chah5ale dei1tieZ
AiSahB3D ohy6Air6 Ozie4qui uiG1Eoji Jeireo0t hedooY3i od1vauDe eereF5ku
ootei4aZ ieB0ij9e ahgia2Oo Eeng2tah AiWi2aiz JaeR3hio ieTie9ti aeN8seid
ieg9Ea2f ahth0Oon goeQu6ae eivee7Ei toh7Ding Ohhein3w hiph0Aec sheiJie0
sheeBo7u dooYah4e gai4og2E aih6Epha Shuth3Ju cheaLoK9 oo2BuM5a nae0ooTh
eakeeHa9 ohB2aqu9 Ahxuz5fo si2Paexu iek5cieH eejie3Gu eeTh6tai ashuu4Ai
Aibux0ua Rohghoh1 Jahp2Uhu rie4xeCu IeJ2leiR gia3OoRo An2ohJae auJa6mai
iub1Pei6 Tei7Hahd chib6Hei ouf6Zooc As1tasae fee2Jang ahcee4Ie Mahke0io
paw6UJai Quuc8wa3 oe7Wurah iJu1ieG3 ohgh6Poh eeKo7ip9 fahjooM3 ooS1ohju
xua7riZo pueW0iex sheig3Al Zeuc0min Oor7keet dahm4ahH Ki8aiqua bee9Choh
GaisaeN5 aijo7EiB die9Aipo Ne8ohvoo leSheK5d vei3Regi ishung5W Nue3Aide
Aiw9aibo ieTah2ug Iey9eeng iehoh0Oe Fai3OhSo uPhae6Ie It9oeyiu dahNgoh9
mio6EiGe Eichee3u ku4veiSh eu3Ohsev pish5AB3 Ishir7ai thei2Sai Lae0phei
Fer2ki3W xoop0Wae uM9engee cha8cahB Iexeip0I Ze1avo2a zohZoh2K ohg3Ooco
Eijoh1Ee Yiex6ahh Ov8onuSh Wug1yuo5 phewee8A Gohqu6io Deighoo4 ielo2eiJ
Der pwgen hat aber noch mehr Optionen, die werden mit:
pwgen -help
oder mit
man pwgen
angezeigt:
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]
Options supported by pwgen:
-c or --capitalize
Include at least one capital letter in the password
-A or --no-capitalize
Don't include capital letters in the password
-n or --numerals
Include at least one number in the password
-0 or --no-numerals
Don't include numbers in the password
-y or --symbols
Include at least one special symbol in the password
-s or --secure
Generate completely random passwords
-B or --ambiguous
Don't include ambiguous characters in the password
-h or --help
Print a help message
-H or --sha1=path/to/file[#seed]
Use sha1 hash of given file as a (not so) random generator
-C
Print the generated passwords in columns
-1
Don't print the generated passwords in columns
-v or --no-vowels
Do not use any vowels so as to avoid accidental nasty words
Wenn ich also eine Liste von 20 Stelligen sicheren (s) Passwörtern und keinen ähnlichen Zeichen (wie l und 1) haben möchte (B), kann ich folgenden Befehl absetzen:
pwgen -sB 20
Das Ergebnis:
YgjNwvYemaAhWx9fHThg ATwxvf3NJwYntwxjWWzL CWRYn9KaAus4YLfb4Cro
XCPtEXNmUiAEP4ULizgN XepEta7NjypmFJfCzHsc N7kFENh3PMi9qbVwryKb
gNwjqveYkshdaL4gjehT fjzzmNfgtnVoaCH7dVKt rb3suCzadpj7fp9y3JHt
s3YwxAUqMrNNANPmWxFa FsuWngN9qLqXp7jTxJr7 VcWyXgskfAyuvzHeLh7e
7wEjhadTdmAe4Riz3oaH MAogzqyiYVegJFx4nwqa sAwW3w4V7mUmUsiWEN44
KeMeAb9kfHuyAsh3W4oL N9NXjWV3JVgddeas7vWz PhoCNLzxHNEdtCxo4MYh
MsRLj44Xe4uvM4oLTdxa HLVvqq94TqrnyycbaKJC sx3rcnYrMFcaq9nFHChT
Jvc3TtLUHpnbqFpbjWYe r4z4R7Uzc7jyLAVd9wNu vkgdqkmsUnNTR3aJXcTm
UArR4WCcndEnNRPorr7e cCW9TYjizh3FxLEMiWsd dqxu3NWgEWEcVnR7kdtb
KorKCagv3tiFPedRCxY4 MvaKWq4aMfuvqudKNATv dPgR4rFyMfjiMCwx4mac
PrnmoJwiHd4sNtpUhwrt 44uFHPxgsqvvkxCUfTMg iofY9kMvqjFnLrzREtAV
XVXAoe3eHvFArCvphhRJ 7ozVRLVAcWwKnwsy47oy wEjehHscpLXRMuvxua9z
EKvChrkLfXdRuWT4U9WH KyAjaTXuh7xkeFb3RoRU VNz33urjqEAMtNFgNMoL
e49ic3ceuAwabgfKrxdj PkR4ETdqKufWcep7hscx bxwRRALNVWkEqqAM9bRm
EYqqLnjR3exqpmNo9bMp fpvuh4CarVLXhwsULodK oedNeFstpnryXV9qvYmY
n4ptWFwmLw9XmvgEteRX vimxprjruksCK3iaTzxn EVCJFvPAiu4NK9cNgKda
vMFw4wJvfkpuuCjtz4rb UFd4HLqVvV7awtJHWwHf rftMpbCTuHzbLU3YEMeg
FUveaeHvV4dLdFwfuaF3 WdYqhCxe3rC9fLxUHJjc YmgzCkzkLqdTqfJry9jX
UnfEPWVqk3kPkhEcbKCs Whho7FfCtuqbbgEKtJvj CFu4AsMHANnw4HXpem3t
4TWweTY7iEqqPqpeX9en 3Viq7hqkh3FwsgpEnmzX Yw4bfMmJAotymPTJkfjM
Viel Spaß beim generieren von Passwörtern?
Wie kann auf einem Raspberry Pi die Zeit angezeigt werden, wie lange der Pi läuft (uptime)?
Manchmal möchte man wissen, wie lange der Raspberry Pi läuft. Windows Systeme müssen oder werden häufig gebootet. Der kleine Raspberry Pi, läuft unter Linux Debian sehr stabil.
Zum Beispiel läuft einer meiner PasPis, über 86 Tage ohne das er vom Strom getrennt wurde. Er hat ja auch noch nicht einmal einen an/aus Schalter.
Unter Webmin kann man diese Zeit, über den Menüpunkt Systeminformationen abrufen:
Oder einfach auf der Konsole uptime eingeben, es wird dann ua. die Zeit geliefert:
20:16:10 up 86 days, 23:46, 1 user, load average: 0,02, 0,33, 0,87
Wie lange läuft Euer rPi? Kommentare dazu erwünscht.
Finale BPMN 2.0 CUPS Drucklösung für den Raspberry Pi als *.bpmn
Hier die finale BPMN 2.0 Version zur CUPS-Drucklösung auf den Raspberry Pi.
Die CUPS BPMN 2.0 Datei kann als Archive hier kostenlos geladen werden.
Bitte Feedback gerne als Kommentar.
BPMN 2.0 Diagramm: Version 2 zur Raspberry Pi CUPS Drucklösung
Hier nun die 2. Version im Gegensatz zu Version 1.
Ist die nun deutlicher?
Wie kann der Raspberry Pi auf die neue Debian Version Jessie upgedated werden?
Aktuell ist die Linux Wheezy Version. Wer aber neue Funktionen ausprobieren will, kann den Raspberry Pi auch auf Jessie updaten. Wenn auch noch nicht alles so stabil sein soll, bekommt man doch einfach die neuesten Versionen. Z.b. PHP 5.5.12. Diese Version wird aber noch nicht zeitnah mit Sicherheitsaktualisierungen versorgt und hat den Status Testing.
Es braucht nur die folgende Datei angepasst zu werden:
sudo nano /etc/apt/sources.list
Wo „wheezy“ steht auf „jessie“ ändern und speichern. Dann den update Vorgang starten mit:
sudo apt-get update && apt-get dist-upgrade && apt-get autoremove
Es kommen dann während der Installation einige Fragen die beantwortet werden müssen, ob Service usw. restartet werden sollen. Dann nach ca. eine Stunde kann mit
sudo apt-get autoclean
die Reste entfernt werden und das System neu gestartet werden:
sudo shutdown -r now
Dann evl. noch checken ob alles ok ist mit:
sudo apt-get check
So hat man jetzt auch die aktuellste PHP Version, testen mit
php -v
Erzeugt nun:
PHP 5.5.12-1 (cli) (built: May 11 2014 09:41:44)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
Wie kann eine Apple Freigabe mit Netatalk und Bonjour (Zeroconf) für den Finder auf dem Raspberry Pi mit AFP installiert werden?
Siehe auch neueren Eintrag.
Um mit Apple-Rechner (Mac OS X, Yosemite 10.10.2) per Freigaben mit dem Finder auf dem Raspberry Pi zugreifen zu können, kann Netatalk verwendet werden. So würde eine Freigabe z.B. aussehen:
Das System aktualisieren und avahi-daemon und netatalk installieren:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install avahi-daemon netatalk |
Dann in der Datei:
1 |
sudo nano /etc/netatalk/afpd.conf |
Am Ende anfügen bzw. das # am Anfang entfernen:
1 |
- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword |
Dann in der Datei:
1 |
sudo nano /etc/netatalk/AppleVolumes.default |
vor der Zeile „End of File“ folgenden Eintrag ergänzen um die Public Freigabe zu erzeugen, sonst ist nur das Home-Verzeichnis des Users freigegeben:
1 |
folder/share/Public Public options:upriv perm:0776 |
Nun noch die Datei
1 |
sudo nano /etc/avahi/services/afpd.service |
mit folgenden Inhalt anlegen:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=Xserve</txt-record> </service> </service-group> |
Der Eintrag in der Zeile mit model= legt das Icon fest. Möglich Werte sind da: Mac (default), AirPort, AppleTV1,1, iMac, MacBook, MacBookAir, MacBookPro, Macmini, MacPro, PowerBook, PowerMac und Xserve.
Beide Services noch restarten:
1 2 |
sudo service avahi-daemon restart sudo service netatalk restart |
Nach ein paar Sekunden kann auf die Verzeichnisse „normal“ Zugegriffen werden.
Die Freigabe für „Apple Time Machine“ kommt dann in einem anderen Blogeintrag.
Soll der avahi beim Neustart des Pi automatisch starten? Dann noch ein:
1 2 |
sudo update-rc.d avahi-daemon defaults sudo update-rc.d netatalk defaults |
Optional, mal testweise schauen ob alles nach einen reboot läuft
1 2 3 4 5 6 7 |
sudo reboot now # nun müssten beide Services laufen sudo /etc/init.d/avahi-daemon status # ok, da kommt eine ausgabe, nun noch netatalk testen mit ps ax | grep netatalk # liefer z.B. wenn er läuft # 1232 pts/0 S+ 0:00 grep --color=auto netatalk |
Viel Spaß
Die TOP 5: Wie werden auf dem Raspberry Pi alle angelegten Nutzer angezeigt?
Evl. will man ja mal schauen, ob nicht ein unbekannter einen Nutzer angelegt hat 😉
Um alle im System angelegten Nutzer anzuzeigen gibt es viele Möglichkeiten.
Die Nutzer werden in der Datei /etc/passwd
abgelegt.
Jede angezeigte Zeile hat dieses Format:
Name:Passwort:User-ID:Group-ID:Kommentar:Verzeichnis:Shell
Es gibt viele Seiten, die alles genau beschreiben, hier eine kleine Auswahl:
- itDozent
- nixCraft
- selfLinux
- galileocomputing
Aber jetzt zu den TOP 5 Befehlen, die die Nutzer ausgeben (alle mit cat /etc/passwd
), aber nur die User:
cut -d: -f1 /etc/passwd
at /etc/passwd | cut -d: -f1
sed 's/:.*//' /etc/passwd
cat /etc/passwd | awk -F : '{print $1}'
awk -F: '{print $1}' /etc/passwd
Kennt ihr auch noch einen? 😉
Wie wird wswebcam auf dem Raspberry Pi neu compiliert und installiert?
Mit sudo apt-get install fswebcam
wird wie man mit fswebcam --version
feststellen kann die Version von 2011 von fswebcam installiert:
fswebcam 20110717
Da meine alte Logitech Cam nicht läuft, habe ich erst einmal auf die neueste Version upgedated. Also die Quellen holen und neu compilieren mit:
1 2 3 |
sudo git clone http://github.com/fsphil/fswebcam cd fswebcam sudo ./configure --prefix=/usr |
Es wird folgender Error ausgegeben:
configure: error: GD graphics library not found
Also noch die libgd neu installieren mit:
sudo apt-get install libgd2-xpm-dev
Dann nochmal
1 |
sudo ./configure --prefix=/usr |
ausführen.
Ok, Ausgabe nun:...
hecking for getpagesize... yes
checking for working mmap... yes
checking for gdImageCreateTrueColor in -lgd... yes
checking for gdImageStringFT in -lgd... yes
checking for gdImageJpeg in -lgd... yes
checking for gdImagePngEx in -lgd... yes
Buffer type ........... 16 bit
PNG support ........... yes
JPEG support .......... yes
Freetype 2.x support .. yes
V4L1 support .......... yes
V4L2 support .......... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
Dann ein make
zum compilieren und make install
.
Dann checken ob die neue Version installiert wurde, mit
fswebcam --version
Ausgabe:
fswebcam 20140113
Nun noch mit rm -rf fswebcam/
das Verzeichnis löschen.
Ok, die Cam wird erkannt, lsusb
ergibt:
Bus 001 Device 004: ID 046d:0840 Logitech, Inc. QuickCam Express
Aber es kommt mit fswebcam test.jpg
zu folgenden Fehler und es wird kein Foto erstellt:
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 360x296.
Error starting stream.
VIDIOC_STREAMON: Broken pipe
Unable to use mmap. Using read instead.
--- Capturing frame...
Timed out waiting for frame!
Speicherzugriffsfehler
Da muss ich dann mal ander mal schauen, was das nun wieder ist.
Oder habt IHR eine Idee?
Fix, siehe diesen neuen Blogeintrag. Das müsste auch hier laufen, oder?
Wie kann auf einem Raspberry Pi die neueste Java 1.8 Version von Oracle installiert werden?
Zuerst das System des Raspberry Pi updaten und neu starten mit:
1 2 3 4 5 6 |
sudo apt-get update sudo apt-get upgrade sudo apt-get clean sudo rpi-update sudo ldconfig sudo reboot |
Schauen, welche Version jetzt installiert ist mit java -version
:
1 2 3 |
java version "1.6.0_27" OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1+rpi1) OpenJDK Zero VM (build 20.0-b12, mixed mode) |
Entweder über den den Packetmanager:
1 |
sudo apt-get update && sudo apt-get install oracle-java8-jdk |
oder per Hand, dann so:
Dann das JDK 1.8 von der Oracle Seite downloaden. Die Seite wurde nach hier verschoben. Es wird die Linux ARM v6/v7 Hard Float ABI Version mit 83 MB benötigt.
In das Download Verzeichnis wechseln und mit scp die Datei auf den rPi kopieren z.B.:
1 |
scp jdk-8-linux-arm-vfp-hflt.tar.gz root@192.0.0.0:/root |
Dann in den rPi wechseln und und das Archive in das /opt Verzeichnis entpacken, das dauert ein paar Minuten:
1 |
sudo tar zxvf jdk-8-linux-arm-vfp-hflt.tar.gz -C /opt |
Nun Java aktivieren und das Archive löschen mit:
1 2 3 4 5 |
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_33/bin/javac 1 sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_0_33/bin/java 1 rm jdk-8-linux-arm-vfp-hflt.tar.gz sudo update-alternatives --config javac # Auswahl 1 für Version 1.8 eingeben |
sudo update-alternatives --config java
# Auswahl 1 für Version 1.8 eingeben
Und checken ob es geklappt hat mit java -version
ergibt nun:
1 2 3 |
java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode) |
Java 1.8.0 ist nun erfolgreich installiert.
Wie kann Webmin auf einem Raspberry Pi auf die neueste Version (1.680.1) aktualisiert werden?
Den laufenden Webmin aufrufen mit https://{IP-Adresse}:10000/
Aktuelle Version von Webmin feststellen über die Webmin Download-Seite.
Dann über das Menü: Webmin-Webmin-Konfiguration->Webmin aktualisieren
In den Webmin aktualisieren Dialog die Aktuelle URL eingeben:
http://prdownloads.sourceforge.net/webadmin/webmin_1.680_all.deb
Dann auf Webmin aktualisieren klicken und ca. 10 min warten:
Webmin ist echt cool! Oder?
Wie wird ein VdS-zertifizerter Funk-Rauchmelder #HM-SEC-SD von #HomeMatic in #Fhem auf einem #Raspberry Pi eingebunden?
Habe von meinen netten Kollegen einen Gutschein erhalten 🙂 Dafür habe ich mir ua. diesen Funk-Rauchmelder HM-SEC-SD gekauft, hier die Ansicht von hinten, mit eingelegten Batterien:
So, mit zwei Schrauben hängt er nun im Server-Raum an der Decke …
Jetzt noch nach dieser Anleitung in Fhem anmelden. Obwohl ich bisher nur einen Rauchmelder haben, ist er mit einem virtueller Aktor als Teamlead verbunden (Variante 2). So kann über set Rauchmelder_Team alarmOn
der Alarm getestet werden:
Aus gehts mit set Rauchmelder_Team alarmOff
:
Zuvor aber anlernen und peeren:
set HMLAN_1 hmPairForSec 600
define TeamDev CUL_HM 111111
set TeamDev virtual 1
set Rauchmelder_Team peerChan 0 az_Brandmelder single set
Cool, jetzt kann der VdS-zertifizerte Funk-Rauchmelder
von überall angeschaltet werden.
Aber erst noch eine Benachrichtigung bei Brandalarm versenden per Pushover. Dazu ua. in der fhem.cfg folgenden Code einfügen und den Token und User ersetzen:
# Benachrichtigung bei Brandmelder an
#
define pushBrandmelderAn notify az_Brandmelder:smoke-Alarm.* {\
system ("curl -s -F 'token=xxxxxxxxx' -F 'user=xxxxxxxxxx' -F 'message=Brandmelder Alarm' -F 'title=Fhem: Brandmelder ist an' -F 'priority=1' -F 'sound=1' https://api.pushover.net/1/messages.json");;\
}
attr pushBrandmelderAn group Brandmelder
attr pushBrandmelderAn room Arbeitszimmer
Kann dann so als Alarmmelder dienen.
Wie kann die neue SYSMON Funktion ShowValuesText auf den Fhem Server mit Raspberry Pi für Pushover und E-Mail genutzt werden?
Das coole Tool SYSMON im Fhem Server kann nun auch seit ein paar Tagen seine Informationen als Text mit der Funktion SYSMON_ShowValuesText wiedergeben. Diese Infos können dann wie hier als HTML Tabelle auch per E-Mail oder Pushover versendet werden:
Ich habe es in meiner täglichen Pushover Benachrichtigung eingefügt, so bekomme ich immer um 12 Uhr diese Meldung direkt auf mein Handy bzw. iPad:
Hier der entsprechende Code, für die fhem.cfg:
#
# Fhem: Um 12 Uhr täglich den rPi Systemstatus versenden
#
define pushSystmonStatus at *12:00:00 {\
my $sysinfo=SYSMON_ShowValuesText('sysmon', ('date:Datum', 'cpu_temp:CPU Temperatur: °C', 'uptime_text:System up time:', 'fhemuptime_text:FHEM up time', 'ram:RAM', 'idletime_text:idle time', 'stat_cpu_text:CPU'));;\
system ("curl -s -F 'token=-dein Token-' -F 'user=-dein User' -F 'message=$sysinfo' -F 'title=Fhem Systemstatus' http://api.pushover.net/1/messages.json");;\
}
Wenn man alle Parameter haben will, kann man auch einfach nur sysmon verwenden:
my $sysinfo=SYSMON_ShowValuesText('sysmon')
Für die Pushover Benachrichtigung wird aber nicht alles angezeigt, da die max. Anzahl an Zeichen bei 512 liegt. Aber für E-Mail oder andere Zwecke gehts.
Noch weitere Ideen?
Wie wird ein Fensterkontakt HM-SEC-SC-2 von Homematic mit einem Heizungsthermostat HM-CC-RT-DN mit Fhem auf Raspberry Pi gekoppelt
Wie hier sehr gut beschrieben vorgehen.
1. Den Fensterschalter mit dem Heizungsventil HM-CC-RT-DN peeren. Das läuft über Kanal 03 WindowRec mit:
set
z.B.:
set az_Fenster_Schalter peerChan 0 az_Heizungsthermostat_WindowRec single
dann und das ist Wichtig, am Fenster-Schalter den Kontakt mit dem Kugelschreiber drücken, sonst wird es nicht ausgeführt.
Kontrolle unter Attributes, bei der peerIds muss die ID vom Schalter stehen:
2. Wenn das Fenster aufgeht, soll die Temperatur autom. abgesengt werden. Dazu wird der im Heizungsthermostat integrierte Schalter über Kanal 4 ClimRT_tr ausgeschaltet mit:
set
z.B.:
set az_Heizungsthermostat_Klima regSet winOpnMode off
Kontrolle in den Readings unter R-winOpnMode, muss dann auf off gesetzt sein.
3. Dann soll noch die Temperatur auf 5 Grad (mögliche Werte von 5-30 Grad) eingestellt werden (Kanal 3), die autom. beim öffnen des Fensters eingestellt werden soll mit
set
z.B.:
set az_Heizungsthermostat_WindowRec regSet winOpnTemp 5 az_Fenster_Schalter
Für den älteren Thermostat HM-CC-TC ist die Syntax etwas anders (6-30 Grad, anderer Variablenname)
set
z.B.
set wz_Wandthermostat_WindowRec regSet tempWinOpen 6 wz_Terrassentuer_Schalter
4. Dann noch ein save und rereadcfg.
Wenn alles ok ist, wird nun beim öffnen des Fensters auf 5 Grad geregelt und wenn das Fenster wieder geschlossen wird, auf die eingangs eingestellte Temperatur zurück gestellt.
Diese Regelung kann man gut am folgenden Diagramm erkennen. Das Ventil (blau) wird jeweils geschlossen wenn das Fenster geöffnet wird. Die Ziel Temperatur (grün) geht auf 5 Grad:
Wie werden alle installierten Packages auf dem Raspberry Pi angezeigt, gespeichert und gezählt?
Manchmal wird eine Liste aller installierten Packages benötigt. Für ein Backup oder so. Es gibt da wie so oft mehrere Möglichkeiten.
Auf dem Raspberry Pi können solche Listen mit dem Packagemanager dpkg erstellt werden.
Also mit
dpkg --get-selections | grep -v deinstall
werden alle Packages ausgebeben, z.B.
...
cups install
cups-bsd install
cups-client install
cups-common install
cups-filters install
cups-pdf install
cups-ppdc install
...
um mit
dpkg --get-selections | grep -v deinstall > installierte-package.txt
wird die Liste in die Datei installierte-packag.txt gespeichert.
Oder wenn die lange Liste eingeschränkt werden soll, z.B. alle Packages mit cups im Dateiname:
dpkg --get-selections | grep cups
ergibt diese Liste:
...
bluez-cups install
cups install
cups-bsd install
cups-client install
cups-common install
cups-filters install
cups-pdf install
cups-ppdc install
ghostscript-cups install
libcups2:armhf install
libcupscgi1:armhf install
libcupsdriver1:armhf install
libcupsfilters1:armhf install
libcupsimage2:armhf install
libcupsmime1:armhf install
libcup dc1:armhf install
printer-driver-hpcups install
python-cups install
...
Soll das install nicht erscheinen, dann mit dem Stream-Editor sed z.B.
dpkg --get-selections | sed 's:install$::' > installierte-package-nur-name.txt
Wer eine noch ausführlicher Liste mit Beschreibung benötigt, kann diese mit
dpkg --list
erzeugen. Z.b.:
...
ii cups 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - server
ii cups-bsd 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - BSD commands
ii cups-client 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - client programs (SysV
ii cups-common 1.5.3-5+deb7u1 all Common UNIX Printing System(tm) - common files
ii cups-filters 1.0.18-2.1 armhf OpenPrinting CUPS Filters
ii cups-pdf 2.6.1-6 armhf PDF writer backend for CUPS
ii cups-ppdc 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - PPD manipulation util
ii curl 7.26.0-1+wheezy8 armhf command line tool for transferring data with URL syntax
...
Die ersten beiden Zeichen in jeder Zeile geben den Paketstatus an ( ii bedeutet installiert ).
Wer also nur die installierten haben möchte, muss
dpkg -l | grep '^ii'
verwenden. Wenn noch mehr Kontrolle über die Liste braucht, kann auch dpkg-query verwenden:
dpkg-query -W -f '${status} ${package} ${version} \n' | sed -n 's/install ok installed //p'
z.B.:
...
cups 1.5.3-5+deb7u1
cups-bsd 1.5.3-5+deb7u1
cups-client 1.5.3-5+deb7u1
cups-common 1.5.3-5+deb7u1
cups-filters 1.0.18-2.1
cups-pdf 2.6.1-6
cups-ppdc 1.5.3-5+deb7u1
...
Wenn ein Debian System mit gleichen Package und Versionsnummern erstellt werden soll, kann man eine Liste mit
aptitude -q -F "%?p=%?V %M" --disable-columns search \~i
in folgendem Format erzeugen:
Package Name=Version und A (wenn automatisch installiert)
Z.b.:
...
cups=1.5.3-5+deb7u1
cups-bsd=1.5.3-5+deb7u1 A
cups-client=1.5.3-5+deb7u1 A
cups-common=1.5.3-5+deb7u1 A
cups-filters=1.0.18-2.1 A
cups-pdf=2.6.1-6
cups-ppdc=1.5.3-5+deb7u1 A
...
Die Liste kann dann wie in http://www.debian-administration.org/article/669/ beschrieben, wieder geladen werden mit:
(ungetestet)
$ cat restore-package-versions
#!/bin/sh
list=$1
shift
aptitude -q -R --schedule-only install $(awk < $list '{print $1}')
aptitude -q -R --schedule-only markauto $(awk < $list '$2=="A" {split($1,A,"=");print A[1]}')
Wer nur die Anzahl der installierten Package ermitteln möchte, kann die Ausgabe mit grep zählen (-c count):
dpkg -l | grep '^ii' -c
bei mir: 910
Wie wird ein Bluetooth Dongle an einem Raspberry Pi in Fhem integriert?
Hatte noch ein Bluetooth Dongel von Belkin liegen.
Der kann wie folgt an dem rPi angeschlossen werden.
Erst mal das System aktualisieren und das bluetooth Pakage mit ein paar Tools installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install bluetooth bluez-utils blueman
Dann den Raspberry Pi runter fahren und den USB-Bluetooth Adapter einstecken (siehe Foto oben).
Nach dem Hochfahren können alle USB Geräte gelistet werden mit lsusb. In meinem Fall:
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 050d:0012 Belkin Components F8T012 Bluetooth Adapter
Bus 001 Device 005: ID 1f75:0916
Ob das Gerät läuft kann mit /etc/init.d/bluetooth status getestet werden, Ausgabe wenn alles ok ist:
[ ok ] bluetooth is running.
Jetzt können wir nach Geräten in Reichweite suchen mit hcitool scan. Bei mir ist nur ein Telefon gefunden worden
Scanning ...
obwohl es mehr gib. Also etwas gewartet und Befehl wiederholt
XX:2F:80:3F:14:XX SL910
Scanning ...
ok, jetzt ist alles vorhanden.
XX:2F:80:3F:14:XX SL910
XX:51:C9:EF:B5:XX iMac
XX:D1:CB:E9:33:XX iPhone 5
So jetzt haben wir mit dem hcitool scan die IP Adressen der erreichbaren Bluetooth Geräte ermittelt. Jetzt können wir die IP Anpingen um zu sehen ob das Gerät erreichbar ist mit
sudo l2ping -c 1 XX:D1:CB:E9:33:XX
wenn das Gerät erreichbar ist kommt:
Ping: XX:D1:CB:E9:33:XX from XX:00:3A:69:11:XX (data size 44) ...
44 bytes from XX:D1:CB:E9:33:XX id 0 time 6.09ms
1 sent, 1 received, 0% loss
wenn am Gerät Bluetooth ausgeschaltet ist oder das Gerät nicht mehr in Reichweite ist kommt als Ping Ergebnis
Can't connect: Host is down
Die Bluetooth IP kann auch z.B. im iPhone unter Einstellungen-Allgemein-Info-Bluetooth abgelesen werden.
Dann habe ich mal die Reichweite getestet. Geht nur ein paar Meter. In der Küche mit einer Wand geht es schon nicht mehr. Und in der Stube geht es auch nicht in jeder Ecke.
So, jetzt noch in Fhem integrieren mit:
define iPhone5_Bluetooth PRESENCE local-bluetooth XX:D1:CB:E9:33:XX 10 60
(10 = check interval, alle 10s nach Gerät suchen mit ping ,
60 = present check interval, alle 60s nach Gerät suchen wenn vorhanden)
Nach einem reread wird es auch wie erwartet angezeigt:
Unter state wir die Erreichbarkeit angezeigt mit present und wenn es nicht in Reichweite ist mit absent.
Welcher Bluetooth Dongel hat die Beste Reichweite und ist günstig? Wie setzt ihr Bluethooth ein?
Wie können eigene Menüeinträge im Fhem-Server auf einen Raspberry Pi und andere Plattformen erstellt werden?
Wenn man in der Fhem-Web-Gui eigene Menüeinträge auf der linken Seite erzeugen will, wie hier z.B. gezeigt
brauch man nur in der fhem.cfg folgende Zeile erstellen (alles in einer Zeile):
1 2 |
attr WEB menuEntries restart,cmd=shutdown+restart,update,cmd=update,updatecheck, cmd=update+check,reloadMyUtils,cmd=reload+99_myUtils.pm |
Dann einmal die Konfigurantion neu einlesen mit rereadcfg und schon sind die definierten Menüpunkte vorhanden.
Welche Menüpunkte habt ihr erstellt?
Wie wird der Speicher des Raspberry Pi für die Nutzung ohne Monitor (mit SSH) optimiert?
Der Raspberry Pi (Model B) hat 512 MB RAM die sowohl die CPU als auch die GPU benutzen können. Default wird der RAM Speicher zwischen CPU und GPU mit 448 MB zu 64 MB aufgeteilt. Das kann noch optimiert werden wenn z.B. kein Monitor verwendet wird und nur mit SSH gearbeitet wird.
Nach Aufruf von
sudo raspi-config
zum Menüpunkt 8 Advanced Options gehen und Select wählen.
Dann unter A3 Memory Split und Select
Dann im Textfeld eingeben, wieviele MB vom Speicher der Grafikkarte zugewiesen werden sollen. Der minimale Wert von 16 erlaubt der CPU 496 MB Speicher zu benutzen.
So hat der rPi ca. 50 MB mehr zur Verfügung wie das SYSMON Plugin von Fhem zeigt:
und nachher
Den Anstieg des RAMs ist auch im Diagramm gut sichtbar
Wenn die Einstellung ohne raspi-config gemacht werden soll, kann auch die /boot/config.txt Datei auf gpu_mem=16 gesetzt werden. Nach reeboot stehen die neuen Einstellungen bereit.
Kennt ihr noch weitere Optimierungen?
Wie kann ein laufender Raspberry Pi ein backup seiner eigenen SD-Karte anfertigen?
Wenn an dem rPi ein USB-Stick angeschlossen ist kann ein backup der SD-Karte auf den USB-Stick angefertigt werden mit:
sudo dd if=/dev/mmcblk0 of=/media/usb1/backup/rp-sicherung.img bs=1MB
Das ganze dauert bei mir, mit einem ext4
formatierten 32GB-Stick (USB 3.0) ca. 12 min:
Das kann auch durch ein script automatisch ausgeführt werden. Das werde ich bei Gelegenheit mal ausprobieren. Oder habt ihr eine andere bzw. bessere Lösung bzw. script? Dann bitte URL oder Script hier posten.
Wie können Benachrichtigungen (notifications) von einem Fhem-Server unter Raspberry Pi an iOS (iPhone, iPad) und Android mit Pushover versendet werden?
Wie können Benachrichtigungen von einem Fhem-Server unter Raspberry Pi und auch anderen Programmiersprachen (Bash, Perl, PHP, Web…) an ein Handy versendet werden. Z.B. will man benachrichtigt werden wenn die Tür geöffnet wird oder wenn der Speicherplatz auf dem Rechner voll ist. Oder wenn die Temperatur unter 0 Grad ist oder oder…
Das geht mit Pushover. Es wird die kostenplichtige App (ein paar Euro) einmalig benötigt, und dann kann man diese REST-API kostenlos nutzen:
In Fhem in der fhem.cfg kann dann ein Eintrag erstellt werden, der z.B. täglich um 18 Uhr eine Nachricht versenden, wenn die Batterie von einem Gerät (hier Pulse von Withings) kleiner als 50 Prozent der Accu-Ladung ist. Versendete Nachrichten kommen innerhalb von wenigen Sekunden auf den Mobilen Geräten an. Es könnte also auch leicht alle 10 Sekunden abgefragt werden.
Es muss auf der Pushover-Seite nach der Anmeldung eine Application angelegt werden. Von der Seite erhält man dann auch den API-Token und auf der Hauptseite den User-Key. Die müssen hier ersetzt werden:
define pushPulseAccuStand at *18:00:00 {\
my $temp=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($temp < 50){\
system ("curl -s -F 'token=--API-TOKEN' -F 'user=--USER-KEY---' -F 'message=Accu von Pulse beträgt: $temp.' -F 'title=Fhem: Accu Status zu Pulse' http://api.pushover.net/1/messages.json");;}\
}
Es gibt nun auch ein Fhem Modul, was die Nutzung mir dem Pushover Service vereinfacht.
Es muss nun kein curl mehr verwendet werden. Es reicht ein zwei Zeiler.
Erst das Device definieren und dann die Befehle absetzen. Z.B. täglich um 12 Uhr eine Nachricht senden "Pulse laden":
define Pushover1 Pushover TOKEN KEY
define at_Push at *12:00 set Pushover1 msg 'Titel' 'Pulse laden' '' 0 ''
Oder täglich um 12 Uhr Accu Warnung wenn kleiner als 70% Ladung:
define pushPulseAccuStandPulse at *12:00:00 {\
my $accu=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($accu < 70){\
set Pushover1 msg 'Titel' 'Pulse laden, da nur noch $accu Prozent.' '' 0 ''\
}\
}
Habt ihr noch weitere Anwendungsgebiete? Dann bitte als Kommentar.
Wie können die Daten von einer Withings Waage und Pulse mit einem Fhem-Server auf einem Raspberry Pi ausgelesen werden?
Dafür gibt es ein fertiges Modul in Fhem. Es müssen nur die zwei Zeilen mit den device, userid und publickey aus der Web-Oberfläche von Withings (alt)
define withings withings [device]
define withings> withings [userid] [publickey]
in der fhem.cfg ergänzt werden und ein restart des Fhem-Servers durchgeführt werden.
Dann kamm es bei mir zu folgender Fehlermeldung:
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/32_withings.pm line 9, <> line 3.
BEGIN failed--compilation aborted at ./FHEM/32_withings.pm line 9, <> line 3.
An der Fehlermeldung kann man erkennen das JSON für Perl auf den Rasperry Pi nicht installiert war.
In der Modulbeschreibung steht auch das „JSON, LWP::Simple and Digest::MD5 have to be installed on the FHEM host“. Also noch ein paar Module neu installieren mit
sudo apt-get install libjson-perl libdigest-md5-file-perl liblwp-protocol-https-perl liblwp-protocol-http-socketunix-perl
auf der Konsole. Nach einem Restart, super es wird mein Gewicht angezeigt 🙁
Wie bekomme ich diese Gewichts-Daten nun in ein schönes Diagramm? Hat schon jemand eine passende gplot Datei? Dann bitte hier posten.
Wie wird auf dem Raspberry Pi der Fhem-Server in 15 min. installiert?
Der Fhem-Server läuft bei mir unter OpenWrt. Nun möchte ich in auf einem Raspberry Pi neu installieren. Vorbedingung ist ein laufender rPi unter Debian wheezy.
Zu erste Perl und einig libs installieren. Dann das Debian Package (8,8 MB) von der Fhem Seite runterladen und installieren. Zu guter letzt die Berechtigungen setzen.
1 2 3 4 5 6 7 8 9 |
mkdir download cd download sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl wget http://fhem.de/fhem-5.7.deb sudo dpkg -i fhem-5.7.deb cd /opt sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem cd ~ ln -s /opt/fhem/ fhem |
Nach eingabe der URL http://[ip-vom-rpi]:8083 wird man mit der GUI des Fhem-Servers begrüßt:
Dann noch ein in dem Browser-Eingabe von Fhem oben, ein update und restart eingeben um den Fhem-Server auf dem neuesten Stand zu bringen.
Fhem kann auf der Konsole mit folgenden Befehlen gestartet oder gestopt werden. Auch der jeweilige Status kann abgefragt werden.
1 2 3 |
sudo /etc/init.d/fhem start sudo /etc/init.d/fhem stop sudo /etc/init.d/fhem status |
Wie kann auf einem Raspberry Pi ein Sicherheits und Spam-Schutz als IDS „fail2ban“ installiert werden?
Das ist auf der Konsole des rPi nach der Aktualisierung des Systems mit einem Befehl getan:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install fail2ban |
Weitere Infos zu fail2ban gibt es im MANUAL oder auf der Seite von Sergej Müller.
Hier noch eine Mindmaps, mit den Abhängigkeiten von fail2ban auf Debian von links nach rechts:
Oder noch eine zentrierte Mindmap:
Hast Du noch weitere Infos zu diesem Thema? Welche der drei Mindmaps gefällt Dir am Besten?
Wie kann die installierte Version auf dem Raspberry Pi angezeigt werden?
Manchmal will man wissen welche Linux Version auf dem Raspberry Pi installiert ist. Es gibt mehrere Möglichkeiten diese auszulesen. Über die Konsole mit diesen vier Möglichkeiten:
cat /proc/version
uname -a
cat /etc/issue
# nur bei Debian
cat /etc/debian_version
Oder hier eine Möglichkeit über Webmin (https://IP:10000/):
Kennt ihr noch weitere?
Was kann getan werden, wenn die NTP-Zeitsynchronisation (Atomzeit) auf dem Raspberry Pi mit ntpdate not found fehlschlägt?
Wenn in der default Konfiguration die Zeitzone mit NTP automatisch abgeglichen werden soll, kommt es beim aufrufen von Webmin (https://IP:10000/)
beim setzen des NTP-Servers (Atomzeit Physikalisch-Technische Bundesanstalt (PTB), Braunschweig, Germany , Hostname: ptbtime2.ptb.de ) zum Fehler: ntpdate: not found.
Es muss das fehlende ntpdate Paket installiert werden. Das geht über die Konsole wie folgt:
sudo apt-get update
sudo apt-get install ntpdate
Wie können von einem Raspberry Pi Dateien in die Dropbox per Kommandozeile hochgeladen bez. gelöscht werden?
Es können leicht Daten vom Raspberry Pi von und nach Dropbox geschoben werden. So hat man seine Daten überall gleich.
Es gibt da ein super Script auf Github von Andrea Fabrizi
Es kann wie folgt installiert werden:
1 2 3 4 5 |
sudo apt-get install git-core cd /pi/home git clone https://github.com/andreafabrizi/Dropbox-Uploader.git cd Dropbox-Uploader ./dropbox_uploader.sh |
Dann auf Dropbox (mit vorhandenen Account und angemeldet)
https://www2.dropbox.com/developers/apps
gehen und eine App anlegen mit „Create App“ -> „Dropbox API app“ –> „Files and datstores“ –> Wichtig nur Zugriff auf das App Verzeichnis erlauben und einen „App Name“ eingeben.
Dann die App key und App secrect in das Script kopieren. Bei der Frage „Permission type, App folder or Full Dropbox [a/f]:“ a
Dann noch einmal: y
Die dann erscheinende URL in einem Browser kopieren und bestätigen. Dann auf Enter und das Script ist mit „Setup completed!“ erfolgreich beendet.
Ein kurzer Test mit im Dropbox-Uploader Verzeichnis
1 2 3 4 5 |
~/Dropbox-Uploader $ ./dropbox_uploader.sh <strong>list</strong> </code> listet alle Dateien im Verzeichnis auf. Da noch keine vorhanden sind, kommt <code> > Listing "/"... DONE |
So dann noch mal testen ob das hochladen läuft, wir laden mal die Readme Datei hoch und anschließend ein list:
Super, es klappt.
Nun noch mal die Version ausgeben mit:
1 |
./dropbox_uploader.sh info |
Ausgabe:
Dropbox Uploader v0.14
…
Weitere Befehlt unter Usage.
Wie kann Webmin auf einem Raspberry Pi installiert werden?
Für die Fernwartung des rPi eignet sich Webmin. Damit kann fast alles über den Browser eingestellt werden.
1 2 3 4 |
sudo apt-get update sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl python libapt-pkg-perl apt-show-versions sudo wget http://prdownloads.sourceforge.net/webadmin/webmin_1.700_all.deb sudo dpkg --install webmin_1.700_all.deb |
Evl. gibte es auch schon eine neuere Version von Webmin.
Nach einigen Minuten warten, steht nach einen Aufruf im Browser von
https://Server_IP:10000
der Statusmonitor von Webmin bereit, nachdem die Anmeldung mit root mit Passwort eingegeben wurde:
Welche Einstellung findet ihr nützlich?
Wie können E-Mails vom Raspberry Pi (rPi) inklusive Anhang mit mutt (nSMPT) versendet werden?
E-Mails vom Raspberry Pi aus versende geht wie schon für den WR703N beschrieben. Ist halt auch Linux.
Also hier noch einmal kurz zusammengefasst, die Installation für den Raspberry Pi mit zusätzlichem Beispiel für das versenden einer E-Mail via mutt inkl. Dateianhang. Vorraussetzung ist eine Raspberry 2014-09-09-wheezy-raspbian.zip installation.
Dann das System updaten und einige Tools installieren mit
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install mutt msmtp ssmtp nano mailutils mpack ca-certificates apt-show-versions |
Es sind dann folgende Versionen nach ein paar Minuten installiert:
1 2 3 4 5 6 7 8 9 10 |
apt-show-versions mutt msmtp ssmtp nano mailutils mpack ca-certificates apt-show-versions # Ergebnis: apt-show-versions/wheezy uptodate 0.20 ca-certificates/wheezy uptodate 20130119 mailutils/wheezy uptodate 1:2.99.97-3 mpack/wheezy uptodate 1.6-8 msmtp/wheezy uptodate 1.4.28-1 mutt/wheezy uptodate 1.5.21-6.2+deb7u2 nano/wheezy uptodate 2.2.6-1 ssmtp/wheezy uptodate 2.64-7 |
Dann die drei Dateien wie in beschrieben anpassen:
1 2 3 |
sudo vi /etc/msmtprc sudo vi /etc/ssmtp/ssmtp.conf sudo vi /etc/ssmtp/revaliases |
Wenn alles konfiguriert ist, können E-Mails mit Anhang über mutt
wie folgt versendet werden:
1 |
mutt -s "Test E-Mail mit Anhang einer Datei" test@email.de -a beispiel-anhang.txt |
Nach Enter öffnet sich ein Eingabefeld für die Empfänger E-Mail (to). Bestätigen mit Enter oder anpassen. Dann kommt das Betreff (subject). Weiter mit Enter oder anpassen. Dann öffnet sich der default Editor (nano 2.2.6 oder vi) dort kann der Text der E-Mail eingegeben werden. Speichern (ctrl und O) und Beenden (ctrl und X). Es öffnet sich das mutt Fenster und y zum versenden der E-Mail mit Anhang drücken.
Schon wird die E-Mail versendet.
Oder ohne den mutt
Dialog
1 |
mutt -s "Test E-Mail mit Anhang" test@email.de -a beispiel-anhang.txt <. |
versendet die E-Mail sofort nach Enter.
So lief es zumindestens auf einen Raspbeery Pi mit einem älteren Debian. Bei dieser aktuellen Version bekomme ich immer diesen Fehler mit mutt
:
*** glibc detected *** sendmail: munmap_chunk(): invalid pointer: 0x0141153f ***
Da habe ich auch noch keine Lösung für gefunden. [UPDATE 1.11.2014] Habe den Fehler jetzt gefunden. In der Datei /etc/ssmtp/smtp.conf
hatte ich unter rewriteDomain den Username hinzugefügt (rewriteDomain=username@wenzlaff.de) richtig ist aber nur der Domain Name z.B. rewriteDomain=wenzlaff.de. Damit läuft es nun super. [/UPDATE]
Habe es deshalb wie hier beschrieben mit einem nSMTP Client versucht. D.h. erstellen von /etc/msmtprc
und (optional) .msmtprc
.
Damit läuft das versenden von E-Mails erst einmal.
Hier die Config-Dateien für Strato:
Eine globale /etc/msmtprc
Datei, wird gelesen wenn keine im Userverzeichnis vorhanden ist.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# /etc/msmtprc account default host smtp.strato.de port 587 auth on user email@test.de password HIER DAS PASSWORT auto_from on from email@test.de tls on tls_starttls on tls_certcheck off logfile syslog LOG_MAIL |
Die .msmtprc überschreibt die globale /etc/msmtprc
Datei wenn vorhanden (optional).
1 2 3 4 5 6 7 8 9 10 11 12 |
# .msmtprc account default host smtp.strato.de from email@test.de auth on port 587 user email@test.de password HIER DAS PASSWORT logfile ~/.msmtp.log tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt |
Wenn die .msmtprc vorhanden ist, muss sie dem User gehören und darf nur für den User schreib und lesbar sein. Ein ls-la
muss so aussehen
-rw------- 1 pi pi 479 Oct 13 22:53 .msmtprc
Also evl. noch anpassen:
1 2 3 |
sudo chown pi:pi .msmtprc sudo chmod o-r .msmtprc sudo chmod g-r .msmtprc |
Testen des E-Mail versand mit:
1 |
echo -e "Subject: Test E-Mail vom rPi\r\n\r\nEine Test E-Mail" |msmtp --debug --from=default -t email@test.de |
Ergebnis Auszug:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
loaded system configuration file /etc/msmtprc loaded user configuration file /home/pi/.msmtprc falling back to default account using account default from /home/pi/.msmtprc host = smtp.strato.de port = 587 timeout = off protocol = smtp domain = localhost auth = choose user = E-Mail des Users password = * passwordeval = (not set) ntlmdomain = (not set) tls = on tls_starttls = on tls_trust_file = /etc/ssl/certs/ca-certificates.crt tls_crl_file = (not set) tls_fingerprint = (not set) tls_key_file = (not set) tls_cert_file = (not set) tls_certcheck = on tls_force_sslv3 = off tls_min_dh_prime_bits = (not set) tls_priorities = (not set) auto_from = off maildomain = (not set) from = default dsn_notify = (not set) dsn_return = (not set) keepbcc = off logfile = /home/pi/.msmtp.log syslog = (not set) aliases = (not set) reading recipients from the command line and the mail ... STARTTLS 220 Ready to start TLS TLS certificate information: Owner: Common Name: smtp.strato.de Organization: Strato AG Organizational unit: Rechenzentrum Locality: Berlin State or Province: Berlin Country: DE Issuer: Common Name: TeleSec ServerPass DE-2 Organization: T-Systems International GmbH Organizational unit: T-Systems Trust Center Locality: Netphen State or Province: Nordrhein Westfalen Country: DE Validity: Activation time: Wed 16 Apr 2014 18:08:38 CEST Expiration time: Wed 22 Apr 2015 01:59:59 CEST Fingerprints: SHA1: D1:B3:59:F7:46:D2:9D:AB:CF:4B:B2:8E:64:99:D5:64:94:CD:19:27 MD5: 3C:8B:C2:5F:9A:5C:43:6C:46:56:C6:CC:FB:AF:30:1F EHLO localhost ... MAIL FROM:<default> RCPT TO:<Empfänger E-mail> DATA 250 2.1.0 Sender ok 250 2.1.5 <Absender E-mail> Recipient ok 354 Enter data for mail with id xxxxxxxxxx Subject: Test E-Mail vom rPi Eine Test E-Mail . 250 2.0.0 queued as xxxx QUIT 221 2.0.0 closing connection |
Habt ihr noch andere Alternativen oder ein Lösung warum mutt nich läuft? Dann hier als Kommentar posten.