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: