I picked up a Raspberry Pi Model B+ a while back and had been looking for a project to build with it. We moved into a new office around the time the new official Touchscreen debuted. Combining the two into a touchscreen office music and print server seemed the perfect project.
This build is based on the standard Raspbian Jessie OS, and includes ssh and vnc for remote management, the CUPS print server, and the awesome Volumio audiophile player. Volumio is typically distributed as it's own stripped-down Raspbian-lite image, but given the other things I'm asking the Pi to do, I went with the full Raspbian OS, removed space-consuming apps I didn't need, then installed the Volumio app on top. The hardware I used includes:
- Raspberry Pi Model B+ - obviously
- 7" Touchscreen - new from the official Pi Swag store
- Two 5v 1Amp power supplies - one for the PI and one for the Touchscreen. I used a matching pair from old cellphones
- PNY 32Gig USB Thumbdrive - chosen for it's small physical size; I found one for $15 at a local office supply store
- SanDisk 16Gig MicroSD - from the spare bin, but new costs only $8 or so
- Brother HL-L2300D printer - black&white & USB-only, but it's high-speed, small footprint, and prints double-sided. I got it for $45 in a 1-day Amazon sale
- DKight MagicBox speaker - We have several of these and they sound great in small spaces like our office
- GMYLE USB Keyboard - Optional since you'll remote in via ssh and vnc most of the time
The two power supplies are crucial (I learned). You could daisy-chain the Pi to the graphics board of the Touchscreen and power them from one AC plug, but there won't be enough amperage left to reliably power the USB hub. I assembled the whole server four or five times before I realized that plugging the keyboard or the printer in could knock the thumb drive holding the music offline. By powering the Touchscreen and Pi separately, the Pi has enough power for the thumb-drive, speaker, keyboard, and printer connection (the printer powers itself, naturally).
Along the way, I also tried a lot of software build instructions online. The build steps below and their related links represent the best of what I found. Following these steps should get your system up and running in about three hours depending on the speed at which you can download disk images and updates. The steps are:
- Assemble the Pi and Touchscreen hardware per these instructions, add USB devices, plug in an Ethernet cable
- Prepare the MicroSD card w/ the Raspbian Jessie OS image; format the USB thumbdrive as FAT32 and copy your music collection to it
- Insert the MicroSD chip in the Pi, power it on, then:
- change the default password via the command: sudo passwd pi
- set the root password via the command: sudo passwd root
- The current OS vertically inverts the display by accident, but you can fix it in three simple commands: https://github.com/remonlam/rpi-touch-display-fix
- Setup vnc so remote GUI access is available at boot: https://www.raspberrypi.org/documentation/remote-access/vnc/
- Remove space-consuming programs you may not need via four commands (strung together using &&): sudo apt-get remove --purge minecraft-pi -y && sudo apt-get remove --purge wolfram-engine -y && sudo apt-get remove --purge libreoffice -y && sudo apt-get autoremove
- Configure locale, timezone, and resize the filesystem to use the entire capacaity of your MicroSD: sudo raspi-config
- Update the OS and firmware via three commands: sudo apt-get update && sudo apt-get upgrade && sudo rpi-update
- Install the Iceweasel browser and full-screen plugins that will serve as Volumio's GUI: http://www.vatofknow.com/?p=932
- Install & setup Volumio: http://rataks.com/blog/volumio-on-raspberry-pi-2-with-sainsmart-7-inch-touch-screen-lcd.html BUT:
- ignore instructions for setting up touchscreen (they refer to a different hardware component)
- Replace fstab entries with those appropriate to your USB devices
- Setup CUPS: http://www.howtogeek.com/169679/how-to-add-a-printer-to-your-raspberry-pi-or-other-linux-computer/
That's it. If you do this build, let me know what I left out or what you learn in the process.
- digittante