Introducing the Nexus

| No Comments | No TrackBacks

Update : You can now purchase the Nexus (now called the GridHub)

Since the beginning of last year, my Dad and I have been hard at work on our own power monitoring system. It wasn’t always for power monitoring, originally it was more about controlling the cool automated house on great barrier. It didn’t take long to realise that just measuring power usage is a pretty cool feature in and of itself, one with minimal hardware costs.

A quick search around showed that there were not many people creating devices to monitor power. Those that were had features missing that we consider important, such as easy and open access to live data and web connectivity. Also, Dad and I love making things together so it quickly became a fun project. We have a great working relationship since I have been writing software for Dad’s custom hardware since I was 13, usually for entrepreneurs under the guise of our company Technman.

The natural first step was to buy a power monitor provided by someone else (we choose a wattnode with a pulsed output) and connect it to Technman’s range of IO modules.

I wrote a Linux daemon that runs in the house and reads the power into a postgres database. A separate website reads the database and displays power usage as nice graphs. While this system works fine, it requires a PC running in the house all the time and it also requires each house to contain quite expensive hardware. The natural next step was to reduce the cost with some custom hardware. Our first device - the “nexus” is planned to become the hub of our finished system. It is the master of an in-house or in-business radio network that links several of our devices together. The nexus then transmits live data from the house back to our server for logging, analysis and user interface. We chose to do it this way because we want to move the power hungry PC out of our customer’s house and instead have the analysis (and data storage) in a central data centre. Moving the UI to the data centre also avoids problems with firewalls and will make it easier for us to iterate quickly on our features.

On the Nexus, we wanted low power, wired Ethernet connectivity and power monitoring. We are big fans of the 8051 micro controllers created by Silicon Labs. Along with their off the shelf Ethernet chips and oodles of technical design expertise creating a power monitoring system was not a problem. It has been a busy couple of months but as I write our first prototypes are being assembled for testing. We have already written most of the firmware using development kits provided by silicon labs, and have working code proving all the major subsystems.

One thing that makes us pretty unique is our live, on-line power data. Each nexus has an ongoing connection to our central server and streams sensor samples as they are taken. When someone is logged in to our website, we send them updates via JavaScript on a very regular basis. Well, this is the plan - but the Javascript bit is not implemented as of this writing. Because our power usage is totally live, it is practical for you to wander around turning things on and off with your iPod in your hand or your laptop. As you switch loads, you will immediately see the changes reflected on your on-line dashboard. The graphs are also updated often, so it is intuitive how they work (Update: have a look at a live example).

The high resolution graphs make it easy to understand the nature of your power usage. Some things use a lot of power while switching on but for a short time, such as toasters or kettles. When you bring home shopping and load it in the fridge, it uses more power. The washing machine uses different amounts of power depending on its current stage in the wash cycle. The dishwasher uses far less power in eco mode, and the hot water cylinder has to reheat the hot water for either of these appliances. These curves are easy to pick out. High resolution graph rendering is another feature I am looking forward to completing.

It is easy to see the patterns of your day in high resolution graphs, you will be able to see when you have a shower and use hot water, when you run the heater or when you make tea. You can see when you turn the computer on and the effect of the computer’s power saving modes on your power consumption.

The Nexus can also control the Technman IO modules - you can turn your lights on and off from our website, or anything else you care to switch. If you decide to control something in your house (if you have control) then the Nexus will act on your instructions instantly. You will not perceive a delay unless you have a slow web connection. This really is cool, but you can’t enjoy the effect from across the web!

Creating all this firmware and getting the systems to talk together has raised some interesting design challenges. I plan to write more about those in later blog entries. I have also put a lot of thought into how I will make a system that relies on lots of devices communicating with a central server scale over time.

To read about the challenges of streaming live data, see Database, meet realtime data logging

No TrackBacks

TrackBack URL: http://blog.gridspy.co.nz/cgi-bin/mt-tb.cgi/3

Leave a comment