Ursprünglich wollte ich 'nur' ein System entwickeln, mit dem man
die Raumtemperatur und relative Raumluftfeuchte abrufen kann. Das Abrufen
der aktuellen Daten sollte automatisiert erfolgen können, um
gegebenenfalls per SMS das Über-/Unterschreiten von Schwellwerten melden
zu können. Mit anderen Worten, eine einfache, automatisierte
Raumklimaüberwachung.
Das ist mit der Klimaüberwachung des städtischen Rechenzentrums Mülheim an der Ruhr geschehen.
Herausgekommen ist aber noch eine komplette Wetterstation, die allen
Anforderungen gerecht wird und nötigenfalls noch mit weiteren Sensoren
ausgestattet werden kann (Windrichtung, Windstärke, Regenmesser, ...).
Durch Einsatz
eines Terminalservers ist es sogar möglich, die C-Control Unit
von dem lesenden / auswertenden PC zu trennen und irgendwo im Intra-/Internet
zu plazieren.
ACHTUNG! - Die hier angebotenen Programme sind unter GPL gestellt und kommen OHNE Support!
Wer diese Programme benutzt und deren Ergebnisse verbreitet, sollte wenigstens den Urheber nennen... :-)
1.) Die Hardware
Die Hardware besteht aus einer C-Control/Basic Unit, einem
dazugehörigen Applicationboard und zur Zeit insgesamt 7 Sensoren.
Von den Sensoren sind 3 selbstentwickelt. Alle anderen Hardwarekomponenten
sind fertig bei Conrad Elektronik erhältlich.
Um die Kapazität der 'Offlinemessungen' zu erhöhen, wurde die
C-Control Unit noch mit einem anderen Eeprom von 8 auf 32 kByte umgerüstet.
Dieses Eeprom stammt von der Fa. Modul-Bus.
Ansicht der fertigen Wetterstation
Die Software besteht aus insgesamt 8 selbstentwickelten Programmen, die die
Steuerung der
C-Control Unit, das Auslesen der Sensoren, die Darstellung der Werte auf
dem Display, die Kommunikation mit einem angeschlossenen Computer,
die Erstellung von grafischen Auswertungen und das Erstellen der Webseiten
übernehmen.
Ein weiteres Programm ist in der Lage, die Unit mit neuen Programmen zu
versorgen.
Auch ein Internetdaemon ist realisiert, mit dem die Unit über das Internet
Ausgelesen werden kann.
Usage: readwetter [-option] [-option] [...] [device] This is readwetter running version: 1.0.1. Valid options are: -?/-h = print this message and exit -g = get value(s) from controller (default) -t = set time on controller -l = set logtime on controller -s = get status from controller (or start if in progmode) -v = be verbose (for debugging to tty) -p = run progmode -halt = stop a running controller device = device file (def: /dev/ttyS1)
Usage: wettergif [-option] This is wettergif running version: 1.0.0. Valid options are: -? = print this message and exit -f configf = read 'configf' instead of './wettergif.conf' -o outfile = Ausgabedatei -i infile = Eingabedatei -innen = plot Innentemp./-feuchte (default) -aussen = plot Aussentemp./-feuchte -h 24 = plot the last 24h -d 09.2000 = plot the month 09.2000 -all = plot all data (default) -v = be verbose (for debugging to tty)Hier das dazugehöhrige Configfile.
Hier eine Beispielauswertung.
Usage: cccontrol [-option]|[-option file] [...] [device] This is cccontrol running version: 1.0.0. Valid options are: -?/-h = print this message and exit -g = get version from controller (default) -t = set time on controller -sb file = send BASIC-object (and SYS) file to controller -db = dump BASIC-object file from controller to stdout (CCBASIC format) -so file = send Motorola S19 object file to controller -bdi = binary dump internal EEPROM to stdout (Motorola S19 format) -bde = binary dump external EEPROM data file to stdout (WARNING - Controller must be reset! - Bug in C-Control-os) -v = be verbose (for debugging to tty) device = device file (default: /dev/ttyS1)
welt$ telnet localhost 6001 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /readwetter+-g HTTP/1.1 200 OK Content-type: text/plain Connection: close Pragma: no cache Expires: now Date: Sat Mar 17 11:28:40 CET 2001 Content-length: 74 17.03.2001 11:28:40;20,0 °Ci;999 hPa;57 %i;79,3 kLux;8,4 °Ca;98 %a;9,0 V Connection closed by foreign host. welt$Die URL im Browser waere: http://localhost:6001/readwetter+-g
welt$ netcat localhost 6001 readwetter -s 17.03.2001 12:32:04;v0.4 ;0 rows, 2218 rows free (26624 Bytes) conn:1 Log:20 Min welt$