Eclipse kann auch in 45 Sprachen und auch auf deutsch umgestellt werden. Es gibt da ein Projekt Babel Language Packs. Habe es mal testweise auf deutsch umgestellt.
Ist in deutsch zu 89 % übersetzt.
Nach restart einmal schauen, und dann gleich wieder zurück auf englisch 😉
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.
JavaFX TOP 11 Neuerungen ggü. Swing Mindmap
Neue FritzBox Firmware 6.05 (eher Bug fix als Neue Features)
Es gibt eine neue Firmware für die FritzBox, mit diesen Angaben vom Hersteller:
Die Update-Datei "FRITZ.Box_7490.113.xx.xx.image" in
diesem Verzeichnis enthält das aktuelle FRITZ!OS (Firmware)
für die FRITZ!Box 7490.
Achtung: Diese Update-Datei ist nur für FRITZ!Box 7490 geeignet!
Beachten Sie die Hinweise zur Durchführung des Updates am Ende dieser Datei.
Produkt: FRITZ!Box 7490
Version: FRITZ!OS 6.05 (113.06.05)
Sprache: deutsch
Release-Datum: 06.03.2014
Neue Features: - Verbesserungen für DSL, Internet, WLAN, Telefonie, Sytem, Mediaserver und USB (6.05)
Version: FRITZ!OS 6.05 (113.06.05)
Sprache: deutsch
Release-Datum: 06.03.2014
Neue Features: - Verbesserungen für DSL, Internet, WLAN, Telefonie, Sytem, Mediaserver und USB (6.05)
Installation hat super geklappt.
Sieht aber eher nach einem Bugfix, als nach neuen Features aus.
TOP 10 Java 8 Mindmap oder was gibt es Neues in Java 8?
Wie kann mit dem Mac OS X unter Eclipse ein JavaFX Programm erstellt werden, da Swing in Java 8 deprecated ist?
Es muss die JavaFX lib dem Classpath hinzugefügt werden. Die liegt auf dem Mac unter:
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/jfxrt.jar
Dann z.B. ein Klasse von javafx.application.Application ableiten und die start Methode überschreiben. Wir wollen nur einen Button anzeigen, der seinen Text bei klick ändert. Hier der ganze JavaFX Code:
package de.wenzlaff;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
// Classpath um JavaFX jfxrt.jar ergänzen, es liegt in:
// /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/jfxrt.jar
public class StartFxGui extends Application {
private Button button;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
button = new Button("Mein erstes JavaFX Programm!");
button.setOnAction(new EventHandler
@Override
public void handle(ActionEvent arg0) {
button.setText("cool");
}
});
VBox root = new VBox();
root.getChildren().add(button);
Scene scene = new Scene(root, 200, 200);
stage.setScene(scene);
stage.show();
}
}
Wie kann das blinken der LED am CUL abgeschaltet und damit Strom gespart werden?
Wer einen CUL am Raspberry Pi hat wo Fhem läuft, den nervt evl. das blinken der LED.
Das kann aber mit dem folgenden Befehl abgeschaltet werden:
set myCUL led 00
Also mit zweimal 00 und dann auf set klicken:

Man kann die LED auch wieder an oder auf blinken schalten mit:
aus 00
an 01
blinken 02
So kann man auch Strom sparen, immerhin 20 mA ;-). Das macht im Jahr wieviel?
Wie kann ich den die LEDs am rPi ausschalten?
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?
Mit Mac OS X Maverick einen CUL CC1101 868Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden
Der CUL-V3-OEM CC1101 für 868 Mhz von Busware mit fester lambda/4 Mikroantenne wird ohne Firmware geliefert. CUL V3 – ATMega32U4 Prozessor, 2,5 kB RAM, 32 kB Flashmemory, 1 kByte EEPROM, Herstellungs Video):

Zuerst muss also der CUL mit einer aktuellen Firmware geflasht werden, so wie
hier für Mac OS X beschrieben. Also die aktuelle culfw 1.55 Firmware oder neuer laden und in ein Verzeichnis entpacken.
Dann brauchen wir noch das Programm zum flashen der Firmware, welches wir mit
sudo port install dfu-programmer
auf der Konsole installieren können.
Testen ob der Programmer richtig installiert wurde geht mit
$ dfu-programmer
Ausgabe: „Mit Mac OS X Maverick einen CUL CC1101 868Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden“ weiterlesen
Eclipse (altgr. ἔκλειψη ‚Sonnenfinsternis‘, ‚Finsternis‘, ‚Verdunkelung‘) vs. Neumond lat. interlunium
Wer wissen will, wann Neumond bzw. Vollmond ist, kann die Daten von -2000 bis in das Jahr 4000 auf den Tabellen der NASA nachschlagen.
Z.b. im Jahr 2014:
|
1 2 3 4 5 6 7 8 |
Year New Moon First Quarter Full Moon Last Quarter Jahr Neumond Vollmond 2014 Jan 1 11:14 Jan 8 03:39 Jan 16 04:52 Jan 24 05:19 Jan 30 21:39 Feb 6 19:22 Feb 14 23:53 Feb 22 17:15 Mar 1 08:00 Mar 8 13:27 Mar 16 17:09 Mar 24 01:46 Mar 30 18:45 Apr 7 08:31 Apr 15 07:42 t Apr 22 07:52 Apr 29 06:14 A May 7 03:15 May 14 19:16 May 21 12:59 |
und 2015
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Year New Moon First Quarter Full Moon Last Quarter Jahr Neumond Vollmond 2015 Jan 5 04:53 Jan 13 09:47 00h01m Jan 20 13:14 Jan 27 04:48 Feb 3 23:09 Feb 12 03:50 Feb 18 23:47 Feb 25 17:14 Mar 5 18:06 Mar 13 17:48 Mar 20 09:36 T Mar 27 07:43 Apr 4 12:06 p Apr 12 03:44 Apr 18 18:57 Apr 25 23:55 May 4 03:42 May 11 10:36 May 18 04:13 May 25 17:19 Jun 2 16:19 Jun 9 15:42 Jun 16 14:05 Jun 24 11:03 Jul 2 02:20 Jul 8 20:24 Jul 16 01:24 Jul 24 04:04 Jul 31 10:43 Aug 7 02:03 Aug 14 14:54 Aug 22 19:31 Aug 29 18:35 Sep 5 09:54 Sep 13 06:41 P Sep 21 08:59 Sep 28 02:50 t Oct 4 21:06 Oct 13 00:06 Oct 20 20:31 Oct 27 12:05 Nov 3 12:24 Nov 11 17:47 Nov 19 06:27 Nov 25 22:44 Dec 3 07:40 Dec 11 10:29 Dec 18 15:14 Dec 25 11:11 |
Die Daten sind da in UTC (koordinierte Weltzeit) angegeben. Für Deutschland muss dann zu den Zeitangabe noch zwei Stunden jeweils hinzugezählt werden. So das der Neumond 2014, der der Frühjahrs-Tagundnachtgleiche am nächsten kommt, auf den 30. März um 18:45+2= 20:45 Uhr fällt.
Der Neumond findet weltweit zum selben Zeitpunkt statt (der aber in verschiedenen Zeitzonen verschiedenen Ortszeiten entspricht).
Der neue Arduino-Clone ist heute eingetroffen: „Schokuino“ ( neue essbare Nanotechnologie )
Der neue Arduino-Clone „Schokuino“ wurde mir heute von den lieben Kollegen zum Abschied überreicht. Das Arduino-Logo mit den 2 x + gefällt mir auch besser als das Orginal. Welche CPU da wohl verbaut wurde? Bahlsen-CPU aus Hannover oder eine von Dauerbrot.de? Der Kuchen inkl. Leiterbahnen hat auch sehr lecker geschmeckt.
Da bleibt nach 7 Jahren kein Auge trocken 😉 Danke … keeping in touch …
Wie wird der JeeLink an einen Raspberry PI mit Fhem installiert bzw. eingebunden?
1. JeeLink in rPi USB stecken.
2. Checken ob er erkannt wurde mit lsusb in der Konsole.
Ausgabe:
...
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
...
3. Weitere Infos in der Boot-Log mit dmesg ausgeben.
Ausgabe:
...
[ 9.069977] usb 1-1.2: Detected FT232RL
[ 9.075480] usb 1-1.2: Number of endpoints 2
[ 9.109559] usb 1-1.2: Endpoint 1 MaxPacketSize 64
[ 9.115965] usb 1-1.2: Endpoint 2 MaxPacketSize 64
[ 9.156771] usb 1-1.2: Setting MaxPacketSize 64
[ 9.168775] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
...
An der Ausgabe kann der verbundenen Port erkannt werden ( hier /dev/ttyUSB0 ).
4. Den JeeLink in der fhem.cfg eintragen mit dem ermittelten Port:
define myJeeLink JeeLink /dev/ttyUSB0
In Fhem gibt es für den JeeLink eine Modul-Beschreibung.
Nachdem der Fhem-Server restartet wurde, ist der JeeLink vorhanden:

