Reading Power Use Data with a Webcam and Python

As any hacker will attest to, whenever an important tool is missing, you might as well just build a new one! That’s the position that [Matt] found himself in when he was attempting to measure the power consumption at his parents’ house. He left the transmitter for the power meter at home, and so the logical thing to do was to set up a webcam and a python script to monitor his dad’s power meter instead of going back to get his.

The power meter that he had handy was a GEO Minim Electricity Monitor. He found it very difficult to extract the data directly from this particular meter, so instead of digging into any of the communications protocols int he meter, he set up a webcam in a box with an LED and monitored it with a specially-written Python script. The script is able to see the particulars of the meter, and then reports back to the computer with all of the relevant data. [Matt] has put this code up on his project site for anyone to use.

This is a great workaround that doesn’t involve delving too deep into the inner workings of the meter in question. You could always build your own power monitoring system though, if that’s more of your style!

A WiFi Home Power Meter

acFor his masters at Cornell, [Christopher McNally] designed a simple, non intrusive home power meter capable of doing everything a ‘smart meter’ can do – log power consumption throughout a home, and display a log of a home’s power consumption over WiFi. He’s even testing out some interesting ideas, like automatically detecting when specific devices turn on by reading the current data.

From [Chris]'[Jeramy] developed his system around the Arduino and a Ethernet shield, taking care of networking and choosing a micro, leaving him more time to develop the more interesting part of the project: sensing current. For this he used a small, clip-on current transducer. This sensor generates up to 10 VAC across a resistor, but the Arduino doesn’t play well with AC, requiring a small rectifier built around an op amp.

While the project works as a homebrew smart meter, [Jeramy] wasn’t able to automatically detect when certain devices were powered on. This is partly due to the fact that changes in current were only seen in magnitude and not waveform. Also, if two devices were powered on at the same time, the software would see that as a larger device that draws the sum of the current of two smaller devices. Still, [Jeramy] came up with a cheap way of metering power in any home, and the cost of his solution is cheaper than a lot of professional systems out there.

All the code, files, and design report are available on [Jeramy]’ git.

Monitoring your home energy use

[Dave’s] been elbow-deep in mains voltage while building this home energy monitoring rig. He started with an approach that is different from most we’ve seen before. He wanted a system that could make a linear measurement to keep the accuracy as high as possible. His first thought was to use a opto-isolated linear amplifier to measure voltage, but ended up altering that plan since he’s looking for digital values when all is said and done.

He’s using an ADC on the mains side of the interface board, then sending the digital values to an Arduino with opto-isolators to keep the high voltage separate from the low. This does complicate things a little bit, as he has low voltage rails on either side; 0V and 5V to run the ADC on the mains side, and separate 0V and 5V to run the Arduino. To solve the problem of accurate current measurement over the full range a house uses he opted for a Programmable Gain Amplifier. It’s addressed via SPI and allows him to adjust resolution to facilitate accurate measurement of very small currents. We think anyone who has tried to measure small appliances (like an alarm clock) with a Kill-A-Watt and gets a zero reading will appreciate this.

The Arduino sends data via a serial connection, which [Dave] is currently graphing using his laptop. It would be nice to see a simple web-server using the Ethernet shield (or a different board like the RPi) so you could log in from the couch and see what’s been going on with your home grid.

Real time gas monitoring

With the weather getting colder, [Daniel] decided it would be a good idea to monitor how much energy his gas heating was using in real time. He used a Nokia 6680 cameraphone to monitor the heater’s flame through the sight glass. PyS60, a Symbian implementation of Python, checks the image sent by the camera and measures how much blue flame is visible. These values are stored in a SQL DB on the phone that can be polled over Bluetooth. At the end of the billing cycle,  he’ll be able to correlate the amount of gas used with what the phone reported.

[Thanks, florent bayle]