Wetterstation WS 2500 - Weitere Sensoren und Auslesen unter Linux

warning: fread(): Length parameter must be greater than 0 in /var/www/elchs-kramkiste.de/lapurd/includes/common.inc(1695) : eval()'d code on line 19.

Fortsetzung von:
WS 2500 - Der Anfang

run per /etc/init.d/setserial

# setserial /dev/ttyS0
# stty 19200 cs8 cstopb parodd parenb -F /dev/ttyS0
# cd /home/system1/Desktop/ws2500progs/pcwsr-0.1.4/pcwsr-0.1.4 
# ./pcwsr /dev/ttyS0

oder

# /home/system1/Desktop/ws2500progs/pcwsr-0.1.4/pcwsr-0.1.4/pcwsr /dev/ttyS0


Fri Mar 14 2008 17:30:32 | outdoor (version 12 at address 0x0e) | T[C] 7.9 | H[% rel.hum] 0
Fri Mar 14 2008 17:31:35 | outdoor (version 12 at address 0x0f) | T[C] 14.3 | H[% rel.hum] 61
Fri Mar 14 2008 17:31:59 | brightness (version 12 at address 0x0f) | [klx] 272
Fri Mar 14 2008 17:32:09 | rain (version 12 at address 0x0f) | [Impulses * 0.37mm] 1
Fri Mar 14 2008 17:32:35 | wind (version 12 at address 0x0f) | Speed[km/h] 4.7 | Direction [] 20 +/- 67.5
Fri Mar 14 2008 17:32:39 | outdoor (version 12 at address 0x08) | T[C] 2.0 | H[% rel.hum] 79
Fri Mar 14 2008 17:32:42 | indoor (version 12 at address 0x09) | T[C] 21.4 | H[% rel.hum] 42 | P[hPa] 1005
Fri Mar 14 2008 17:32:48 | outdoor (version 12 at address 0x0c) | T[C] 6.0 | H[% rel.hum] 0

Für eine neue Datei (">") nun

# /home/system1/Desktop/ws2500progs/pcwsr-0.1.4/pcwsr-0.1.4/pcwsr /dev/ttyS0 > /home/system1/ws2500.txt

oder zum Anhängen an eine bestehende Datei (">>")

# /home/system1/Desktop/ws2500progs/pcwsr-0.1.4/pcwsr-0.1.4/pcwsr /dev/ttyS0 >> /home/system1/ws2500.txt

eingeben und dann jeweils:

# tail -f /home/system1/ws2500.txt

zum Beobachten der Dateieinträge (Ausgabe in Console-Fenster).

Sensor-Adressen:

Mit dem Testempfänger kann man nicht die Werte des in der Basisstation eingebauten Innentemperatur-, -luftfeuchte- und Luftdruckmessers erfassen. Deshalb braucht man zusätzlich einen S 2001 ID-Sensor.

Eingestellte/einstellbare Sensoren:


ID 8 => outdoor (version 12 at address 0x0f) => S 2001-I - T/F-Messung - Waschküche
ID 7 => outdoor (version 12 at address 0x0e) => S 2001 IA - Temperatur-Fühler - Teich
ID 6 => outdoor (version 12 at address 0x0d) => AS 2000 - Regenmelder-Eigenbau (mit Conrad-Regenmelder)
ID 5 => outdoor (version 12 at address 0x0c) => AS 2000 (modifiziert) - Temp.-Messung des Warmwasserspeichers
ID 4 => indoor (version 12 at address 0x09) => S 2001 ID - T/F/Druck-Innenmesser
ID 3 => noch frei
ID 2 => noch frei
ID 1 => noch frei

Angezeigt in pcwsr:

0x08 = 8 = Temperatur und Luftfeuchte des Set-Außensensors der WS-2500-Basisstation (steht auch außen)
0x09 = 9 = Innensensor für T/H/P S 2001 ID
0x0e = 15 = Außentemperatursensor (Teich)
0x0f = 16 = Helligkeits- / Sonnenmesser (Set)
0x0f = 16 = T/F-Messer in Waschküche (muss wohl um 10 angehoben werden, da an Innenwand und z.B. nur 54 % LF statt 64 anzeigt)
0x0f = 16 = Regenmesser (Set)
0x0f = 16 = Windsensor (Set)

