I've been reading temperatures into XTension for quite a while now but the
software has had a distinct hackyness to it involving many different pieces to get it to work. Weeder Reader
for XTension brings it all into one place and it lands directly into XTension automatically.
The program provides an interface to the Weeder Technologies Analog Interface Board. This gives you a serial protocol that Weeder Reader can talk to. At this point the software is available for both classic and OSX versions of Macintosh OS but only supports a single weeder board connected to each port. If you have multiple boards connected to separate serial ports you can still use the program by running a separate instance of it for each port. The hardware necessary to do this is discussed in detail further down the page.
The setup of the program is pretty straightforward. There isn't even a preferences dialog as everything you need is on the main window. For this first release there aren't any instructions in the package, this is it right here:
If you're using a USB/Serial adaptor to connect the board it will probably have some silly, very un-mac like name as in the screen shot above.
You can have many weeder boards cascaded off the same port, this is not currently supported by the software but you still have to tell it what the ID of the board you do have is.
tells the program to open the port and begin sampling immediately when the program is launched. You'll want to do this if you have the program restart by itself without you sitting at the machine.
On some of my longer runs I get quite a bit of variation in the reading from the sensors. If you turn this on 5 samples will be taken about half a second apart. The highest and lowest will be thrown out and the remaining 3 averaged together.
How many minutes between each sample. If you want to sample very quickly for some reason you can enter fractional minutes here, like "0.05" or whatever you like.
The name of the unit in XTension that it should set to the read value. leave it blank to ignore that input.
There is an excellent AppleScript solution for talking to these units but it requires a scripting extension that I don't believe is available for OSX. It supported the rest of these settings and to remain compatible I have added them here as well. If the change in value (after calculating in the next 2 transforms) is greater than this value the new value will be sent to XTension, otherwise it will be ignored.
Multiplied by the value returned. The Weeder board returns values in integers in 10ths of a degree. So 75.2 degrees is returned as 752. If you don't want the 10ths then multiply by the default of 0.1 to have only whole degrees. If you're like me and want to watch it changing as little as possible then change this to 1 to disable it.
Added to the value as returned. Use this to calibrate your sensors. Ones on longer runs of cable may need to have a couple of points added to them to compensate for line loss. Enter a 0 to disable it.
This program is released as freeware. Home Automation is rather a money pit, believe me I know! However, you should feel free to show me how much you are enjoying having things connected to your Macintosh by donating $5 via paypal or thinking about purchasing other inexpensive software titles from my online store That also shows me that folks are actually using the software and would like to see development continue. Thanks.
for folks that want more control over the sampling, need support for multiple weeders on the same port or dont want to put the information directly into XTension they can still download the previous version which provides only an AppleScript interface to the data. This requires some experience with Apple Script to make work.
The weeder board is inexpensive and serial port based
so is easily compatible with the Mac without waiting for them
to release specialty USB driver software. However, if you're
connecting to a modern Mac you will need a USB/Serial adaptor
Which does add a bit to the overall cost.
For powering the board and the sensors I use the same power supply that I use to power my VFD Display project. Any 12v supply will work just fine. There are screw terminals on the board for power. You must also connect the negative side of the power supply that you're going to use for your sensors to the pin marked "comm" or you won't get anything but random numbers from the software.
In my case the board is directly connected to a 4 port Keyspan USB/Serial adaptor and
attached to a board in my "data closet" where all the cabling ends up. It doesn't require any fancy
cases or anything to make it pretty, but you can feel free to mount it in a case if you wish.
Yes, I'll be dressing up all those cables eventually and make it look all nice and pretty but at the moment the whole setup is rather in flux and changes periodically. If I did it now I'd just end up tearing it all down and starting over.
Thats all there is to setting up the board itself. Power, Serial port and then the sensors which I'll deal with in more detail below.
Here are a couple of my home brew temperature sensors that are stuck around the house.
The bigger one is just another one like the smaller, but instead of being encased in some heat shrink tubing they are potted in a big hunk of hot glue. This provides for some buffering, otherwise the measurement can change with just a gust of wind or breath of air. These are also then spray painted white for better hiding them around the place.
They are based on the LM34 Precision Fahrenheit Temperature Sensor which can be bought from digikey or mouser for a couple of bucks a piece and are very easy to use. They don't look any different than a regular transistor and have 3 leads like:
They work with any voltage from 5 to 30 volts, so the same 12 that you're using for the weeder board is fine. 2 leads are positive and negative and the center is the variable return indicating the temp. For short runs no other circuitry is needed and the output can just be wired directly into the weeder board. However, on longer cable runs (more than 10 feet or so) you'll want some buffering to take care of noise on the line that will interfere with the readings. There are some other circuit designs available in the app notes at the above link to National Semiconductor, but I use this circuit which was sent to me quite some time ago by Chuck Coleman:
It requires only a few cents of extra components, 2 capacitors and a resister. It's easy to assemble, even for someone without much in the way of soldering skills and can be built around the sensor without any need for a pc board or other packaging. The orientation or layout of the parts is not critical. More Excellent construction pictures and information from Chuck are available HERE
Once the sensors are built and the board connected and the software installed you will need to run cables for these. I use cat5 cable which works quite well but there is fairly easy attic access in this house to get the wires around. Each sensor requires 3 wires, 2 for power and one for the return. In order to cut down just a little more on noise I use a pair for the ground and the signal and leave the supply separate. You can run several sensors through the same cat-5 if you wish.
I'm sure that these sensors are available for purchase from various places. But they are easy to make and very inexpensive if you put them together yourself. Purchasing them elsewhere will probably add a zero to the cost. You can make these yourself!
This is an analog system and is prone to noise and not as accurate as some other digital systems might be. There are many other potential sources for things to read temperature into your Mac. This is just the way I have chosen to do it because of how easy it is to get started and talking to the weeder board and sensors are readily available and cheap. In the future I will be experimenting with one wire systems from Davis and perhaps even an RS485 buss around the house. But for now these are working very well and help me to create graphics like:
And control attic exhaust and such based on internal/external and attic temperatures. I am also slowly adding communicating thermostats to the house and will be adding them into the system for better HVAC control.