Skip to content

Energy Awareness – Capturing Household Usage

October 8, 2011
Online Power Meter - How It Works

Overtime I’ve wondered how much electricity am I really using, and where is it all going? I’ve always wanted a Kill-a-Watt so I could monitor different areas of my house but never bought one.
I recently ran into an old article on the Tweet-a-Watt, which was a winner of the Greener Gadgets 2009 competition. It’s a Kill-a-Watt with an XBEE in it so that it can remotely send the energy usage to another XBEE tied to your computer. It then posted your energy usage on twitter, which is less interesting to me. I was more interested in being able to view and analyze my usage at at any point of time.

First Thought – I want Kill-a-watts + XBEEs around my house
I thought it would be pretty cool to have these in different locations in my house. I want to see just how much electricity am I using leaving my i7 Desktop with 6 Hard Drives and 2 Video cards on for days at a time really used, and for that matter, costs.

My Room with my computer system.
The Living room with all of the entertainment system
My Roomate’s Room with his computer system.
First things first, cost analsys

Next Thought – We have a meter outside

Itron Electric Meter

Itron Electric Meter

It reads off the current KW/Hour that has run through the meter since creation and has blinking indicator and some writing on it.  How do I get this data? And what data can I get? Lol – Can I just put a camera out there and OCR the images… My first thought was the CellNet protocol, I learned it operates in the non-licensed 900MHZ spectrum and probably uses FHSS. You can find their CellNet patents on their FHSS Methods.  There are people, Dave’s Blog, that have gone down that road but thats too much work.

After doing a lot of google searching I found a great article, I’m not the first person with this idea. He had called an Itron Engineer, the people who made the meter, and they described two methods you can view Watt/Hour usage, which is better detail for real-time power tracking. You can also find that information from Itron’s manual.

The method I decided to go down was the IR sensor on the top of the meter that emits a 10ms pulse every time you use a Watt/Hour.


Everything for the project has arrived!

Arduino Fio ($25)

XBEE WIFI  ($49)

IR Recv   (90 cents)

Other (30 cents)

==10/7/2011 7:00 PM ==

I just established a connection to my Wireless network with the XBEE.  From there I was able to send an HTTP GET Request to my web server.  You have to use an IP address for the connection, there is no built in DNS Resolution.  In the future I may have it query a DNS Server to resolve the IP but for now I’m fine with this.

GET /energy/CommitEnergy.php?1=1010&2=2020 HTTP/1.0

I think I’m planning on having the submission be the UNIX time stamps of the last seen Watt/Hrs.  The php would then insert them into the Database.  I’ll probably throw a password field in there too, incase people find the location of my CommitEnergy.php.

==10/7/2011 9:00 PM ==

I sucessfully hooked the IR Receiver up to the one of the Analog pins on the Audino.  With no IR signal in the 38Hz Frequency it outputs ‘1024’.  As soon as I used my remote control on the sensor it would drop down to ‘0’ for the signal pulses.

==10/7/2011 11:00 PM ==

I’m going to create a simulated bot on my computer that emulates the submissions of the Arduino.. I’m going to start working on the database backend, statistics, and the front user interface.  I’m planning on using HighCharts, they are AMAZING javascript graphs.  They also have the ability to add datapoints realtime using some form of AJAX.

==10/11/2011 11:00 PM ==

So this weekend I spent a lot of time coding up PHP and creating the database schema.

Simulation Applications:

Simulated Electricity: Simulates pulses to the CommitEnergy.php to add Watt/Hr Ticks as the meter does.

Past Energy: I generated a years worth of past energy that follows a set of rules with weekdays/weekends, prime time, sleep time, work time, etc… I created this so I could test the graphing, trending and stats out.  I also wanted to make sure the graphs weren’t slow.

Database Structure:

WattTicks: [Time]

MinWatts: [Time, NumOfTicks]  //Time is Floor(UnixTimeStamp / 60)  and the NumOfTicks in that min.

HourWatts: [Time, NumOfTicks]  // Time is Floor (UnixTimeStamp / 3600) and the Numof Ticks in that hour.

WattTicks only keeps watt ticks for the past like week.

Online Power Meter - How It Works

Infographic of how the Online Power Meter works



Online Power Meter Dashboard


From → Uncategorized

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: