Using an adafruit IoT Printer as a shopping list printer. With Mono, Pebble, and IFTTT
I've been trying to maintain a rule that things thrown away at work
do not come home with me, especially if they don't have an immediate
use. This week it failed me. We had bought an IoT printer kit from
adafruit ages ago as an early part of a project idea, but it was never assembled or came to fruition. As a result it's been sitting on the
shelf for about 3 years untouched. Since we are cleaning out old stuff
from the lab, it ended up being placed on the junk cart. Normally, I'd
be happy to let something like this go, but it had lots of neat parts
and bits in it. I even came up with a project idea in the next day!
I'm going to try to make a shopping/generic list printer, powered by mono on the printer, and my pebble watch for input.
I also don't want to learn a bunch of new languages to pull this off, so instead, I'm taking the slightly harder route of applying what I know to this project directly. After thinking about various ways to manage the project, I think the most straightforward is to write a small webserver for the Raspberry pi on the printer, and send it data from my watch using an IFTTT applet. I already have a mechanism for triggering IFTTT actions from my watch with voice input, so I mostly need a URL it can call to store data. Then when I push the button on the printer, it will print out the list in it's current state. That means I should only need to develop one piece of software. My language of choice lately is C# because of work, so I expect I should be able to get Mono running on the RPi, and then can do all the development in Visual Studio or the new JetBrains Rider.
Eventually, I'd like to support multiple lists - ideas, wish lists, todo list, grocery lists by store, etc., so i'll try to leave room in the architecture for that.