Details:

Und die Events werden ausgegben. Hier nur das allgemeine rauschen von irgendwelchen Sensoren die auf der 868 MHzFrequenz senden:

Unter Mac Maverick iOS 10.9.1 den Speicherort für Backups von iTunes für iPhone, iPad… von SSD auf Festplatte oder ähnlich verschieben
Zuerste den Backup Ordner lokalisieren, wo bisher die Backups gespeichert werden.
Das geht über das Menü: iTunes-Einstellungen-Geräte mit der Maus, dann eine Backup Datei in der Listbox selektieren und mit der Rechten-Maustaste im Kontextmenü „Im Finder Anzeigen“ wählen.
Unten den Pfad ablesen:
z.B.:
~/Library/Application Support/MobileSync/Backup

Dann iTunes schließen.
Alle backups aus den obigen Ordner in den neuen Ziel-Ordner auf die Festplatte verschieben
Neues Festplatten Verzeichnis anlegen z.B.:
mkdir /Volumes/Macintosh\ HD\ 2\ TB/iTunes/Backup
Den alten Ordner löschen:
rmdir ~/Library/Application Support/MobileSync/Backup
Dann einen Symbolischen-Link mit ln -s im Terminal erzeugen (Pfad anpassen).
Also z.B.:
ln -s /Volumes/Macintosh\ HD\ 2\ TB/iTunes/Backup ~/Library/Application\ Support/MobileSync/Backup
Nun kann iTunes wieder gestartet werden, und alle Backups werden jetzt immer dort gespeichert und die kopierten sind auch wieder da.
Für die iTunes Media siehe auch hier.
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:

Sicherheitsupdate 7.0.6 für iOS 6 und 7 macht es evl. nötig, die iTunes Media von der SSD auf die Festplatte zu verschieben, um für backups Platz zu schaffen
Das neue Sicherheitsupdate für iOS 6 und 7 für iPad…, iPhone und auch Apple TV muss installiert werden, um die Probleme mit SSL/TLS zu fixen.
Vor der Installation wird jeweils ein Backup angefertigt, das für die vielen Apple Geräte doch viel Platz einnimmt. Dafür ist nun meine SSD zu klein. Deshalb wird die iTunes Media wie hier beschrieben auf die Festplatte verschoben.
Für die Backup Dateien siehe diese Anleitung.
Ein Quicktest des JeeLink USB-Stick am Mac OS X
Ein JeeLink ist soeben aus England eingetroffen.
Die rote Draht-Antenne und der USB-Stecker sind gut sichtbar:
Wenn der JeeLink in den USB Port des Rechners gesteckt wird, leuchtet ganz kurz die Rote und Grüne LED auf.
Im Auslieferungszustand ist der JeeLink mit einem Demo-Sketch geladen. (JeeLib).
Dann die Arduino IDE starten und über den Menüpunkt Werkzeuge-Serieller Port die Schnittstelle ( /dev/tty.usbserial… ) auswählen und den Seriellen-Monitor starten. Dort unten links die Geschwindigkeit auf 57600 Baud stellen. Schon wird nach einiger Zeit diese Ausgabe generiert:

Dann stellen wir mit:
8b 100g 31
die Frequenz auf 868 MHz für FS20 Nutzung, net group = 100 und node ID = 31 ein und klicken auf senden.
Dann werden alle paar Sekunden Daten angezeigt.
Nun schalten wir mal testweise die Aktivitäts-LED an mit 1l on

Erster Quicktest: OK
Wie setzt ihr den JeeLink ein?
Big 5 Mindmap
450 Jahre Galileo Galilei Mindmap
Lecker Kohlrabi (Kalarepa) Mindmap
#Vollkommenheit #Mindmap
Wie wird ein #One-Wire-Server #owhttpd auf #WR-703N unter #openWrt installiert?
Die Installation wie in beschrieben ist Voraussetzung. Der Server wird mit dann wie folgt gestartet.
/usr/bin/owhttpd --debug -d /dev/ttyUSB0 -p 4444
Ausgabe:
...
DEBUG: ow_daemon.c:EnterBackground(166) main thread id = 2006708224
CONNECT: ow_avahi_link.c:OW_Load_avahi_library(72) No Avahi support. Library libavahi-client couldn't be loaded
CONNECT: ow_dnssd.c:OW_Load_dnssd_library(136) Zeroconf/Bonjour is disabled since dnssd library isn't found
CALL: ow_parsename.c:FS_ParsedName_anywhere(95) path=[]
DEBUG: owlib.c:SetupTemperatureLimits(79) Globals temp limits 0C 100C (for simulated adapters)
DEBUG: ow_ds9097U.c:DS2480_initialize_repeatedly(267) Attempt #0 to initialize the DS9097U
DEBUG: ow_ds9097U.c:DS2480_big_reset_serial(356) Send the initial reset to the bus master.
DEBUG: ow_tcp_read.c:tcp_read(64) attempt 1 bytes Time: 5.000000 seconds
DEBUG: ow_tcp_read.c:tcp_read(114) read: 1 - 0 = 1
...
Hier sieht man auch, das der USB9097 als DS9097U erkannt wird.
Der Server ist nun über Port 4444 und der IP erreichbar.
Obwohl man besser den Port 4304 verwendet, da er in der IANA (Internet Assigned Numbers Authority) für owserver registriert ist. Also ohne debug und mit den „richtigen“ Port /usr/bin/owhttpd -d /dev/ttyUSB0 -p 4304
Z.b. Eingabe im Browser http://198.2.1.1:4444 listet das Verzeichnis auf:

