House Monitor Ver. 5.0 (a.k.a. "housemon")
Back
Latest Update: April 14, 2006
What is it?
- Housemon is very basic: it is a collection of hardware and software to allow for the
monitoring of all elements in a home.
It is designed to be completely modular, allowing for seemless
addition of new monitoring elements.
History
- Housemon has gone over many transitions over the years, spanning many different
types of networks.
- Version 1.0 - This version of housemon was basically the first forray into the combination of sensors and a computer.
It never went much past the planning stage.
- Version 2.0 - This version of housemon was very sucessful.
The hardware consisted of various sensors on a very large I2C bus.
Sensors were located to measure temperatures in various parts of the home, barometric pressure, wind speed, sunlight intensity, humidity,
and some rudimetry sensing of doors and locks.
The software side of things relied heavily on a PC running DOS, with a server accessing
the parallel port to control the I2C network. Data was logged to local files accessible over the network. Viewing of the data was facilitated
by a DOS client which read the log files and graphed the data.
- Version 3.0 - Version 3.0 of housemon was basically an upgrade on the software side of things. Both the server and client software were
rewritten to run on more up to date OSs.
The server was transformed to a rudementary Windows application.
The client was actually branched. The first client, meant still to be run on the local machine, acted similarly to the DOS client, the exception being it was written
in Java and was platform independant. The second client was written as a cgi script. When queried by a web browser it generated the appropriate
graphs and displayed them in the browser.
- Version 4.0 - This version of housemon was a complete redesign of both the hardware and software.
Daisy chained RS-232 serial was the new network fabric, along with completely configurable hardware and software.
Work on the first hardware for this version of housemon was completed and installed.
Work on the software was never begun due to the debut of a single piece of silicon from Microchip, the ENC28J60.
Housemon - Design Deficits
- After having gone through so many changes, Housemon still had many issues.
The first major issue with earlier housemon designs was expandibility. Adding any new sensor to the network required both
hardware and software changes. While the hardware changes were necessary (kinda hard to add a sensor without adding hardware, although
that was done at one point: wind chill and dew point are both "sensors" that can be derived from data collected from other sensors),
the changes in the software was both annoying and error prone. Very often a change to the software to add a sensor would break it, resulting
in long debugging sessions.
The hardware was also not without it's problems. The I2C network that formed the backbone of housemon was sometimes problematic. I2C was
orignally designed to handle the short distances between chips on a board. I was interconnecting chips seperated by dozens of meters. Increasing time
delays and reducing clock speeds made the network usable, but glitches meant having to read sensors multiple times to ensure the data read was the
correct data.
Hardware failures also started to become an issue. A couple ADCs were lost, along with a humidity sensor and a door sensor. This constant
upkeep started to become too annoying to be worth the time.
The final nail in the coffin for the earlier versions of housemon was very simple: I moved. The move gave me the opportunity to begin
anew. New network, new sensors, and with having moved all my home computers to Linux, even new software.
Housemon - An Ideal World
- From the first day I started thinking about building a sensor network for the home, the obvious choice for
interconnection was Ethernet.
Since my home usually had ethernet within arms reach of any point in the home, ethernet was a perfect solution.
It is fast, standardized, very simple to deploy, and very modular. The main barrier to Ethernet being used was cost: Ethernet, for the longest
time meant a computer and a network card. Fine if you only want a few sensors. Terrible if sensing the amount of rain outside, the temp of the
freezer and whether the front door was open.
I had investigated various other options to get my sensor network ethernet enabled. There are many modules out there (more now then before), but
again, cost was an issue, each module easily costing as much as a throwaway computer.
Some research went into other methods to getting ethernet. A promising route was the
Picnic Project. This project's goal is to connect an
Ethernet NIC to a PIC. Very simple, very cheap. After building the hardware I had some issues with the software. In the end I did get it to work
reasonably well, but at that point I realized it wasn't the solution I was looking for.
The main issue was the fact it was kinda picky with
WHAT network card I plugged in. But the real sticking point was sheer size. The ISA NIC, plus the board it was plugged in to ended up taking a
good chunk of real estate. On top of this was was a substantial amount of work to build one, and it wasn't the most power efficient either.
While for one node the picnic idea would have worked, it was obvious that if I were to build several modules it wasn't the solution.
All of this changed in late 2005 when Microchip FINALLY released their Ethernet chip, the ENC28J60. This chip is extremely simple to
integrate into a project. On one side it connects to an ethernet jack with integrated magnetics. On the MCU side is a 4 wire SPI interface.
After building the first module I knew I had found my solution, and so, Housemon Version 5.0 was born!
Housemon - System Overview
- This is a diagram that illustrates the structure of a Housemon network:
Housemon - Packet Format
Housemon - Module list
- As just described, Housemon consists of several parts, both hardware and software. To
find out more please click on the appropriate link:
-
Question? Comments?
Please note:
All contents on this site remain the property of myself.
Please feel
free to use the information found here in "one off", personal, hobbiest type projects.
No permission is granted for using the information on this site in commercial type projects.
Please contact me at webmaster@farcite.net about using any
of the contents on this site in a commercial application.
Copyright 2006, Herbert Graf. All rights reserved.
Back
Last update:
Friday, April 14, 2006