htop ist auch auf dem 703N schnell installiert und läßt sich einfach mit der Maus oder Tastatur bedienen. Einfach auf der Konsole:
opkg install htop
eingeben und dann ist htop schon installiert. Aufruf dann mit htop gibt solch eine schöne GUI:
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles was mit Hardware zu tun hat.
Multi-WAN erlaubt es, mehrere ISP-Verbindungen gleichzeitig oder als Ersatzverbindung beim Ausfall der Hauptverbindung zu verwenden.
Multiwan kann über Luci einfach installiert werden. In der System-Paketverwaltung als Filter multiwan eingeben und das Paket luci-app-multiwan installieren.
Nach der Installation gibt es den neuen Reiter Netzwerk – Multi-WAN in der Luci GUI:
Wer noch nichts zum Thema Multi-Wan gehört hat, kann sich diese spannende Anleitung anschauen:
Habe gestern den TP-WR703N so configuriert, das ich selbst nicht mehr über SSH zugreifen konnte. Deshalb wie hier im Blog beschrieben, habe ich das Teil über den Seriellen Port neu geflasht. Dazu hatte ich schon mal in den 703 eine USB-Buchse für die Seriellen Kontakte eingebaut. Siehe dieses Foto:
Habe in der Bastelkist einen USB to Serial Adapter PL-2303 gefunden, denn ich vor längerer Zeit mal in China bestellt hatte. So sieht das Teil aus:
Das Flashen habe ich unter Windows XP gemacht. Dazu musste ich erst noch einen Treiber installieren den habe ich im Internet gefunden (ZIP).
Dann mit Putty über den COM Port an den TP-WR703N hängen.
Dazu brauchte ich noch ein USB Kabel, das ich zweckentfremdet habe. Auf der einen Seite ist der USB Stecker und auf der anderen Seite habe ich 4 Buchsen angelötet (eher geklebt ;-)). Die Anschlussbelegung kann der CAD Grafik entnommen werden:
Und noch etwas mit roten Isolierband verpacken:
Am PL-2303 habe ich den 1. Pin an GND (Masse = schwarz), den 2. Pin Data+ (grün – grau) und den 3. Pin an Data- (weiß) gelegt. Den 4. und 5. Pin habe ich nicht verwendet bzw. beschaltet. Der 4. Pin könnte für +5 Volt (rot -lila) verwendet werden. Hier noch mal als CAD Grafik:
Klappte alles auf Anhieb. Fragen?
Wer die neue Node.js v0.10.29 braucht, muss sie selbst compilieren, oder etwas warten bis die binaries hier auch vorhanden sind.
Dazu erst mal das System aktualisieren.
sudo apt-get update && sudo apt-get upgrade
Dann noch die neueste Firmware installieren mit:
Ein reboot ist noch nötig:
sudo reboot
Jetzt kann es losgehen mit der Installation der nötigen Pakete (ca. 84 MB):
sudo apt-get install git-core build-essential python libssl-dev nano screen
Nun das Node.js Repo nach /opt clonen und die aktuellste Version auschecken:
cd /opt
sudo git clone https://github.com/joyent/node.git
cd node
Ergebnis:
Nun die gewünschte Version auschecken mit:
sudo git checkout v0.10.29
Ergebnis:
Nun starten wir das Tool screen mit:
screen
damit beim beenden der SSH Session, der Prozess weiter läuft.
Und nun compilieren wir wie in https://github.com/joyent/node beschrieben mit:
sudo ./configure
sudo make
sudo make install
Das dauert dann so ca. 2-4 Stunden.
Wir können das Terminal Fenster schließen und mit
screen -r
wieder jederzeit die Session aufnehmen.
Nun noch den Pfad in der ~/.profile Datei ergänzen mit:
nano ~/.profile
export PATH=$PATH:/opt/node
Checken ob node installiert wurde mit
node --version
Ergebnis:
Oder das Testportfolio mit 601 Test ausführen (Laufzeit bei mir 22 Minuten) mit:
sudo make test
Ein Fehler, das ist nicht so schlimmm 😉 Rest läuft ja.
Dann evl. noch die Dokumentation erstellen, mit
sudo make doc
nach ein paar Minuten kann z.B. mit
man doc/node.1
Oder ein kleines Hallo Welt Beispiel. Die node Konsole aufrufen mit node
und console.log("Hallo Welt")
eingeben:
Nun viel Spaß mit Node.js.
Die Wetterstation Square Plus TFA 35.1121.IT besteht aus einem Hauptgerät (Betriebsanleitung):
und einem Aussensensor für Temperatur und Luftfeuchte, so sieht er von vorne aus:
und so von hinten:
Diese Wetterstation tauscht die Daten von dem Aussensensor zum Innensensor nach dem La Crosse Protokoll auf 868 MHz aus. Diese Daten können auch von einem JeeLink empfangen werden und in Fhem dargestellt werden.
Wie hier schon ausführlich beschrieben, denn LaCrosselTPlusReader10.ino Sketch auf den JeeLink laden.
Die Fhem Referenz gibt Infos zu LaCrosse.
[LOGFILE]
attr myJeeLink room CUL
Automatisch wird dann folgendes erkannt. Dazu vom Aussensensor die Batterien entfernen und in Fhem, für 120 Sekunden den Empfang anschalten mit klick auf set
und dann die Batterien wieder einsetzen. Wenn alles erfolgreich gelaufen ist, sind folgende Einträge in der fhem.cfg Datei zu finden:
# Aussensensor Temp und Feuchte Sensor über JeeLink
define LaCrosse_08 LaCrosse 08
attr LaCrosse_08 IODev myJeeLink
attr LaCrosse_08 room Terrasse
define FileLog_LaCrosse_08 FileLog ./log/LaCrosse_08-%Y.log LaCrosse_08
attr FileLog_LaCrosse_08 logtype text
attr FileLog_LaCrosse_08 room Terrasse
Ein passendes Diagramm, das schön den Verlauf der Temperatur und der Luftfeuchte zeigt, könnte so aussehen:
Leider werden die Daten dieser Innenstation nicht versendet und können somit auch nicht von Fhem empfangen werden. Das währe das Optimum, so hätte man dann alle Werte auch in Fhem. Das währe dann die Eierlegende Wollmilchsau.
Als ich diesen Beitrag gelesen hatte, hatte ich Lust, auch mal was mit Firmata zu machen. Mit dem Firmata Protokoll kann man einfach auf alle Ein und Ausgänge zugreifen ohne ein eigenes Protokoll zu entwickeln.
Also einen Arduino Nano aus der Bastelkiste geholt und ihn mit dem Firmata Standard Sketch geflasht. Das wird ja ganz gut in dieser Anleitung beschrieben.
Also über die Arduino IDE den Standard Firmata flashen:
Im JeeLink ist der Demo Version 5 Sketch wie schon mal hier beschrieben.
Wie hier beschrieben, kann der JeeLink mit neuen Sketchen für PCA301, Lacrosse, Energy Count 3000, JeeLabs RoomNode und anderen geflasht werden.
Dazu die 36_LaCrosse-LaCrosseITPlusReader.zip
und die master.zip laden.
Beide in ein Verzeichnis ohne Sonderzeichen auspacken. Also das Verzeichnis jeelib-master in jeelibmaster umbenennen. Sonst kommt es zu Fehlern. Hier mal die Verzeichnisstruktur: „Wie kann der JeeLink (=JeeNode) mit neuen Sketch für Fhem auf den Raspberry Pi geflasht werden?“ weiterlesen
In diesem Beitrag hatte ich schon beschrieben, wie ich eine alte Logitech QuickCam am rPi zum laufen bringen wollte.
Habe nun die gleiche „Logitech QuickCam“ nun mal an einem neuen und aktuellen „jessie“ System ausprobiert.
Es musste da das fswebcam nicht manuell installiert werden, da „jessie“ schon die aktuellste Version enthält.
Aber, gleicher Fehler.
Dann einmal
sudo raspi-config
aufgerufen und dort die camera angeschaltet unter Punkt 5.
Dann, oh Wunder, wurde ein Foto erstellt 🙂
Das Foto noch auf den Mac kopieren mit:
scp pi@{Raspberry-Pi-Adresse}:/home/pi/test.jpg .
vom Mac aus. Und das test.jpg bewundern:
Was habe ich da fotografiert, das ist auch die Frage des Monats. „Wie wird eine Logitech QuickCam, an einem Raspberry Pi mit #jessie und #fswebcam zum laufen gebracht?“ weiterlesen
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.
Hier nun die 2. Version im Gegensatz zu Version 1.
Ist die nun deutlicher?
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
Es gibt eine avahi-browse, mit dem kann auf einem Raspberry Pi alle Services im lokalen Netz angezeigt werden. Über Avahi gibt ein Rechner seine Präsenz und seine angebotenen Dienste im lokalen Netzwerk bekannt. Dazu muss Avahi nicht konfiguriert werden, es funktioniert “Out-of-the-box”. Und keine Angst, Avahi ignoriert sämtlichen Traffic, der nicht aus dem eigenen LAN kommt.
Dazu die avahi-utils installieren mit:
sudo apt-get install avahi-utils
Dann kann mit
avahi-browse -at
die Liste aller im LAN registrierten Services auf der Konsole ausgegeben werden.
Will man nur die Domänen anzeigen, geht das mit:
avahi-browse -Dt
Eine ganz ausführliche Liste mit aufgelösten IP usw. gibt es mit
avahi-browse -art
Weitere Parameter zu dem avahi-browse können mit
man avahi-browse
ausgegeben werden. Hier eine Mindmap zu dem Thema:
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ß
Account auf jabber.de anmelden.
Evl. noch einen Jabber Client installieren um den Account zu testen. Für Mac z.B. adium.im verwenden. Dann auf der Kommandozeile im rPi ein paar Module installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libnet-jabber-perl libnet-xmpp-perl libxml-stream-perl libauthen-sasl-perl libnet-ssleay-perl libnet-jabber-bot-perl libdigest-sha-perl
In der fhem.cfg folgende Zeile eintragen:
(Achtung, den Username in der define Zeile ohne @jabber.de angeben)
define Jabber_Client Jabber jabber.de 5222 JABBERUSER PASSWORT 1 0
attr Jabber_Client OnlineStatus available
attr Jabber_Client PollTimer 2
attr Jabber_Client RecvWhitelist JABBERUSER@jabber.de
attr Jabber_Client ResourceName FHEM
attr Jabber_Client userReadings 1
attr Jabber_Client room Jabber
Details zu den Parametern sind in der Fhem commandref zu finden.
Speichern und restart von FHEM. Im Raum Jabber schauen:
Dann in der Kommandozeile von Fhem z.B.:
set Jabber_Client msg JABBERUSER@jabber.de Hallo Fhem Welt!
Habe ich noch was vergessen? Weiter Tips?
Das folgende Diagramm sollte eher die Funktion der CUPS Drucklösung auf dem Raspberry Pi darstellen.
Ist aber kein gültiges bzw. valides BPMN 2.0 Diagramm. Wenn das Diagramm validiert wird, gibt es folgende 8 Fehlermeldungen und 4 Warnungen. Wenn schon BPMN 2.0 Standard verwendet werden soll, dann sollte es auch valide sein.
Deshalb hier der 1. Versuch der valide ist:
Bei Gelegenheit kommt noch eine Version mit Swimlane. Oder habt Ihr einen anderen Vorschlag?
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:
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? 😉
Wollte schon immer einen eigenen LDAP-Server haben. Da es heute regnet, habe ich mir einen mal auf dem Raspberry Pi eingerichtet. Hier gibt es eine gute Anleitung (auf englisch) zum installieren eines Ldap Servers. Analog dazu habe ich mal eine Anleitung zum openLDAP in deutsch angelegt. Erste mal eine Mindmap zum Thema:
Kurz ist folgende nötig (BPMN 2.0):
„Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?“ weiterlesen
Folgende 24/7 Drucklösung wird hier beschrieben.
Es können alle Dateien die in einem Dropbox Verzeichnis kopiert werden, automatisch in PDF-Dateien umgewandelt werden. Diese PDF Dateien werden in ein weiteres Dropbox Verzeichnis bereitgestellt. So ist über Dropbox ein platformübergreifender Zugriff möglich. Einfach die zu druckenden Dateien in das Verzeichnis kopieren. Der Drucker muss dazu nicht an sein.
Auch können mit dieser Lösung über iPhone, iPad… Dokumente über AirPrint gedruckt werden auch wenn der Drucker nicht AirPrint-Fähig ist. Das läuft über den CUPS-Server.
Der Drucker muss nicht immer an sein, da der Druckvorgang im Spooler des Raspberry Pi landet. Wenn der Drucker angeschaltet wird, werden die Dokumente gedruckt. Es ist rund um die Uhr ein Drucker erreichbar.
Es werden also PDF Dateien erzeugt und es wird der angeschlossene Drucker über CUPS „normal“ verwendet. Das heißt es kann von jedem Gerät, auch iPhone und iPad gedruckt werden!
Was ist dafür zu tun?
Zuerst mal ein Überblick.:
Eine valide BMPN 2.0 Version ist hier zu finden.
„Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?“ weiterlesen
Beim Anmelden mit SSH auf den Raspberry Pi wird jedes mal diese Meldung ausgegeben.
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Die habe ich gelöscht und durch eine für mich sinnvolle Bezeichnung welches Gerät es ist angepasst. So kann ich beim anmelden leichter sehen, mit welchem Gerät ich mich verbunden haben. Dazu einfach mit
1 |
sudo nano /etc/motd |
die Datei wie gewünscht bearbeiten.
Ich habe da z.B. nur
Raspberry Pi Testgerät
oder für mein Produktionssever
Raspberry Pi PROD (FHEM, CUPS-Druckserver, Mail)
drinnen. So sieht man den Baum im Wald!