Klick auf die 28… oder http://198.2.1.1:4444/28.A29D8A040000 zeigt die Temperatur in Grad Celsius an:

Wie wird der USB 9097 unter OpenWrt auf einem WR-703N mit owfs installiert?
Der USB-Stick USB9097 mit zwei One-Wire Klinkenstecker Anschlüssen (3,5mm – 5v – Data – GND).

Der USB-Stick ist ein kostengünstiger Busmaster (DS2480B) mit USB-Serial-Adapter (CH341) für USB Bus (2.0) mit Konverter Chip CH341 im syncronen seriellen (SCL, SDA) Modus.
Er wird vollständig von OWFS unterstützt (… aber als serieller Busmaster S9097U-Type mit USB Port!).
Was muss getan werden um einen One-Wire Temperatursensor DS18B20 anzuschließen und die Temperatur auszugeben?
Folgende Package installieren und reboot.
opkg update
opkg install kmod-usb-serial-ch341 kmod-usb-serial
opkg install owfs owhttpd owshell owserver
OWFS wird dann in der Version 2.8p13-1 installiert, es gibt aber schon 2.9.p1 wer die haben will, muss das Package selbst compilieren und installieren.
Ein Verzeichnis erstellen:
mkdir /mnt/1wire
USB-Stick anstecken und Kernel-Meldungen checken mit dmesg ob er erkannt wurde:
dmesg
Ausgabe ua:
...
[ 36.330000] USB Serial support registered for ch341-uart
[ 36.330000] ch341 1-1.2:1.0: ch341-uart converter detected
[ 36.350000] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
...
Oder mit lsusb
Ausgabe ua:
...
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...
Jetzt können wir den USB-Stick an das erstellte Verzeichnis binden mit:
owfs -d /dev/ttyUSB0 -m /mnt/1wire/
Jetzt werden alle Eigenschaften und Daten als Dateisystem unter dem gemounteten Verzeichnis abgebildet.
Wenn wir dann in das /mnt/1wire Verzeichnis gehen, können wir uns von dort mit cat die Temperatur ausgeben lassen.
cd /mnt/1wire
ls
Ausgabe der Verzeichnisse:
28.A29D8A040000 bus.0 simultaneous structure uncached
alarm settings statistics system
Die Verzeichnis Nr. die mit 28…. startet ist das Verzeichnis des Temperatur Sensors.
cat 28.A29D8A040000/temperature
Ausgabe nach ca. 1 Sekunde mit 12-Bit Genauigkeit in Grad Celsius:
24.375
Oder der Type des Sensors
cat 28.A29D8A040000/type
Ausgabe:
DS18B20
Oder die einmalige ID:
cat r_address
Ausgabe z.B.
2B0000048A9DA228
Oder…
Habt ihr noch Fragen oder Anregungen?
Projekt: Raspberry Pi mit Schalter HM-LC-Sw1PBU-FM (in „Brotdose“ eingebaut) über Fhem Server für Druckerschaltung integriert
Hatte noch eine unterputz Homematik Schalter HM-LC-Sw1PBU-FM rumliegen, da er nicht in mein Schalterprogramm passt. Wollte ihn nun einer sinnvollen Verwendung zuführen. Damit der Laserdrucker nicht immer angeschaltet ist, wird der nun über diesen Schalter, der in einer zweckentfremdeten wasserdichten „Brotdose“ installiert wurde angesteuert. Hier ein paar Fotos:
Drückt man den Schalter, geht der Drucker an und schaltet sich nach 10 min wieder automatisch aus. Das anschalten geht auch über die Fhem Gui.
Folgender Code muss in die fhem.cfg eingefügt werden:
define az_drucker_kurz_an notify az_drucker_schalter:on* define az_drucker_aus at +00:10:00 set az_drucker_schalter off
attr az_drucker_kurz_an group Drucker
attr az_drucker_kurz_an room Arbeitszimmer
define FileLog_az_drucker_schalter FileLog ./log/az_drucker_schalter-%Y.log az_drucker_schalter
attr FileLog_az_drucker_schalter group Drucker
attr FileLog_az_drucker_schalter logtype text
attr FileLog_az_drucker_schalter room Arbeitszimmer
Später wird das noch automatisiert, das der Drucker automatisch angeht, wenn ein Druck ausgelöst wird und sich dann wieder autom. ausschaltet. Dazu habe ich jetzt schon mal CUPS und AirPrint auf dem Raspberry Pi laufen. Das Script und die Beschreibung kommt dann bald hier…
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?
Index aller veröffentlichten Beiträge zum Raspberry Pi
Hier eine Übersicht der veröffentlichten Beiträge zum Raspberry Pi. Sortiert nach den Neuesten zu erst:
- Mit Mac OS X einen CUL CC1101 868 Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden
- Wie wird der JeeLink an einen Raspberry PI mit Fhem installiert bzw. eingebunden?
- Wie wird der Speicher des Raspberry Pi für die Nutzung ohne Monitor (mit SSH) optimiert?
- Wie kann ein laufender Raspberry Pi ein backup seiner eigenen SD-Karte anfertigen?
- Wie kann ein USB-Stick ext4 formatiert und am Raspberry Pi automatich angeschlossen (gemounted) werden?
- 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 die Daten von einer Withings Waage und Pulse mit einem Fhem-Server auf einem Raspberry Pi ausgelesen werden?
- Wie wird auf dem Raspberry Pi der Fhem-Server in 15 min. installiert?
- Wie kann auf einem Raspberry Pi ein Sicherheits und Spam-Schutz als IDS “fail2ban” installiert werden?
- Wie kann ein aus dem Internet geladenes *.deb Archive auf einem Raspberry Pi installiert bzw. gelöscht werden?
- Wie kann die installierte Version auf dem Raspberry Pi angezeigt werden?
- Was kann getan werden, wenn die NTP-Zeitsynchronisation (Atomzeit) auf dem Raspberry Pi mit ntpdate not found fehlschlägt?
- Wie lege ich auf einem Raspberry Pi den default Drucker für lpr (line print) fest?
- Wie können von einem Raspberry Pi Dateien in die Dropbox per Kommandozeile hochgeladen bez. gelöscht werden?
- Wie kann Webmin auf einem Raspberry Pi installiert werden?
- Wie können E-Mails vom Raspberry Pi (rPi) inklusive Anhang mit mutt versendet werden?
- Wie können die installierten Versionen der Packages/Programme auf einen Raspberry Pi angezeigt werden?
- Wie können nicht AirPrint fähige Drucker mit Raspberry Pi als AirPrint Server via CUPS Server eingerichtet werden?
- Wie kann die BackTrack Linux Penetration Testing und Security Auditing Linux Distribution Kali auf einem Raspberry Pi installiert werden?
- Wie kann ich auf einem Mac den Fortschritt beim kopieren auf einer SD-Karte mit DD für einen Raspbeery Pi erkennen?
- Wie kann ein Backup einer SD-Karte (von einem Raspberry Pi) in eine Datei auf einem Mac OS X gesichert werden?
- Wie kann auf einem Raspberry Pi (rPi) ein Bootloader “BerryBoot v2.0″ ohne Monitor über VNC installiert werden?
- Wie kann ein VNC-Server auf ein Raspberry Pi installiert und mit VNC-Client von Mac, iPad und Windows darauf zugegriffen werden?
- Wie kann ich den Textbasierten superschnellen Browser Lynx auf dem Raspberry Pi installieren?
- Raspberry Pi 5 LED Mindmap
- Wie kann auf einem Raspberry Pi ein Subversion und Apache Server installiert werden?
- Wie kann der Jenkins Server auf dem Raspberry Pi installiert werden?
- Wie werden täglich automatisch und unbeaufsichtigt aktuelle Sicherheits updates auf den Raspberry Pi geladen und installiert?
- Wie kann die Betriebstemperatur eines Raspberry Pi ausgelesen werden?
- Wie nehme ich einen Raspberry Pi inkl. Java auf einem Mac in Betrieb?
Welches Thema fehlt noch?























