Wie können die verschlüsselungs Modus und Hash Algorithmen von OpenVPN Servern angezeigt werden?
Auf der Konsole bei laufenden OpenVPN Server können alle verfügbaren verschlüsselungs Algorithmen wie folgt angezeigt werden:
root@OpenWrt:/# /usr/sbin/openvpn — –show-ciphers
Das Ergebnis:
DES-CFB 64 bit default key (fixed)
DES-CBC 64 bit default key (fixed)
RC2-CBC 128 bit default key (variable)
RC2-CFB 128 bit default key (variable)
RC2-OFB 128 bit default key (variable)
DES-EDE-CBC 128 bit default key (fixed)
DES-EDE3-CBC 192 bit default key (fixed)
DES-OFB 64 bit default key (fixed)
DES-EDE-CFB 128 bit default key (fixed)
DES-EDE3-CFB 192 bit default key (fixed)
DES-EDE-OFB 128 bit default key (fixed)
DES-EDE3-OFB 192 bit default key (fixed)
DESX-CBC 192 bit default key (fixed)
BF-CBC 128 bit default key (variable)
BF-CFB 128 bit default key (variable)
BF-OFB 128 bit default key (variable)
RC2-40-CBC 40 bit default key (variable)
CAST5-CBC 128 bit default key (variable)
CAST5-CFB 128 bit default key (variable)
CAST5-OFB 128 bit default key (variable)
RC2-64-CBC 64 bit default key (variable)
AES-128-CBC 128 bit default key (fixed)
AES-128-OFB 128 bit default key (fixed)
AES-128-CFB 128 bit default key (fixed)
AES-192-CBC 192 bit default key (fixed)
AES-192-OFB 192 bit default key (fixed)
AES-192-CFB 192 bit default key (fixed)
AES-256-CBC 256 bit default key (fixed)
AES-256-OFB 256 bit default key (fixed)
AES-256-CFB 256 bit default key (fixed)
AES-128-CFB1 128 bit default key (fixed)
AES-192-CFB1 192 bit default key (fixed)
AES-256-CFB1 256 bit default key (fixed)
AES-128-CFB8 128 bit default key (fixed)
AES-192-CFB8 192 bit default key (fixed)
AES-256-CFB8 256 bit default key (fixed)
DES-CFB1 64 bit default key (fixed)
DES-CFB8 64 bit default key (fixed)
DES-EDE3-CFB1 192 bit default key (fixed)
DES-EDE3-CFB8 192 bit default key (fixed)
SEED-CBC 128 bit default key (fixed)
SEED-OFB 128 bit default key (fixed)
SEED-CFB 128 bit default key (fixed)
Die verfügbare Hash Algorithmen können wie folgt angezeigt werden:
/usr/sbin/openvpn — –show-digests
Folgende Liste wird geliefert:
MD5 128 bit digest size
RSA-MD5 128 bit digest size
SHA1 160 bit digest size
RSA-SHA1 160 bit digest size
DSA-SHA1-old 160 bit digest size
DSA-SHA1 160 bit digest size
RSA-SHA1-2 160 bit digest size
DSA 160 bit digest size
MD4 128 bit digest size
RSA-MD4 128 bit digest size
RSA-SHA256 256 bit digest size
RSA-SHA384 384 bit digest size
RSA-SHA512 512 bit digest size
RSA-SHA224 224 bit digest size
SHA256 256 bit digest size
SHA384 384 bit digest size
SHA512 512 bit digest size
SHA224 224 bit digest size
whirlpool 512 bit digest size
Und root@OpenWrt:/# /usr/sbin/openvpn — –show-tls
Available TLS Ciphers,
listed in order of preference:
SRP-DSS-AES-256-CBC-SHA
SRP-RSA-AES-256-CBC-SHA
DHE-DSS-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-DSS-AES256-SHA
AES256-GCM-SHA384
AES256-SHA256
AES256-SHA
PSK-AES256-CBC-SHA
SRP-DSS-3DES-EDE-CBC-SHA
SRP-RSA-3DES-EDE-CBC-SHA
EDH-RSA-DES-CBC3-SHA
EDH-DSS-DES-CBC3-SHA
DES-CBC3-SHA
PSK-3DES-EDE-CBC-SHA
SRP-DSS-AES-128-CBC-SHA
SRP-RSA-AES-128-CBC-SHA
DHE-DSS-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-DSS-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-DSS-AES128-SHA
DHE-RSA-SEED-SHA
DHE-DSS-SEED-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
SEED-SHA
PSK-AES128-CBC-SHA
RC4-SHA
RC4-MD5
PSK-RC4-SHA
EDH-RSA-DES-CBC-SHA
EDH-DSS-DES-CBC-SHA
DES-CBC-SHA
EXP-EDH-RSA-DES-CBC-SHA
EXP-EDH-DSS-DES-CBC-SHA
EXP-DES-CBC-SHA
EXP-RC2-CBC-MD5
EXP-RC4-MD5
Wie können Diagramme erstellt werden?
Um nur mal eben ein kleines Diagramm zu erstellen, benötigt man nicht immer Visio oder andere kostenpflichtige Programme. Es geht auch mit dem kostenlosen Programm Dia, welches für Mac OS, Windows und Linux erhältlich ist.
Für den Mac, geht auch die Installation über Port, also auf der Konsole:
sudo port install Dia
eingeben und schon ist alles richtig installiert.
Nach dem Download und install kann man gleich loszeichnen. So sieht die Arbeitsfläche von Dia aus:
Hier mal ein Beispiel eines ersten Versuchs:
Wie kann die Systemzeit in OpenWrt per NTP eingestellt werden?
Die Systemzeit ist schon wichtig, da sonst die Logs nicht den richtigen Zeitstempel bekommen und der OpenVpn Server braucht auch die richtige Zeit.
Der NTP port für UDP ist 123.
opkg update
opkg install ntpd ntpdate ntpclient ntp-utils
/etc/init.d/sysntpd disable
/etc/init.d/ntpd enable
/etc/init.d/ntpd start
netstat -l | grep ntp
ntpdate pool.ntp.org
Zeitzone setzen in /etc/config/system
config system
option hostname ‚OpenWrt‘
option timezone ‚CET-1CEST,M3.5.0,M10.5.0/3‘
option zonename ‚Europe/Berlin‘
Oder einfach über Luci, im Menü System-System:
Wie checkt man die Geschwindigkeiten von DNS-Servern und kann da was optimiert werden?
Das geht mit dem kostenlosen Programm namebench 1.3.1 für Mac und Windows.
Nach dem Downloaden und starten des Programms, erscheint eine einfach GUI. Hier können oben die eigenen DNS-Server Adressen eingegeben werden und dann klick auf Start. Nun dauert der Check einige Minuten und öffnet dann im Browser das Ergebnis mit einigen schönen Grafiken. Da kann man durch wechseln des DNS sein Internet Surfen mitunter beschleunigen.
Wenn das Ergebnis nicht im Browser geöffnet wird, kann es unter Mac im Verzeichnis separat geöffnet werden.
z.B.
//var/folders/bt/_4l4fvvn0s3332pr68td_m980000gn/T/namebench_2013-10-04_1713.html
Das Verzeichnis wo die Ergebnisse gespeichert werden, wird unten in der GUI für einige wenige Sekunden angezeigt.
Folgende Ergebnis Seiten werden z.B. generiert (gekürzt):
Es gibt auch noch ein Command-line Version.
Wie kann ich meine IP-Adresse ermitteln, mit der ich im Internet für alle sichtbar bin?
Über die Web-Seite What is my IP Address.com.
Wie wird ein VPN Client (Tunnelblick) auf einem Mac OS X installiert?
Um auf VPN Server von einem Mac zugreifen zu können, kann der kostenlose VPN-Client Tunnelblick verwendet werden. Also zuerst den Tunnelblick downloaden.
Ich habe die Version 3.3 verwendet.
Dann installieren, so wie hier beschrieben.
Dann die Datei config.ovpn Anlegen mit folgenden Inhalt:
dev tap
proto udp
# Hier die IP-Adresse des VPN Servers eintragen
remote 192.168.2.XXX 1194
resolv-retry infinite
nobind
mute-replay-warning
# Der Name des Static Key
secret secret.key
verb 3
und in ein Verzeichnis mit der Endung .tblk verschieben. In dieses Verzeichnis muss auch der Key (Static Key) kopiert werden.
Nach dem doppelklick auf das Verzeichnis mit der Endung .tblk startet der VPN Client. Oben rechts in der Menüleiste erscheint dann das Icon.
Wie wird ein OpenVPN Server auf OpenWrt (Version 12) auf eiem TP-WR703N Router eingerichtet?
Nach dieser Anleitung vorgehen.
Auf einem lauffähigen OpenWrt mit USB-Stick zuerst OpenVpn installieren:
opkg update
opkg install openvpn
Und einen Static Key generieren.
openvpn --genkey --secret static.key
Dieser Key muss auf allen Geräten, die im VPN Netz sind kopiert werden.
Also den Key nach /etc unter anderen Namen kopieren oder verschieben:
cp static.key /etc/openvpn.key
Die /etc/config/firewall
Datei um diese Einträge am Ende ergänzen, damit der Port 1194 durchgelassen wird:
config 'rule'
option 'target' 'ACCEPT'
option 'src' 'wan'
option 'proto' 'tcp'
option 'dest_port' '22'
option '_name' 'ssh-wan'
config 'rule'
option '_name' 'openvpn-udp'
option 'src' 'wan'
option 'target' 'ACCEPT'
option 'proto' 'udp'
option 'dest_port' '1194'
Die Datei /etc/firewall.rules neu anlegen mit folgenden Inhalt:
iptables -I OUTPUT -o tap+ -j ACCEPT
iptables -I INPUT -i tap+ -j ACCEPT
iptables -I FORWARD -o tap+ -j ACCEPT
iptables -I FORWARD -i tap+ -j ACCEPT
Folgendes Start Script anlegen/etc/openvpnbridge mit folgenden Inhalt:
#!/bin/sh
#/etc/openvpnbridge
# OpenVPN Bridge Config File
# Creates TAP devices for use by OpenVPN and bridges them into OpenWRT Bridge
# Taken from http://openvpn.net/bridge.html
# Make sure module is loaded
insmod tun
# Define Bridge Interface
# Preexisting on OpenWRT
br="br0"
# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"
# Build tap devices
for t in $tap; do
openvpn --mktun --dev $t
done
# Add TAP interfaces to OpenWRT bridge
for t in $tap; do
brctl addif $br $t
done
#Configure bridged interfaces
for t in $tap; do
ifconfig $t 0.0.0.0 promisc up
done
Und diese Datei ausführbar machen mit:
chmod +x /etc/openvpnbridge
Nun noch die VPN-Server Konfig Datei /etc/server.ovpn erstellen:
port 1194
proto udp
dev tap
keepalive 10 120
status openvpn-status.log
verb 3
# Pfad zum Static Key evl. noch dem Pfad anpassen
secret /etc/openvpn.key
Restart des OpenWrt.
Jetzt kann der Server gestartet werden mit:
openvpn /etc/server.ovpn
Wenn alles erfolgreich läuft, wird solch eine Nachricht ausgegeben.
root@OpenWrt:/etc# openvpn /etc/server.ovpn
Thu Oct 3 19:55:59 2013 OpenVPN 2.2.2 mips-openwrt-linux [SSL] [LZO2] [EPOLL] built on Mar 14 2013
Thu Oct 3 19:55:59 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Oct 3 19:55:59 2013 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 3 19:55:59 2013 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 3 19:55:59 2013 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 3 19:55:59 2013 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 3 19:55:59 2013 Socket Buffers: R=[163840->131072] S=[163840->131072]
Thu Oct 3 19:55:59 2013 TUN/TAP device tap0 opened
Thu Oct 3 19:55:59 2013 TUN/TAP TX queue length set to 100
Thu Oct 3 19:55:59 2013 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:4 ET:32 EL:0 ]
Thu Oct 3 19:55:59 2013 UDPv4 link local (bound): [undef]:1194
Thu Oct 3 19:55:59 2013 UDPv4 link remote: [undef]
Thu Oct 3 19:56:03 2013 Peer Connection Initiated with 192.168.X.XXX:XXXXX
Thu Oct 3 19:56:04 2013 Initialization Sequence Completed
Neue Firmware 1.24.000 (9.2013) für Telekom Speedport 921V erschienen.
Für das Speedport 921V gibt es eine neue Firmware.
Diese Änderungen gibt es in der
Firmware V 1.24.000
– Optimierung IP-basierte Telefonie
– Optimierung Entertain
Was auch immer das sein soll. Optimierung!
Erster Quicktest, Internet und Tel. läuft.
(Update) Die eingestellten Port Weiterleitungen werden schon mal „vergessen“ und auf andere Rechner weitergeleitet 🙁
Wie kann ich alle erreichbaren IP-Adressen in einem privaten Netzwerk anzeigen?
Das geht mit dem Netzwerk-Analysewerkzeug und Sicherheits-/Portscanner nmap.
Auf der Konsole folgenden Befehl eingeben (IP-Adresse evl. anpassen):
1 |
nmap -sP 192.168.2.0/24 |
Dieser Ping Scann zeigt nur alle Adressen an die Online sind.
Wer alle angezeigt haben möchte verwendet den List Scann:
1 |
nmap -sL 192.168.2.0/24 |
Es werden alle Adressen von 192.168.2.0 bis 192.168.2.255 aufwärts gescannt.
Wer nur die Adressenliste haben will, schaltet noch den grep dahinter:
1 |
nmap -sP 192.168.2.0/24 | grep -oE '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' |
Kennt ihr noch andere Möglichkeiten?
Wie geht ein Quickinstall von MiniPwner auf einem laufenden OpenWrt Version 12 mit ext. Usb-Stick?
Installation von MiniPwner auf einer lauffähigen OpenWrt Version mit externen USB-Stick. Einfach auf der Konsole folgende Befehle absetzen:
opkg update
opkg install http://minipwner.com/20120514/downloads.openwrt.org/snapshots/trunk/ar71xx/packages/dsniff_2.4b1-2_ar71xx.ipk
opkg install luci-theme-bootstrap mc htop iftop ettercap tar openssh-sftp-client mdk3 nmap tcpdump aircrack-ng aircrack-ptw kismet-client kismet-server perl openvpn nbtscan snort karma samba36-client elinks yafc
Wie kann in Fhem das Wetter und andere Daten (Bilder, URLs) von Wetter Online oder anderen Diensten angezeigt werden?
Wetter Daten von Wetter Online können wie folgt in Fhem mit dem weblink Befehl angezeigt werden.
In der fhem.cfg folgenden Eintrag machen:
define WetterOnline weblink iframe http://www.wetteronline.de/cgi-bin/hpweather?PLZ=30853
Den Parameter PLZ mit der entsprechenden Postleitzahl anpassen, sonst wird immer das gute Wetter von Langenhagen angezeigt.
Speichern und ein rereadcfg lassen folgendes Bild erscheinen
Mit dem weblink Befehl können auch Bilder und Links in Fhem eingefügt werden. Z.B. der link und das Bild von mir mit
define wenzlaff.de weblink link http://www.wenzlaff.de
define thomas weblink image http://wenzlaff.de/pic/twbildgut.png
liefert folgendes Ergebnis (Bild entfernt).
Internet Nutzung Weltweit Mindmap
1A Kürbissuppe mit Kokosmilch Mindmap
Struktur-Muster (Structural Pattern) Mindmap
Wie kann die Piratebox unter OpenWrt auf einem TP-Link TL-WR703N Router installiert werden?
Die Piratebox ist ein in sich selbst abgeschlossenes Gerät zum anonymen speichern und austauschen von Bildern, Videos, Dokumente und andere Dateien über WLAN.
Es wird kein User login benötigt und es wird kein User geloggt. Auch kann im Netz geschattet werden.
Die Piratebox ist nicht ans Internet angebunden, um die Sicherheit zu erhöhen das die Daten private bleiben.
Also ein freies und offenes privates file sharing and chat! device. Jeder der in der Reichweite des WLAN ist, kann einfach und sofort Dateien austauschen.
Es gibt da ein paar Fallgruben bei der Installation und der Router kann leicht gebrickt werden. Mit einem Serial-Adapter kann dies aber wieder rückgängig gemacht werden. Ist aber nicht ohne Löterrei möglich.
Im Prinzip läuft die Installation so wie in der Anleitung
des Entwicklers beschrieben.
Auf dem 703N muss die Version 12.09 geflasht werden. Habe die neuere Version 12.09 von OpenWrt auch versucht, die lief aber nicht, und erzeugte eienen brick!
Es wird noch ein USB Stick benötigt. Ich hatte noch einen 8 GB Stick liegen. Der muss mit FAT32 formatiert werden und darf nur eine Partition haben.
Ich hatte einen mit 3 Partitionen, der lief in eine Endlosschleife. Dann hatte ich den USB Stick mit einer Partition angelegt und vergessen sie zu einer primären Partition zu machen, auch das führte zu einer Endlosschleife.
Also Vorbedingung:
1. Version 12.09-beta2 geflasht
2. USB Stick mit einer FAT32 Partition erstellen
3. Test ob zugriff aufs Internet mit ping wenzlaff.de
4.
opkg update
opkg install kmod-usb-uhci
insmod usbcore # Es kann die Meldung kommen: file exists
insmod uhci
opkg install kmod-usb-ohci # Es kann die Meldung kommen:up to date.
insmod usb-ohci
5. USB-Stick einstecken
6.cd /tmp
opkg update
opkg install http://piratebox.aod-rpg.de/piratebox_0.6.3_all.ipk
Die Installation dauert nun ca. 15 min denn es werden aus dem Internet neue Versionen geladen und installiert und auf
dem Stick SWAP Partitionen angelegt und das Piratebox System installiert und konfiguriert.
7. Wenn die Installation abgeschlossen ist, kann das LAN Kabel entfernt werden und der Router einmal rebootet werden.
Dann kann auf das WLAN Netzwerk mit dem Namen „PirateBox – Share Freely“ zugegriffen werden. Dazu z.B. im iPadMini das WLAN auswählen:
Optional: Was mir noch fehlt, ist eine externe Stromversorgung von 5 V über den USB Port, so das alles portabel ist.
Die eingestellte IP: 192.168.1.1 (192.168.2.111)
Domain: piratebox.lan
Wenn eine Browser geöffnet wird und irgendeine Seite aufgerufen wird erscheint:
Nun können Dateien ausgetauscht und geschattet werden. Siehe den Hallo Welt Eintrag von mir oben.
Top 100 Marken Mindmap
Wie kann ein 8 GB USB-Stick mit ext2 und 3 Partitionen mit Windows formatiert und partitioniert werden?
Ein USB-8 GB Stick aus China wird mit drei Partitionen so formatiert mit Hilfe des kostenlosen Progamm „Partition Wizard Home Edition„:
sda1 – sys (80 MB oder mehr) ext2 primary
sda2 – swap (64 MB oder mehr) linux-swap primary
sda3 – data (der Rest des Speichers) ext2 primary
Programmiersprachen Ranking Top 20 (Java =2)
Fhem Hausautomation Mindmap
Drei Tipps zum einfachen öffnen des Finders in Mac OS X per cmd-Taste
Wenn man im Mac OS X mit gedrückter cmd Taste ein Icon im Dock anklickt, öffnet sich der Finder mit der selektierten Anwendung an der Stelle wo die Anwendung gespeichert ist.
Das gleiche passiert auch, wenn in der Spotlight suche ein Ergebniss gefunden wurde, dann cmd und Return drücken.
Auch öffnet sich ein neues Finder-Fenster wenn man mit gedrückter cmd Taste in der offenen Sidebar auf einen Eintrag (Favoriten) klickt.
TOP 5 zum besseren Gedächtnis Mindmap
Wie können Temperaturlisten in Fhem auf einem 703N Router unter OpenWrt via HMLan an den Funk-Wandthermostat (HM-CC-TC) gesendet werden?
So wie hier in der Anleitung beschrieben.
Zuerst eine eigene Perl Methode mit folgenden Inhalt erstellen:
Dann folgenden Perl-Befehl aus dem Fhem Server absenden:
Dann zur Kontrolle alle Paramteter einlesen mit set getConfig
:
Und das Ergebnis anschauen mit, dabei darauf achten das die Reihenfolge der Tage anders ist als im Script:
Überblick Mindmap
iTunes 11.1.0, Xcode Version 5.0 und iOS 7 ist nun verfügbar
iOS 7.0 Download Zeit ca. 13 Stunden für 1,24 Gb 🙁 vorausberechnet.
Nach 12 Stunden ist alles geladen, jetzt noch das update. Mal sehen wann es durch ist!
iOS 7 läuft nun. Mal was Neues!
Fürs iPadMini ging alles unter eine Stunde. Das iPad2 ist noch in Arbeit, soll 6 Stunden dauern für 1,05 Gb. Da kommen die Bytes einzeln durch die Leitung.
Ist die Schalterserie Vision von der Fa. Koop mit den Homematic Schaltern kompatibel?
Nein. Leider nein. Auf schriftliche Anfrage des Herstellers „nein„. Es gab von der Fa. Koop auch keine Auskunft, wann es Adapter (Wippen) für die Homematic-Schalter geben wird. Schade das das Flaggschiff der Fa. Koop nicht mit Homematik verbunden werden kann.
Habe es dennoch versucht, um zu sehen woran es scheitert. Es passt einfach nicht, da der Wippen-Weg zu lang ist. Da ist auch mit feilen und sägen nichts zu machen, geht nicht mit den Kopp-Wippen
Also der Funkaktor passt nicht in die Vision Serie der Fa. Koop, so wie es der Hersteller sagt.
Schade, das die Vision Serie nicht passt.
Das sind die Homematic Schaltaktoren, die man mit einem „normalen“ Lötkolben leider nicht komplett löten kann,
da zwei Elkos so plaziert sind, das man da schon einen MINI-Lötkolben und eine Lupe haben muss (oder jemand kennen, der sowas hat 😉 ). Da könnte das Platinenlayout sicherlich verbessert werden.
Die Anleitung ist sehr Textlastig und in etwas so, löten sie so wie auf den Bildern zu sehen ist. Die Bilder sind leider nur in Orginalgröße vorhanden (Lupe lieg nicht bei) und dann auch noch mit einem anderen Bausatz vermischt. Da könnte ELV sicher noch optimieren.
Wenn er in Fhem angelernt ist meldet er:
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 level: 100 %
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 deviceMsg: on (to HMLAN_1)
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 on
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 running: -
# ab hier: rename CUL_HM_HM_LC_Sw1PBU_FM_207EF4 schalter
2013-09-18_17:04:29 schalter set_toggle
2013-09-18_17:04:30 schalter level: 0 %
2013-09-18_17:04:30 schalter deviceMsg: off (to HMLAN_1)
2013-09-18_17:04:30 schalter off
2013-09-18_17:04:30 schalter running: -
2013-09-18_17:04:40 schalter set_toggle
2013-09-18_17:04:40 schalter level: 100 %
2013-09-18_17:04:40 schalter deviceMsg: on (to HMLAN_1)
2013-09-18_17:04:40 schalter on
2013-09-18_17:04:40 schalter running: -
2013-09-18_17:04:59 schalter level: 100 %
2013-09-18_17:04:59 schalter deviceMsg: on (to HMLAN_1)
2013-09-18_17:04:59 schalter on
2013-09-18_17:04:59 schalter running: -
Und so sieht es in Fhem aus:
Wie können in Fhem Web unterschiedliche Icons angezeigt werden für eine offene und geschlossene Tür?
Um unterschiedliche Icons für den Türzustand anzuzeigen muss das Attribut devStateIcon wie folgt ergänzt werden.
Für Tür offen sieht es dann so aus:
Und für eine geschlossene Tür:
Redner Mindmap
Wie kann ich unter OpenWrt die WLAN-Fähigkeiten des WR-703N mit iw und arp anzeigen?
Auf der Konsole mit:
iw phy
Wir erhalten dann eine Ausgabe in der Form:
Wiphy phy0
Band 1:
Capabilities: 0x116e
HT20/HT40
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
RX STBC 1-stream
Max AMSDU length: 3839 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 8 usec (0x06)
HT TX/RX MCS rate indexes supported: 0-7
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (disabled)
* 2472 MHz [13] (disabled)
* 2484 MHz [14] (disabled)
Bitrates (non-HT):
* 1.0 Mbps
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
max # scan SSIDs: 4
max scan IEs length: 2257 bytes
Coverage class: 0 (up to 0m)
Supported Ciphers:
* WEP40 (00-0f-ac:1)
* WEP104 (00-0f-ac:5)
* TKIP (00-0f-ac:2)
* CCMP (00-0f-ac:4)
* CMAC (00-0f-ac:6)
Available Antennas: TX 0x1 RX 0x1
Configured Antennas: TX 0x1 RX 0x1
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
* P2P-GO
software interface modes (can always be added):
* AP/VLAN
* monitor
valid interface combinations:
* #{ managed, WDS, P2P-client } <= 2048, #{ IBSS, AP, mesh point, P2P-GO } <= 8,
total <= 2048, #channels <= 1
Supported commands:
* new_interface
* set_interface
* new_key
* start_ap
* new_station
* new_mpath
* set_mesh_config
* set_bss
* authenticate
* associate
* deauthenticate
* disassociate
* join_ibss
* join_mesh
* remain_on_channel
* set_tx_bitrate_mask
* frame
* frame_wait_cancel
* set_wiphy_netns
* set_channel
* set_wds_peer
* tdls_mgmt
* tdls_oper
* probe_client
* set_noack_map
* register_beacons
* Unknown command (89)
* connect
* disconnect
Supported TX frame types:
* IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* (null): 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
Supported RX frame types:
* IBSS: 0xb0 0xc0 0xd0
* managed: 0x40 0xd0
* AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* mesh point: 0xb0 0xc0 0xd0
* P2P-client: 0x40 0xd0
* P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* (null): 0x40 0xd0
Device supports RSN-IBSS.
HT Capability overrides:
* MCS: ff ff ff ff ff ff ff ff ff ff
* maximum A-MSDU length
* supported channel width
* short GI for 40 MHz
* max A-MPDU length exponent
* min MPDU start spacing
Device supports TX status socket option.
Device supports HT-IBSS.
Und der Interface-Typ kann mit iw dev wlan0 inof
ausgegeben werden:
Interface wlan0
ifindex 6
wdev 0x2
addr 13:cc:99:99:32:fc
type managed
wiphy 0
channel 11 (2462 MHz) HT40-
Manchmal will man aber auch alle Mesh-Points in Funkreichweite sehen, das geht mit
iw dev wlan0 station dump
, hier ein Beispiel:
Station 77:31:77:e7:77:f9 (on wlan0)
inactive time: 730 ms
rx bytes: 2093412
rx packets: 14162
tx bytes: 14206
tx packets: 160
tx retries: 3
tx failed: 0
signal: -46 [-46] dBm
signal avg: -45 [-45] dBm
tx bitrate: 135.0 MBit/s MCS 6 40Mhz short GI
rx bitrate: 121.5 MBit/s MCS 6 40Mhz
authorized: yes
authenticated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
Alle vorhandenen Pfade mit Ziel-MAC-Adresse und Next-Hope-Adresse wird mit iw dev wlan0 mpath dump
so angezeigt:
DEST ADDR NEXT HOP IFACE SN METRIC QLEN EXPTIME DTIM DRET FLAGS
Und zu guter letzt, die Abbildung der IP-Adressen auf die MAC-Adressen mit arp
liefert:
IP address HW type Flags HW address Mask Device
192.168.2.7 0x1 0x2 77:77:77:77:77:f5 * wlan0
192.168.2.7 0x1 0x2 77:77:77:77:77:f5 * br-lan
192.168.2.111 0x1 0x2 77:77:77:77:77:f5 * br-lan
192.168.2.111 0x1 0x2 77:77:77:77:77:f5 * br-lan
Lampenfieber Mindmap (Version 2)
Wie kann mit Fhem auf OpenWrt eine E-Mail versendet werden beim öffnen oder schließen einer Tür?
Nachdem das E-Mail System wie in beschrieben eingerichtet wurde, kann eine E-Mail versendet werden wenn eine Tür auf oder zu geht.
Dazu in der fhem.cfg
diese Benachrichtigungen einrichten:
# Reagiert auf Event:
# 2013-09-11_17:22:53 wz_Tuerschalter contact: open (to HMLAN_1)
define terrassenTuerOffenEMail notify wz_Tuerschalter:contact.*open.*HMLAN_1.* \
{\
fb_mail('emali@@test.de','Fhem: Terrassen Tuer offen!','Die Terrassen Tuer ist auf.') \
}
# Reagiert auf Event:
# 2013-09-11_17:22:53 wz_Tuerschalter contact: closed (to HMLAN_1)
define terrassenTuerZuEMail notify wz_Tuerschalter:contact.*closed.*HMLAN_1.* \
{\
fb_mail('email@@test.de','Fhem: Terrassen Tuer zu!', 'Die Terrassen Tuer ist zu.') \
}
Dabei beachten das das @ zweimal angegeben werden muss.
Wichtig auch, das alles in einfachen Hochkomma stehen muss.
Testen kann man dies auch mit dem Trigger Befehl, wenn man den auszulösenden Event in das Eingabefeld vom Web-Fhem eingibt:
trigger wz_Tuerschalter contact: open (to HMLAN_1)
Dann muss auch eine E-Mail versendet werden.
Folgende Datei erstellen /fhem/FHEM/99_myTWUtil.pm
und E-Mail Adresse anpassen.
#
# 99_myTWUtils.pm Version 1.0 vom 11.09.2013
#
# Dieses Perl Script (99_myTWUtils.pm) enthaelt alle Tools die fuer Fhem noch benoetigt werden.
# 1. fb_mail Methode zum versenden von E-Mails
#
# (C) 2013 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/}.
package main;
use strict;
use warnings;
use POSIX;
sub
myTWUtils_Initialize($$)
{
my ($hash) = @_;
}
sub
fb_mail
{
my $empfaenger = $_[0];
my $subject = $_[1];
my $text = $_[2];
Log 5, ">>> fb_mail Eintrag: Empfaenger: $empfaenger Betreff: $subject Text: $text";
Log 5, ">>> ---------------------------------------------------------------------------------";
system("/bin/echo -e \"To: $empfaenger\nFrom: $empfaenger\nReply-to: $empfaenger\nSubject: $subject\n\n$text\" | ssmtp \"$empfaenger\"");
return "OK, E-Mail an $empfaenger versendet! Betr.: $subject Inhalt: $text";
}
1;
Ein „reload 99_myTWUtil.pm
“ und ein „rereadcfg
“ absetzen oder ein „reboot
“ ausführen und schon wird eine E-Mail nach dem öffnen und schließen der Tür gesendet.
Weitere Links:
FhemWiki zum Thema E-Mail senden.
Perl infos.
Wie können unter OpenWrt E-Mails versendet werden?
Das geht mit dem msmtp Client (msmtp version 1.4.27).
Dazu den msmtp Client und mutt (Version 1.5.21 (2010-09-15)) auch gleich mit installieren.
1 2 3 |
opkg update opkg install msmtp opkg install mutt |
Die Konfigurationsdatei vi /etc/msmtprc
wie folgt anlegen und die entsprechenden smtp Daten eingeben:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# /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 |
Testen ob alles richtig konfiguriert wurde geht mit dem absetzen folgender Kommandos auf der Konsole:
1 |
echo 'Test e-mail' | sendmail email@test.de |
Oder mit cat mit Betreff und Absender:
1 2 3 4 5 6 7 |
[root@OpenWrt ~]# cat <<EOF | sendmail -t / To: empfaenger@test.de Subject: Testbetreff From: absender@test.de Testinhalt der E-Mail EOF |
Dann testen ob die E-Mail angekommen ist.
Für das Versenden aus dem Fhem Script reicht das noch nicht. Wir brauchen noch ssmtp
1 2 |
opkg update opkg install ssmtp |
Diese zwei Dateien anpassen /etc/ssmtp/ssmtp.conf
1 2 3 4 5 6 7 8 |
root=info-anfrage@test.de mailhub=smtp.strato.de:587 rewriteDomain=test.de hostname=email@test.de UseSTARTTLS=YES AuthUser=email@test.de AuthPass=PASSWORT FromLineOverride=YES |
Und die /etc/ssmtp/revaliases
1 2 |
root:email@test.de:smtp.strato.de:587 localusername:email@test.de:smtp.strato.de:587 |
Check auf der Konsole mit:
1 |
ssmtp email@test.de |
dann Enter und die Nachricht der E-Mail eingeben.
Zum Schluss Strg+D drücken. Dann wird die E-Mail versendet.
Wie kann ein Tür- und Batteriezustand gPlot für Fhem (HM-Sec-SC) erstellt werden?
Um die digitalen Werten, wie Tür auf oder zu in einem Plot mit dem Batterie Zustand auszugeben, kann wie folgt vorgegangen werden. Der HM-Sec-SC Funk-Tür-/Fensterkontakt gibt die Werte ja zurück. Die rote Linie gibt den Türzustand aus ob die Tür auf oder zu ist bzw. war.
Diese /fhem/www/gplot/myTerrassenTuer.gplot
Datei speichern:
/*
myTerrassenTuer.gplot Version 1.0 vom 07.09.2013
Dieses GNU-Plot Script (myTerrassenTuer.gplot) gibt zwei Zustaende des Tuerkontakt als Kurven aus und zwar
den Batterie-Zustand, den Status der Tuer.
(C) 2013 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/}.
*/
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 'Terrassen Tuer'
set ytics ("Zu" 0, "Ok" 0.8, "Auf" 1)
set y2tics ("Zu" 0, "Ok" 0.8, "Auf" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel ""
set y2label ""
#FileLog 3:wz_Tuerschalter:0:$fld[2]=~"open"?1:0
#FileLog 4:wz_Tuerschalter:0:$fld[2]=~"ok"?0:0.8
plot \
"< awk '/wz_Tuerschalter/ {print $1, $3~/open/? 1 : 0; }' <IN>"\
using 1:2 title 'Tuer' with steps
"< awk '/wz_Tuerschalter/ {print $1, $3~/ok/? 1 : 0; }' <IN>"\
using 1:2 title 'Batterie' with steps
Folgende Einträge sind in der fhem.cfg
Datei noch nötig:
# TW Tuerschalter
define wz_Tuerschalter CUL_HM 000000
attr wz_Tuerschalter .devInfo 000000
attr wz_Tuerschalter .stc 80
attr wz_Tuerschalter actCycle 028:00
attr wz_Tuerschalter actStatus alive
attr wz_Tuerschalter expert 2_full
attr wz_Tuerschalter firmware 2.1
attr wz_Tuerschalter model HM-SEC-SC
attr wz_Tuerschalter peerIDs
attr wz_Tuerschalter room Wohnzimmer
attr wz_Tuerschalter serialNr KEQ0000000
attr wz_Tuerschalter subType threeStateSensor
define FileLog_wz_Tuerschalter FileLog ./log/wz_Tuerschalter-%Y.log wz_Tuerschalter
attr FileLog_wz_Tuerschalter logtype text
attr FileLog_wz_Tuerschalter room Wohnzimmer
define SVG_FileLog_wz_Tuerschalter_1 SVG FileLog_wz_Tuerschalter:myTerrassenTuer:CURRENT
attr SVG_FileLog_wz_Tuerschalter_1 room Wohnzimmer
Neues Video: 4-Phasen-Stepper-Motor Ansteuerung mit dem Microcontroller Arduino NANO
Hier das Video, Details zum Motor.
Und hier als Bild für den Überblick:
Java, lecker!
Top 5 der Tastaturbefehle der bash/Linux History
history | grep foo sucht in der History alle Zeilen mit foo und zeigt alle an
!123 führt den Befehl aus der History mit der Nummer 123 aus
!123:p führt den Befehl aus der History mit der Nummer 123 aus, zeigt ihn aber vorher noch an
!foo führt den letzen Befehl aus der History aus der mit foo beginnt
!foo:p führt den letzen Befehl aus der History aus der mit foo beginnt, zeigt ihn aber vorher noch an
Wie kann das Design in Fhem geändert werden?
Unter dem Menüpunkt „Select Style“ den Style „bright“ auswählen und ein reload im Browser.
Sieht doch super aus oder?
Der Style „dark“ ist aber auch nicht schlecht:
Der Style „ios7touchpad“:
Welcher gefällt Euch am Besten?
Womit verbringen die Deutschen im Durchschnitt ihre Zeit.
Wie kann auf einem WR-703N unter OpenWrt ein Server für USB tunnel per TCP eingerichtet werden?
Anleitung von OpenWrt „USB durch IP-Tunnel„.
Zuerst die USB Kernel Module und USBIP Server Package installieren mit:
opkg update
opkg install kmod-usb-ohci usbip-server
Dann die lokalen USB Geräte auflisten mit
usbip list -l
Bei mir wir diese Ausgabe geliefert:
[root@OpenWrt ~]# usbip list -l
Local USB devices
=================
- busid 1-1 (0451:1446)
1-1:1.0 -> hub
- busid 1-1.1 (0403:6001)
1-1.1:1.0 -> ftdi_sio
- busid 1-1.4 (090c:1000)
1-1.4:1.0 -> usb-storage
Wie man sieht, habe ich einen USB Hub, an diesem habe ich den Arduino Nano (ftdi_sio) und einen USB-Stick mit 8GB (usb-storage) angeschlossen.
In der Datei /etc/rc.local
vor dem exit 0 diese Zeilen einfügen wenn der Server autom. gestartet werden soll. Evl. noch die BusID anpassen:
# TW Tunnelt den USB-Stick per TCP
usbipd -D &
sleep 1
usbip bind -b 1-1.4 # bindet die BusID vom USB Stick
Diese Methode habe ich aber erstmal nicht mehr verwendet da schon autom. ein Fhem-Server läuft.
Nach einem reboot
kann mit netstat geschaut werden ob alles läuft.
netstat -alpt
.
Siehe auch diese Anleitung
[root@OpenWrt ~]# usbip list -local
Local USB devices
=================
- busid 1-1 (0451:1446)
1-1:1.0 -> hub
- busid 1-1.1 (0403:6001)
1-1.1:1.0 -> ftdi_sio
- busid 1-1.4 (090c:1000)
1-1.4:1.0 -> usb-storage
[root@OpenWrt ~]# usbip bind -b 1-1.1
bind device on busid 1-1.1: complete
[root@OpenWrt ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0451:1446 Texas Instruments, Inc. TUSB2040/2070 Hub
Bus 001 Device 007: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) 64MB QDI U2 DISK
Bus 001 Device 008: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 002 Device 001: I
Hab noch keinen USBIP Client für Mac OS X gefunden. Gibt es da einen der läuft?
Für Windows und Linux gibt es passende.
Wie kann unter Mac OS X das Terminal screen verwenden?
Um Kontakt zur seriellen Schnittstelle aufzubauen kann unter Mac OS X das Programm: screen
verwendet werden. Einfach auf der Kommandozeile aufrufen
screen [ -optionen] [ Kommando [Argumente]] wie hier gezeigt um die USB Schnittstelle anzusprechen:
screen /dev/cu.usbserial-A9YLHVRN
Beendet kann das Terminal mit: ctrl+a k
werden
Wie kann eine Kommando Shell (bitlash) für Arduino verwendet werden?
Es gibt für Arduino eine Kommando Shell mit Namen Bitlash. Auch eine Anleitung ist auf Hompage des Entwicklers zu finden.
Hier die nötigen Schritte, um ein Arduino (Nano) damit zu bestücken.
Zuerst einmal die neueste Version (2.0) von bitlash installieren, dazu in das Libraries Verzeichnis von Arduino wechseln und per git die Neueste Version holen:
cd ~/Documents/Arduino/Libraries
git clone https://github.com/billroy/bitlash.git
oder auch als ZIP und dann auspacken.
Dann die Arduino IDE (1.5.2) starten und über das Menü: Datei-Beispiele-bitlash-Bitlashdemo
das Beispiel Sketch laden, compilieren und auf den Arduino hochladen.
Wenn dann der Serielle-Monitor aufgemacht wird, ist es bei mir mit dem Nano abgestürzt.
Deshalb habe ich die Geschwindigkeit auf 9600 geändert. Hier das angepasste Beispiel Sketch:
/**
twbitlash.pde Thomas Wenzlaff http://www.wenzlaff.de Version 1.0 vom 31.08.2013
Beispiel einen einfachen Kommandointerpreter für den Arduino Nano.
Basis Beispielprogramm von:
Bitlash is a tiny language interpreter that provides a serial port shell environment
for bit banging and hardware hacking.
This is an example demonstrating how to use the Bitlash2 library for Arduino 0015.
Bitlash lives at: http://bitlash.net
The author can be reached at: bill@bitlash.net
Copyright (C) 2008-2012 Bill Roy
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
**/
#include "bitlash.h"
void setup(void) {
// Initialisierung und setzen der Baud Rate 57000 bricht beim Nano ab
// Startet den Kommandozeileninterpreter und führt den startup Makro aus
initBitlash(9600);
}
void loop(void) {
runBitlash();
}
und dann läuft dieses Beispiel.
Nach öffnen des Seriellen Monitors in der IDE (1.5.2) erscheint:
Alle Kommandos lassen sich mit help
anzeigen:
Wie dann die erste Funktion erstellt wird, steht hier.
Kurz, um die LED 13 blinken zu lassen folgende Befehle eingeben:
function toggle13 {d13 = !d13;}
function startup {pinmode(13,1); run toggle13,1000;}
startup
boot
Funktionen lassen sich mit ls
anzeigen:
Weitere Doku hier.
Das JavaMagazin mit meinen Artikel zum Thema: Ansteuerung von USB-Schnittstellen mit Java via javahidapi
Das Java Magazin Ausgabe 9-2013 ist jetzt am Kiosk nicht mehr erhältlich erhältlich. Die Ausgabe kann aber noch Online nachbestellt werden.
Das Magazin erscheint in einer Auflage von ca. 20000 Exemplaren und ist damit das am weitesten verbreitet Magazin zum Thema JAVA.
In der Ausgabe findet Ihr einen Artikel vom mir zum Thema „Ansteuerung von USB-Schnittstellen via javahidapi mit Java“ inkl. einem Eclipse Beispielprojekt.
Hier ein Foto meines Belegexemplares:
Wie findet Ihr den Artikel? Würde mich über Feedback freuen.
Wie kann das Wetter Modul von Yahoo in Fhem eingebunden werden?
So wie in der guten Anleitung beschrieben vorgehen.
Die fhem Referenz (nur engl.) gibt auch noch Infos.
Für Langenhagen lautet die Yahoo ID 670178.
Kurz:
1. fhem.cfg ergänzen (siehe Kopiervorlage unten)
2. drei gnuplot Datein von Githup nach /fhem/www/gplot/ kopieren
3. fhem restarten
Zu 1.: Der Teil der in der fhem.cfg ergänzt werden muss für Langenhagen:
# Wetter von Yahoo (670178 = Langenhagen, 600=alle 600 Sekunden (10min) Yahoo abfragen, de=Sprache Deutsch)
define Wetter Weather 670178 600 de
attr Wetter event-on-update-reading temperature,humidity,pressure,wind_speed,wind_chill,wind_direction
attr Wetter group Umwelt
attr Wetter room 9.02_Steuerung
define FileLog_Wetter FileLog ./log/Wetter-%Y.log Wetter
attr FileLog_Wetter logtype temp4hum6:wind_speed|humidity|temperature,text
attr FileLog_Wetter room 9.90_Logs
define w_Wetter weblink htmlCode { WeatherAsHtmlD("Wetter") }
attr w_Wetter group Umwelt
attr w_Wetter htmlattr width_"220" height="330" frameborder="0" marginheight="0" marginwidth="0"
attr w_Wetter room 0.10_Langenhagen
define wl_Wetter_Luftdruck SVG FileLog_Wetter:myPress4:CURRENT
attr wl_Wetter_Luftdruck group Umwelt
attr wl_Wetter_Luftdruck room 0.10_Langenhagen
define wl_Wetter_Temp SVG FileLog_Wetter:myYahooWeather:CURRENT
attr wl_Wetter_Temp group Umwelt
attr wl_Wetter_Temp room 0.10_Langenhagen
define wl_Wetter_Wind SVG FileLog_Wetter:myWind4windDir4:CURRENT
attr wl_Wetter_Wind group Umwelt
attr wl_Wetter_Wind room 0.10_Langenhagen
So sieht es nach den ersten Messwerten aus, ja es ist noch keine Kurve. Aber immerhin:
Das sind diese Messwerte:Und die beiden anderen Punkte mit der Steuerung und Logs:
Fhem Server läuft nun mit Arduino Temperaturmessung erfolgreich unter OpenWrt auf WT-703N
Wie kann der verwendete Speicher auf dem WR703N mit OpenWrt und Fhem angezeigt werden?
Das geht mit dem Linux Befehl:
top
der nach der Anmeldung per SSH eingegeben werden kann. Man sieht gut, das fhem das unter Perl läuft und am meisten (37%) virtuelle Prozessgröße in KB (VSZ) verbraucht.
free
und ps
geben auch noch einige Größen an.
Die Spalte STAT
oder S
zeigt den Prozesszustand an und bedeutet:
- R – running (Prozess wartet auf den Prozessor)
- S – sleeping (Prozess schläft)
- D – Prozess ist in einem ununterbrechbaren Schlaf
- I – idle (Prozess wird gerade erzeugt)
- L – locked (eine Seite im Hauptspeicher wurde gesperrt)
- O – Prozess, der gerade die CPU beansprucht
- Z – Zombie (Prozess wurde beendet, aber Elternprozess hat noch nicht aufgeräumt)
- X – Prozess wartet auf freien Speicher
- T – Unterbrochen (gestoppt)
- W – Prozess ist ausgelagert
Wie kann Fhem auf OpenWrt aktualisiert werden?
Einloggen auf OpenWrt per SSL. Dann per Comandline:
und Enter drücken.
telnet 192.168.1.111 7072
Oder auch ohne per SSL einzuloggen und gleich per Telnet verbinden.
Nun erschein der fhem Prompt:
fhem>
Mit
update check
wird überprüft ob und welche aktualisierungen vorhanden sind.
Dann mit update force
werden alle Aktualisierungen erzwungen. Das kann dann ein paar Minuten dauern. Wenn der update fertig ist, muss noch ein shutdown restart durchgeführt werden.
Nach dem erneuten einloggen kann kontroliert werden mit
fhem> update check
List of new / modified files since last update:
nothing to do...
ob alles aktuell ist.
Mit Version
können die einzelnen Versions Nummern ausgegeben werden:
Berechnung der zu erwartenden Größe der Arduino Log Datei
Ausgehend von einem Eintrag, den der Arduino mit 2 Temp. Sensoren erzeugt, in dieser Form:
11-11-2013_11:11:11 Arduion.Temperatursensor_1 T: 20.12
Die Länge ist 55 Zeichen lang.
Bei einer Messung alle 10 Sekunden mit 2 Sensoren ergibt das
55 x 6 x 2 = 660 pro Minute
das sind am Tag
660 x 60 x 24 = 959.400
im Monat
959.400 x 30 = 28.512.000
im Jahr
28.512.000 x 365 = 10406880000
das sind dann in MB
10.406.880.000 / 1.000.000 = 10406,88 MB
also in GB
10.406,88 MB / 1000 = 10,40688 GB im Jahr.
Das ist zuviel für einen 8 GB USB-Stick.
Wenn die Messzeit um den Faktor 100 verlängert wird, also alle 10 x 100 = 1000 Sekunden (alle 16 Minuten), müsste im Jahr
10,40688 GB im Jahr / 100 = 0,1040688 GB im Jahr anfallen,
das sind dann pro Monat:
0,1040688 GB / 12= 0,0086724 GB oder
0,1040688 GB / 1000 = 104,0688 MB pro Monat
Wie kann per socat die seriellen Daten in eine Datei geschrieben werden?
Wie in diesen Blog -Eintrag beschrieben vorgehen. Aber dieses Script verwenden.
#!/bin/bash
LOGFILE=/usr/src/fhem/log/nano-temp-2013.log
DEV=/dev/ttyUSB0
BAUD=9600
while true; do
if [ -e $DEV ]
then
socat -d -d -u file:$DEV,nonblock,raw,echo=0,waitlock=/var/run/tty,b$BAUD $LOGFILE
else
sleep 2
fi
done
Wie kann mit Arduino die serielle Ausgabe über TCP ausgegeben werden auf dem TP-WR703N Gerät?
Der Arduino (NANO) wird per USB an den TP-WR703N (12.09) angeschlossen. Wie kann nun von einem anderen Rechner darauf per TCP (Telnet) zugegriffen werden?
Dazu erst socat auf den WR703 installieren mit
opkg update
opkg install socat
Socate (Version 1.7.2.1) kann bidirektionale Verbindungen aufbauen. Es verbindet den USB Port mit dem TCP Port.
Dann das folgende Script erstellen start-temp.sh, und evl noch die Schnittstelle DEV und den PORT und BAUD anpassen.
#!/bin/bash
DEV=/dev/ttyUSB0
PORT=1234
BAUD=9600
while true; do
if [ -e $DEV ]
then
socat tcp-l:$PORT,reuseaddr,fork file:$DEV,nonblock,raw,echo=0,waitlock=/var/run/tty,b$BAUD
else
sleep 2
fi
done
und ausführbar machen mit
chmod +x start-temp.sh
Dann kann das Script mit ./start-temp.sh &
im Hintergrund auf dem WR703N gestartet werden.
Nun kann von einem anderen Rechner mit
telnet ip-adresse 1234
die Ausgabe ausgegeben werden.
Will man das das Script autom. beim hochfahren des WR703N startet, muss es noch in der /etc.rc.local
eingetragen werden (aber vor exit 0). Das geht auch über Luci:
Evl. muss der USB Port einmal reconnected werden.