SourceForge.net
project-site
Telmet English

telmet wurde speziell für die Wetterbeobachtung mit dem Telemetrie-Systems Best.-Nr. 108677-99 der Firma "Conrad Electronic" geschrieben. Es ist daher eher für niedrigere Datenraten (unter einem Datenrahmen pro Sekunde) ausgelegt und bereitet keinerlei Probleme im vierundzwanzig Stunden-Dauerbetrieb. Unterstüzt werden die acht analogen Sensoren des Systems, sowie der Zählereingang. Telmet ist für Linux geschrieben und ist nicht interaktiv. Es wird über eine Textdatei konfiguriert.

Telmet ist recht stabil und hat sich im Dauereinsatz bewährt. (Es liefert die Daten für http://www.tfg-duesseldorf.de/wetter) Deswegen beabsichtige ich im Moment nicht, abgesehen von Bugfixes, grösseren Entwicklungsaufwand zu betreiben (eine Ausnahme, siehe ToDo). Trotzdem sind Beiträge aller Art (Dokumentation, Bugreports, Patches,...) natürlich willkommen

Telmet ist Freie Software und untersteht der GNU General Public License Version 2.

Online Versionen der auch im tar-Archiv enthaltenen Dateien documentation.txt und einer Beispiel telmet.conf

30 March 2003: Telmet v0.1 freigegeben

Vorraussetzungen

Telmet kommt im Quellcode daher, weswegen man zum übersetzen eine Typische Linux- Umgebung mit Compiler braucht. Ausserdem benutzt Telmet die libdotconf Version 1.0.9 von Lukas Schroeder. Man kann diese auf http://www.azzit.de/dotconf herunterladen. Darüber hinaus werden die Original Conrad-"Tabellen" für die Konvertierung der Byte-Werte in Messwerte benötigt. Ich habe sie nicht mit in das Archiv gepackt, weil ich mir nicht sicher über die Copyright-Bestimmungen von Conrad war.

Design

Telmet liesst die Daten, die in Blöcken von 14 Byte ankommen, von einer seriellen Schnittstelle und konvertiert die Bytewerte in die eigentlichen Messwerte. Dazu wird je eine Conrad-Tabelle verwendet, die im wesentlichen eine Datei mit 256 Zeilen mit je einem Messwert ist. Der Messwert zu einem Byte- wert steht dabei in der Zeile Byte-Wert-1. Der Konvertierte Datenrahmen wird dann an eine beliebige Anzahl von "processors" weitergereicht, die die eigentliche Ausgabe der Daten durchführen.

Um festzulegen, welche Daten genau in die Ausgabe sollen, definiert jeder "processor" eine beliebige Anzahl von Datenkanälen ("Channels"). Ein Datenkanal besteht im Wesentlichen aus einer Beschriftung und einer Formel, mit der der Wert des Kanals aus dem Datenrahmen berechnet werden kann. Es gibt einen "viewProcessor" zur Bildschirmausgabe und einen "fileProcessor", der die Daten in eine Datei schreibt. Das Format dieser Datei ist MySQL-freundlich: Das erste Feld ist die Zeit ("YYYY-MM-DD HH:MM:SS"); darauf folgen die Werte der Kanäle in der Reihenfolge ihrer Definition. Die Felder werden durch ";" getrennt.

Geschichte

Alles fing damit an, dass meine Schule 1996 eines dieser Telemetrie-Systeme anschaffte. Nach einigen anderen Projekten fing ich 1998 an, an einer Auslese-Software zu arbeiten, da das mitgelieferte Programm nicht unseren Vorstellungen entsprach. Nach einigen weniger erfolgreichen Experimenten mit Turbo Pascal für Windows fing ich an, unter DOS mit Turbo Pascal 6 und Turbo Vision zu programmieren. Das Programm wurde immer besser und war am Ende hoch-konfigurierbar. Da ich die Wetterdaten aber gerne aitomatisch auf unsere Schulhomepage stellen und sie ausserdem im Intranet über ein Webinterface ferfügbar machen wollte, fasste ich schließlich den Entschluss, Teile des Designs mit C++ auf Linux zu portieren. Linux hat den Vorteil, dass es Netzwerk-tauglich ist und sich eine ganze Menge von Aufgaben mit Bordmitteln erledigen lassen. Aus diesem Grund bietet Telmet für Linux nicht so viele Optionen und Möglichkeiten, wie Telmet für DOS, was durch ein paar Skripte ausgeglichen wird. Hier klicken, um zu sehen, dass es funktioniert.

To Do

Natürlich gibt es immer viel zu tun ;). Was das Programm dringend braucht ist ein vernüngtiger Parser zur Berechnung der Kanal-Werte. Im Moment findet da nur ein kleines switch-Statement Anwendung, das den Namen "Parser" nicht wirklich verdient.

Download

Die Telmet-Quellen gibt's als "Tarball" über SoureForge: telmet-0.1.tgz Enthalten sind auch Dokumentation und eine Beispiel Konfigurationsdatei.

Kontakt

Für Anregungen, Kritik, Beiträge,Fragen etc.: Kai Stannigel <pianotux@sourceforge.net>

SourceForge.net Logo
Letzte Änderung: 2003-04-07