Reading Arexx TL-500 with Python on Linux – Part II

My first script was changed a little bit to get nicer output. It can now log the raw data received from the Arexx unit (in hexadecimal form) and uses separate log files for the sensors. Sensor numbers can be mapped to other names using a dictionary.

I use two TL-3TSN, one TSN-50E (long range) and one TSN-EXT44 (external), all values seem to be correct with this script.

http://download.j-raedler.de/Python/pyArexx/tl500_v0.3.zip

Using KDE’s kwallet with Firefox/Iceweasel

Konqueror is a good browser, but sometimes you need to use Firefox (called Iceweasel on Debian). I discovered a plugin to let FF store its passwords in kwallet, but after installation of the plugin all passwords were gone.

Fortunately you can disable the plugin and the old passwords are still there. So if you want to switch to this plugin you should use the following procedure:

  1. install the Password Exporter plugin
  2. export your passwords to a text file using the plugin
  3. install the kwallet plugin
  4. import your password file using the Password Exporter plugin
  5. check the entries in the section Firefox of your kwallet using the kwalletmanager
  6. don't forget to delete the exported file

This worked for me.

Reading data from the Arexx TL-500 on Linux

Some days ago I was looking for a temperature monitoring solution for some rooms and 19"-racks at the university. The Arexx TL-500 looked promising and I bought it. Unfortunately there are only Windows drivers available. But some people already analyzed the communication protocol and hacked a simple version of a linux driver:

http://www.algorithm-forge.com/techblog/2010/01/linux-usb-driver-for-the-arexx-tl-500-part-ii/

There's even a small logger hardware (ARM-based) using this device:

http://rndhax.blogspot.com/2010/03/friendlyarm-mini2440-arexx-tl-500.html

As a python fan I couldn't resist porting this to python to get a small and flexible script. It can be easily extended to save the data, create charts (maybe using matplotlib) or present a web interface.

By looking at the raw data I noticed that bytes 6 and 7 (maybe more?) contain a time value. Maybe it counts the seconds since the initialization of the device?

The first version of my script is mainly a port of the C program. The script uses pyusb 1.0, a python wrapper for libusb 1.0. You may have to install it manually, most linux distributions come with older versions.

http://download.j-raedler.de/Python/pyArexx/tl500_v0.2.zip

I plan to extend this to a python package using OO, cleaner interfaces, better error handling and more.