Build a Smart Scanner using a PI
I got a free all-in-one printer from a friend who didn’t need it (consumed way too much ink cartridges). Since I liked the idea of the ScanSnap Evernote scanner but not so much the 500$ sticker price I decided to build one using this all in one and a Raspberry PI.
Fortunately the model I received is supported by SANE.
I needed the following pieces put together:
- Interface (a few buttons to take color/grayscale lowres/high res photos)
- A command line utility to upload scanned pages to the cloud
- A daemon to monitor and trigger everything.
Update: I added rudimentary support for batch scanning, see the GitHub project page.
1. Interface
First I wanted to build a nice GPIO based interface with leds, lcd, buttons. I started testing using a USB numpad I had around and it stuck, I’m too lazy to start working on it now that I have it running.
2. Cloud upload
I use a Bash Dropbox Uploader. It’s very nice as it allows running as a Dropbox application, giving it access only to one folder under Dropbox/Apps/
For the evernote part I’m waiting for resources support to be merged and functional inside geeknote [here and here]. For now Dropbox has to do.
3. Daemon
Again I thought it would be a good python learning experience to build it myself but laziness triumphed. I used ESE Key Daemon to monitor the USB Numpad and trigger a small BASH utility that accepts various resolutions and output formats as a parameter.