ws2300 - A Python Driver for the WS-2300

Introduction

ws2300 is an open source driver for the WS-2300, and as such does a similar job to Open2300 - albeit in a rather different way. If you are a programmer with a preference for Python ws2300 will be a better choice than Open2300 - and visa versa if you are a die hard C hacker. Otherwise I expect it will be a matter of taste.

Detailed Description

I wrote Ws2300 when I discovered there were things Open2300 didn't allow me to read. What started out as simple program to read those things became a complete replacement. It has a very different feel to Open2300. As you might imagine given the inability to read some data using Open2300 was the spark for its creation, you can read and set all of the Ws2300 memory from the command line. You can do this symbolically, but if Ws2300 doesn't know the symbolic name for a location you can do it in raw hex as well. For example:

ws2300 /dev/ttyS0 "in humidity" "out humidity"

ws2300 /dev/ttyS0 ih oh

ws2300 /dev/ttyS0 3fb:2 419:2

All these lines display the indoor and outdoor humidity. The first two lines do it in a nice human readable format, the last one does it in hex. And:

ws2300 /dev/ttyS0 "lcd backlight=on"

Turns on the backlight.

Ws2300 can also write data directly to csv files and to any SQL database supported by Python - or to multiple data sinks in any combination, and it can do this as a Linux daemon started on boot. And it can aggregate several samples into one record as it does so. For example it can record the minimum, maximum, median or average wind velocity over a period of time - or all four. If these capabilities don't suit your needs it can be used as a Python module, so you can use its library functions to collect the raw data and do what you will to it.

There are downsides of course. It is written in Python, so isn't really suitable for embedded devices where space is tight. Its startup time is big because the Python interpreter has to be loaded - but having a daemon mitigates this to some extent.

Installation

Debian and RPM style packages are provided at the home page, otherwise just download the tar ball and follow the instructions in the README. You can view the README on the home page.

Users Guide

A comprehensive man page is shipped with the program. It is also available in HTML format on the home page, so if this has spiked your interest I suggest you have a look at it.