Utility Mon

Gather useful information from wireless utility meter readings

Using a RTL Software Defined Radio reciever I am able to pick up the same radio signals that the utility companies use to take wireless meter readings (among many other cool things). Note that although these are TCP packets I'm reading they aren't on the standard WiFi frequencies, the RTL SDR listens on the frequency 100,000kHz so a standard Wifi dongle would not be able to read these.

picture of rtl sdr

This utilizes the software rtlamr which reads from rtl_tcp which does the heavy lifting of decoding the tcp packets it recieves, filters out non utility meter packets, and creates a stream of this data.

Since the meter reading is a lifetime reading it's meaningless by itself, I need to monitor the change over time to be useful. I parse the stream to determine current watts being used by each customer and save the current usage along with the actual meter reading so that stats can be calculated. There is a forced granularity of 5 minutes between readings per customer to minimize extreme readings, if there hasn't been a measurable change continue to wait.

Utility Mon on GitHub - For more information on deploying this yourself.

utility mon screen shot