Linux-Software für WS2300-kompatible Wetterstationen
Lange habe ich meine Wetterseite mit einem selbst geschriebenen Programm auf Basis der
OPEN2300-Bibliothek von Kenneth Lavrsen gefüttert.
Allerdings war mir die Übersetzungszeit auf einem Raspberry Pi einfach zu lang, weil in den Quelltexten sehr viele
Sachen enthalten sind, die ich nicht brauche. Zudem gibt es die Treiber sowohl für
Linux als auch für Windows, letztere brauche ich aber nicht (mehr).
Also entstand die Idee, diese Bibliothek als Grundlage für eine eigene Entwicklung
zu nehmen. Hierbei habe ich Wert auf klare Struktur und möglichst schnellen Code
gelegt. Daraus sind einige Module entstanden, die folgende Kriterien erfüllen :
- Code nur für Linux
- Strukturierung des Projekts in einzelnen Verzeichnissen
- Zusammengehörende Funktionen und Daten befinden sich im gleichen Modul
(Source- und Include-Datei)
- Modulinterne Funktionen und Daten sind statisch deklariert
- Die API der einzelnen Module enthält nur die extern notwendigen
Funktions- und Typdeklarationen
- Innerhalb eines Moduls gibt es keine Funktion, die hier nur einmal aufgerufen
wird
Aus diesen Überlegungen ist das Programm "weather23k" entstanden. Es ist keine
allgemein verwendbare Bibliothek, sondern ein komplettes Programm, um
- die Daten aus einer WS2300-kompatiblen Wetterstation auszulesen
- diese Daten zu loggen (lokal und auf einem FTP-Server)
- ausgewählte Daten für eine Webseite zur Verfügung zu stellen
- mit einfacher Debug-Möglichkeit
Noch ist das Programm in Entwicklung, erfüllt aber bereits die genannten
Anforderungen. Es ist inzwischen auf einem
Raspberry Pi B im Einsatz.
Aufruf und Optionen :
~/weather23k$ bin/weather23k -h
weather23k V1.00 (c) Uwe Jantzen (Klabautermann-Software) Feb 6 2018
Usage:
weather23k [options] [<configuration
file>]
Options:
-v
verbose, show data read from the weather station
-d
debug, show more data (eg. ftp, logging ...)
-h
show this help then stop without doing anything more
-c
start the password encoder
If no configuration file name is given the file "conf/weather23k.conf" is used.
~/weather23k$
Auf
GitHub sind die Sourcen, Dokumentation und Verwendungsbeispiele hinterlegt und
können mit dem Befehl
git clone https://github.com/KlabautermannSW/weather23k.git
geklont oder als ZIP-Archiv mit dem Befehl
wget https://github.com/KlabautermannSW/weather23k/archive/master.zip
heruntergeladen werden.
© Uwe Jantzen 28.11.20