Parkomatic was created to allow members at our makerspace to print tags to attach to their belongings that didn't fit in their member storage area. It's probably pretty specific to LMN and how we do things, but the basic code could be useful to someone else, so enjoy.
- The member scans their card at the reader attached to a Raspberry PI
- A python script pings an URL on our member management server which returns an image of the label to be printed. (expiration dates, name, etc)
- A print job is sent to CUPs which sends the image to the Brother QL-700 label printer.
Its probably best to get printing from CUPS working on your Raspberry PI first. In our case, a brother QL-700 label printer was used. Install the ptouch driver to get it working under cups. There's a lot of tutorials and walkthroughs for installing CUPS on a PI. We'll leave that as an exercise for the reader.
We used a pretty standard (read: cheap) USB RFID reader from Amazon. It attaches as a HID device and then we use evdev to read keystrokes.
Step-by-step installation instructions are here: https://github.com/wreality/parkomatic/blob/master/INSTALLATION.md
There's an installation script included which should copy everything to where it needs to be:
chmod +x ./install.sh
sudo ./install.sh
Then modify /etc/parkomatic/parkomatic.conf to suit your needs (it needs a URL to poke for images at the very least).
- Currently the script caches the downloaded images and refreshes them when the current date changes. Eventually it would be nice for the PI to continue to notify the server of the print request, but not download the images if they're cached. That way the server can log that a label was generated.
- CUPS is SLOOOOOOW on a Raspberry PI B. Ideally there's a way to fix that. (We'll be trying a PI 2 first)
- Document the installation of dependencies.
- stickerbot9000 for basics of using a QL-700 on a PI
- Parsing evdev for parsing the evdev events from the wedge.