pcwsr lässt sich übrigens problemlos an einem Seriell2USB-Adapter betreiben, ohne irgendwelche Einstellungen vornehmen zu müssen. Dahingegen lässt sich das nachfolgende ws2500-Prog nicht an diesem Adapter betreiben. Es kommt immer die Meldung, dass DTR nicht erkannt wurde.

Hier die Meldungen des Systems beim Anstöpseln des Targus-Adapters:


Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: new full speed USB device using ohci_hcd and address 4
Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: new device found, idVendor=0711, idProduct=0230
Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: new device strings: Mfr=1, Product=2, SerialNumber=3
Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: Product: Targus Group Intl
Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: Manufacturer: Targus Group Intl
Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: SerialNumber: 311080
Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: configuration #1 chosen from 1 choice
Mar 25 10:24:58 sys1fst1 kernel: mct_u232 2-1:1.0: MCT U232 converter detected
Mar 25 10:24:58 sys1fst1 kernel: usb 2-1: MCT U232 converter now attached to ttyUSB0


ws2500-Programm:

ws2500 per ./runinstall im entpackten Verzeichnis gestartet (Abbruch der Install-Routine bei den MySQL-Parametern)
ws2500 funktioniert mit den gleichen Einstellungen der seriellen Schnittstelle wie "./pcwsr"

# cd /home/system1/Desktop/ws2500progs/ws2500-1.2/ws2500-1.2
#  ./ws2500 -p /dev/ttyS0 -f

Ausgabe:


+ Warning: Hum value from TH sensor 1 is invalid. Set to minimum: 20
+ Warning: Hum value from TH sensor 7 is invalid. Set to minimum: 20
Data Blocknumber: 107
Date: Tue Mar 4 05:30:56 2008
Station: 1
Temp/Hum 1 (1 drop outs): T: 0.0 C, H: 20 %, New: h
Temp/Hum 7 (0 drop outs): T: 21.0 C, H: 20 %, New: h
Temp/Hum 8 (1 drop outs): T: 14.4 C, H: 60 %, New: 0
Inside (0 drop outs): T: 21.0 C, H: 45 %, Pressure(a): 1005 hPa, New: 0
Wind (56 drop outs): Speed: 0.0 Km/h, Dir: 0�, Var: 0.0�, New: 0
Light sensor (0 drop outs):Light: 0 lux, Factor: 1, IsSun: 0, New: 0

Durch die Lagerung brauchen die Sensor-Solar-Akkus wohl erst mal ein wenig (Tage?!) Dauerlicht, um längerfristig reaktiviert zu werden bzw. funktionieren zu können (daher wohl die Dropouts). Mal den morgigen Tag (lt. Wetterbericht etwas sonniger als heute) abwarten ;-) ... Anmerkung: Die Empfangsqualität scheint nicht nur vom Schönwetter abhängig zu sein, sondern vor allem von der richtigen Lage des Empfangsteils. Ist dieses z.B. nur ca. 20 cm hinter der Fensterscheibe platziert, werden einige Außensensoren (vor allem die mit der Solarzelle, denn die Innensensoren mit Batteriebetrieb konnte ich sogar durch 2 Stahlbetondecken empfangen) nicht empfangen bzw. nur sporadisch. Liegt das Empfangsteil dagegen nur max. 5 cm hinter der Fensterscheibe ist - trotz mittlerweile geschlossenem Rolladen - ein Empfang aller Sender möglich. Die Lieferung des Qualitäts-Empfangsmoduls erwarte ich gespannt...

Beim Auslesen aller bisherigen Daten (hier vom 05.03.2008 bis 16.03.2008) per

# ./ws2500 -x -p /dev/ttyS0 > ws2500_all20080316.txt

erhalte ich immer wieder einen "Speicherzugriffsfehler" und die Ausgabe in der *.txt-Datei endet immer an der gleichen Stelle, nämlich am 15.03.2008 um 16:31 Uhr.

Erst als ich die Daten mit der Option "-t", also per

# ./ws2500 -x -t -p /dev/ttyS0 > ws2500_all20080316.txt

ausgelesen habe, erhielt ich alle bisherigen Messergebisse in einer Datei. Und mit dieser "Terse"-Datei kann ich evtl. auch mehr anfangen..

Immerhin waren das jetzt über 1.000 Messzeitpunkte...

Mein weiterer Ausbau der WS 2500 wird beschrieben unter:
- WS 2500 - Temperaturfühler für Solar-Warmwasserspeicher