Installieren und Einrichten der Software für die WS2300
GCC Compiler installieren
Damit ich die Open2300 Software kompilieren kann muss ich zu erst noch den GCC Compiler installieren.
~# aptitude install build-essential
Aptitude löst die Abhängigkeiten besser auf, habe ich gelesen, und nur mit
~# apt-get install gcc
hat mir der make Befehl noch gefehlt. Jetzt könnte man schon alle Open2300 Programme kompilieren,
außer mysql2300. Damit man das kompilieren kann müssen noch die Entwickler Bibliotheken von mySQL installiert werden.
~# aptitude install libmysqlclient15-dev
Ich vermute jetzt mal die 15 hat was mit der Version zu tun und kann sich in Zukunft auch ändern.
Open2300 kompilieren und installieren
Zu erst habe ich mir die aktuelle Software herunter geladen und zwar die Datei open2300-1.10.tar.gz von
Kenneth Lavrsen Wiki Open2300.
Ich habe die Datei im Home Verzeichnis des Benutzers auf dem Alix Server gespeichert, also in /home/user.
Ich habe das File auf meinem Rechner herunter geladen und dann mit FTP (FileZilla) auf das Alix übertragen. Wenn man die genaue Download URL kennt,
kann man es auch direkt auf dem Alix mit
~$ cd /home/user
~$ wget URL
machen. Jetzt kann man die Dateien entpacken und kompilieren:
~$ tar -xvzf open2300-1.10.tar.gz
~$ cd open2300-1.10
~$ make all
~$ make install
~$ make mysql2300
~$ install mysql2300 /usr/local/bin
Jetzt ist die Software fertig installiert. Wenn die Wetterstation an COM1 angeschlossen wird also /dev/ttyS0, die erste serielle Schnittstelle,
dann muss jetzt nichts mehr gemacht werden. Ist das nicht der Fall sollte man die Datei /etc/open2300.conf angelegt werden.
Ein Muster dafür ist in /home/user/open2300-1.10 als open2300-dist.conf abgelegt.
Wenn die Wetterstation angeschlossen ist, kann jetzt schon mal getestet werden:
~$ cd /usr/local/bin
~$ fetch2300
Jetzt sollten die aktuellen Werte der Wetterstation auf der Konsole angezeigt werden. Ist keine Wetterstation dran, dann hängt das Programm und muss mit <Strg>+C abgebrochen werden.
Als nächstes habe ich den Inhalt von htdocs in das Web Root kopiert.
~$ cd /home/user/open2300-1.10/htdocs
~$ cp * /var/www
Jetzt dachte ich sollten im Browser unter http://192.168.1.77/weatherstation.php die Daten der Wetterstation angezeigt werden. Leider war es nicht so,
bis ich herausgefunden hatte, das der Apache, bzw. PHP, keine Rechte hatte um die serielle Schnittstelle zu öffnen. Also für die erste serielle Schnittstelle sehen die Änderungen so aus:
~$ cd /dev
~$ chmod 666 ttyS0
Jetzt ist wurden die Werte im Browser korrekt angezeigt, nur ein bisschen schön machen muss man noch alles. Nach einem Neustart des Rechners besitzt /dev/ttyS0 wieder die Rechte 660,
so dass chmod keine dauerhafte Lösung ist. Also habe ich mal nachgesehen unter welchem Benutzer der Apache läuft, das war bei mit www-data,
und zu welcher Gruppe ttyS[0-1] gehört, das war bei mir dialout. Und dann habe ich den Apache Benutzer in die Gruppe aufgenommen:
~$ usermod -G dialout www-data
Das sollte auch die bessere Lösung sein, denke ich.
Wetter Datenbank
Man kann die Wetterdaten auch in eine mySQL Datenbank schreiben. Dazu legt man als erstes eine Datenbank open2300 und einen Benutzer open2300, mit den Rechten für die Datenbank open2300
und dem Passwort mysql2300, an. In der Datenbank open2300 erstellt man eine Tabelle weather, die Struktur befindet sich bei der Open2300 Software in der Datei mysql2300.sql.
Datenbank, Benutzer und Passwort sind die Standardwerte in Open2300. Man kann auch andere Namen wählen, muss aber dann eine entsprechendes Config File open2300.conf anlegen.
Jetzt sorgen wir doch dafür, das das Programm /usr/local/bin/mysql2300 alle 10 Minuten ausgeführt wird und schon füllt sich unsere Datenbank.
~$ crontab -e
aufrufen und die Zeile
*/10 * * * * /usr/local/bin/mysql2300
eintragen. Für die Auswertung habe ich mal das Programm WeatherOffice getestet. Die Software gibt es unter http://sourceforge.net/projects/weatheroffice/,
oder mal googeln. Es mus eine Datei weatherDataInclude.php erstellt werden, die Vorlage dafür ist weatherDataInclude-dist.php.
Dann musste ich noch den Ordner jpgraph-2.1.4 in jpgraph_php5 umbenennen, damit die Grafiken angezeigt werden.
Und eine Datei logo.html, nach dem Muster von logo-dist.html, muss noch erstellt werden.
Der Aufbau der Grafiken ist für den kleinen Server schon eine ganz schöne Belastung, ich bin mir nicht sicher was passiert, wenn zwei, drei Leute gleichzeitig zugreifen.
Die Auswertung selber ist in Ordnung, man könnte das ganze noch ein bisschen auf schönen. Die Grafik für die Jahresauswertung wurde bei mir nach 30 Sekunden vom Timeout abgebrochen.
Verbrauchter Speicher
Jetzt habe ich mir mal den bisher verbrauchten Speicher auf der 4GB CF Karte angesehen. Das geht mit:
~$ df -h
Und es waren 30% belegt und 70% frei, das ist noch genug Platz für Wetterdaten. Die System (CPU) Auslastung kann man sich mit:
~$ top
anzeigen lassen. Wenn die Grafiken im Wetter Office aufgebaut werden geht die dann schon schnell an die 100% heran.

© 22.10.2009 Hans-Jürgen Jacob (Pirna) |
