Grid Insight AMRUSB-1 and Raspberry Pi

After experimenting with the Grid Insight AMRUSB-1 utility meter receiver on my Mac yesterday, I moved on to plugging the device into a Raspberry Pi, which is one of the platforms I hope to have in place in households as part of the Social Consumption Project.

When I plug the Grid Insight AMRUSB-1 into a Raspberry Pi, here’s the output from dmesg:

[   83.328267] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
[   83.441385] usb 1-1.3: New USB device found, idVendor=04d8, idProduct=faed
[   83.441422] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   83.441439] usb 1-1.3: Product: Utility Meter Receiver
[   83.441453] usb 1-1.3: Manufacturer: Grid Insight
[   83.514658] cdc_acm 1-1.3:1.0: This device cannot do calls on its own. It is not a modem.
[   83.515430] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
[   83.534250] usbcore: registered new interface driver cdc_acm
[   83.534326] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

This tells me, among other things, that the device gets attached to /dev/ttyACM0.

Based on this, I modified the Python script I wrote while first experimenting with the device on my Mac, and create a full-fledged daemon for the Raspberry Pi that will launch on boot and will log data to Amazon AWS Dynamo DB (which I chose simply because it was dead-simple to get setup and to push data to from Python).

I’ve got the Raspberry Pi running here in the office, logging data to Dynamo DB from a variety of electric and water meters in the area:

Raspberry Pi connected to an AMRUSB-1

Dynamo DB showing meter data