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):
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.
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'
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
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).
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
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.
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.
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:
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.
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 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
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, ">>> ---------------------------------------------------------------------------------";
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.
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 ""
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
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
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
[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.
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
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
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"
voidsetup(void) {
// Initialisierung und setzen der Baud Rate 57000 bricht beim Nano ab // Startet den Kommandozeileninterpreter und führt den startup Makro aus
initBitlash(9600);
}
voidloop(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
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.
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
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:
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)
Einloggen auf OpenWrt per SSL. Dann per Comandline:
telnet 192.168.1.111 7072 und Enter drücken.
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:
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
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:
Unter Mac tut es ein
sudo port install googlecl und für andere Betriebssysteme (Win, Linux) hier schauen.
Dann ist für jeden Dienst eine einmalige Autorisierung nötig. Dazu auf der Komandozeile
google calendar list
eingeben. Es wird nach der E-Mail Addresse des Google-Account gefragt. Als Antwort gibt es einen Link, der im Browser nach eingabe des Passwortes bestätigt werden muss.
Ein
google contacts list Thomas
gibt dann alle Kontakte mit Namen Thomas aus. Will man die dann noch in eine Datei schreiben geht das z.B. mit
google contacts list Thomas > kontakte.txt
Ein
google calendar add "Testeintrag" fügt einen Kalendereintrag am heutigen Tag hinzu und ein
google calendar today gibt die Kalendereinträge auf der Konsole von heute aus. Eine Liste aller Kalendereinträge gibt es mit google calendar list.
Weitere Beispiele und Syntax gibt es im Manual oder jeweils mit
help, z.B. google help calendar.