SourceForge.net project-site |
Telmet | Deutsch |
telmet is a highly specialised program that reads data from the Conrad Electronics Telemetry system catalog number 108677-99 and was especially designed to collect meteorological data. Therefore it works well with lower framerates (less than one frame per second) and causes no problems running 24-7 (longest observed uptime is more than eight months). The sensors supported are the eight analogue sensors and the counter. Telmet runs on Linux and is non-interactive. It is configured usinga text-based configuration file.
Telmet is pretty stable and useable (It serves as a backend for http://www.tfg-duesseldorf.de/wetter). I do not intend to make any major development efforts (one exception, see To Do). However, this might change if there is demand. Contributions of any form (bugreports, patches, documentation, a cool logo, anything) are more than welcome.
Telmet is released as Free Software under the GNU General Public License Version 2.
Included in the distribution, but also available online: documentation.txt and an example telmet.conf
30 March 2003: Telmet v0.1 released |
To compile telmet you will need a typical linux build environment. Furthermore, telmet makes use of libdotconf 1.0.9 by Lukas Schroeder which can be obtained at http://www.azzit.de/dotconf. Apart from that you will need the original Conrad Electronics "Tables" for preprocessing, as I did not include them because of possible copyright issues.
Telmet reads the data from a serial port and converts the bytecodes in the 14-Byte-long frame into the actual values. For doing this it uses the Conrad Electronics "Tables". Those tables are plain text files that contain one value per line. Each corresponding the the bytecode of the linenumber-1, which is why they have 256 lines. The converted frame is then passed on to an arbitrary number of processors that do the actual output.
To control what data is written, each processor defines so-called "data-channels". Each data-channel has a formula to compute its value outof the values in the arriving frame. There are two types of processors. "viewProcessor" writes the data to stdout and "fileProcessor" writes it to a file. The format is MySQL-friendly: "YYYY-MM-DD HH:MM:SS";<Channel1>;<Channel2>;...
It all started back in 1996, when my school bought one of those telemetry systems. The software it came along with wasn't very convenient for the kind of use we had in mind, so I started working on another program ("telmet"). After some experiments with Turbo Pascal for Windows I started from scratch with Turbo Pascal 6.0 and Turbo Vision. The program gradually improved and was highly configurable in the end. However, I wanted the data to be automatically transferred to our school website and to be available over a web interface on our intranet and as DOS isn't the ideal environment for such application and setting up two computers just to handle a 14-Byte-long frame seemed a little much to me, I started implementing the design of the DOS program in C++ on Linux. As Linux is a far more powerfull OS than DOS with lots of tools available, telmet for linux only does some basic processing of the data. The actual conversion into HTML-Files or graphs is done using a MySQL database and gnuplot together with a bunch of scripts. Click here to see that it works :). (If you are interested in the scripts I use, just write me a mail)
Of course, there's always lots to do ;). A thing the program does need is a mathematical parser that allows a more flexible computation of the values of data-channels. The one used at the moment is actually just a little switch-statement and doesn't deserve the name "parser".
telmet-0.1.tgz. The tarball also contains documentation and an example config-file. (Online-versions: documentation.txt; telmet.conf)
For any comments, contributions etc: Kai Stannigel <pianotux@sourceforge.net>