Thursday, April 21, 2011

Updated the Xbee page

I put a picture and description of the XBee thermometer I made on the "World of Xbee" page (tab above).  This was the first "XBee only" project I tried and it went surprisingly well.

Wednesday, April 20, 2011

Expanding the System even more

The lessons I've learned about XBees and ethernet on an Arduino started coming together.  My latest project is expanding the monitoring around the house.  I followed up on my own ideas and put my Mega 2560 in an enclosure with it's ethernet card and an Xbee running in API mode.  I sample the two thermostats and average their temperature reading giving me the inside temperature.  Then I mounted an XBee to the side of a wall wart and hooked a temperature sensor to the side of it and plugged the new device into an outlet outside.  I now have outside temperature available.

That means I absolutely HAVE to upload it to Pachube doesn't it?  I put code in the new box to support a web server and client for Pachube and now I have all the readings from before regarding power but also record the outside temperature as well.  One funny thing is that the LM34 temperature sensor combined with the 1.2 volt maximum on the XBee means I have a maximum temperature of 120F that I can record.  Well....this is Arizona and it gets over that pretty regularly in the summer so I used a voltage divider to double the range up to 240F.  Let's hope that's enough (global warming and all).

I'm going to create a new page for the new black box I'm calling the House Controller and put the wall wart temperature sensor on the XBee page.  Those little XBees are not the cheapest radios in the world, but the temperature sensor is wireless and still has three analog ports I can use for around $28.  If I was to use one of the cheaper radios and arduino with the supporting hardware, I'd be pushing at least $40.  At some point in the future I'm going to have these little radios all over the house

The pachube page is :  House Monitor  The House Controller is: House Controller

And, for you hackers out there, it checks to be sure you're coming from an inside address and have the secret word before it'll let you change anything.  It isn't perfect protection, but the worst one can do is change the temperature on the thermostat during off-peak hours.  It's an arduino, not a big ol' web server.

Tuesday, April 5, 2011

Latest Arduino Ethernet Board.

Got a brand new ethernet board and mega2560 to build a whole house controller and web interface.  The mega is a great board and the ethernet board has some improvements.  It has a reset controller that makes sure it gets properly reset when the power fails.  However, I had to disconnect it.  Seems the new board has the same problems as the old one regarding connections not establishing and being maintained.  I had to make the same modifications to this board as the old one like I detailed in the thermostat pages.  Sigh.  There have been a bunch of people complain about these problems, but most of them seem to have given up.  The method I use works well and has been in place for a few months now with no problems.

So, anyway, I have an XBee hooked up to the mega running in API mode because there are problems with collisions after all.  The checksum on the frame works well and you can tell when you get a bad packet by checking it; this requires API mode or creating my own checksums.  API mode gives me originator address and some other stuff that will come in handy later.  So, I catch the broadcast messages and present them with a web page and also forward them to Pachube.  Slick.  I have a bunch of stuff in mind for this board including X10, and a bunch of XBee interaction.  I even want temperature sensors in each room eventually.  For now though, I'm going to fix the problems I encountered when my WiShield went bad by using the XBee network and put this device in a box with enough room to handle some more interface devices.