Posts in library as makerspace

Raspberry Pi

Raspberry Pi
A Raspberry Pi computer
A Raspberry Pi computer (image credit: Wikimedia Commons)

 

This post was originally published on the ACRL TechConnect Blog at: http://acrl.ala.org/techconnect/?p=2962.

Raspberry Pi, a $35 fully-functional desktop computer about the size of a credit card, is currently enjoying a high level of buzz, popularity, and media exposure. Librarians are, of course, also getting in on the action. I have been working with a Raspberry Pi to act as a low-power web server for a project delivering media-rich web content for museum exhibits in places without access to the internet. I've found working with the little Linux machine to be a lot of fun and I'm very excited about doing more with Raspberry Pi. However, as with many things librarians get excited about, it can be difficult to see through the enthusiasm to the core of the issue. Is the appeal of these cute little computers universal or niche? Do I need a Raspberry Pi in order to offer core services to my patrons? In other words: do we all need to run out and buy a Raspberry Pi, are they of interest to a certain niche of librarians, or are Raspberry Pi just the next library technology fad and soon to go the way of offering reference service in Second Life? [1. Good and necessary work is still being done in Second Life, but it has become a niche service, not a revolution in the way we provide library services. ] To help us answer this question, I'd like to take a moment to explain what a Raspberry Pi device is, speculate who will be interested in one, provide examples of some library projects that use Raspberry Pi, and offer a shopping list for those who want to get started.

What is Raspberry Pi

From the FAQ at raspberrypi.org:

The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.

This description from Raspberry Pi covers the basics. (H2G2 has a more detailed history of the project.) A Raspberry Pi (also known as a Raspi, or an RPi) is a small and inexpensive computer designed to extend technology education to young students who don't currently have access to more expensive traditional computers. The Raspberry Pi project counteracts a movement away from general-purpose computing devices and toward internet appliances and mobile devices. The Pew Internet and American Life Project notes that: "smartphone owners, young adults, minorities, those with no college experience, and those with lower household income levels are more likely than other groups to say that their phone is their main source of internet access.[2. http://www.pewinternet.org/~/media//Files/Reports/2012/PIP_Digital_differences_041312.pdf] Access to the internet today is pervasive and less expensive than ever before, but also more likely to come from an appliance or mobile device and without the programming tools and command-line control that were standard for previous generations of computer users. This means a smaller percentage of computer users are likely to pick up these skills on their own. Raspberry Pi offers a very-low cost solution to this lack of access to programming and command-line tools.

In addition to the stated goal of the Raspberry Pi organization, a lot of adults who already have access to technology are also very excited about the possibilities enabled by the small and cheap computing platform. What sets the Raspberry Pi apart from other computers is its combination of small size and low price. While you can do very similar things with a re-purposed or salvaged computer system running Linux, the Raspberry Pi is much smaller and uses less power. Similarly, you can do some of these things with a similarly-sized smart-phone, but those are much more expensive than a Raspberry Pi. For the technology hobbyist and amateur mad scientist, the Raspberry Pi seems to hit a sweet spot on both physical size and cost of entry.

The heart of the Raspberry Pi (or RPi) Model B is a Broadcom system-on-a-chip that includes a 700mhz ARM processor, 512mb RAM, USB and Ethernet controllers, and a graphics processor capable of HD resolutions. According to the FAQ its real-world performance is on par with a first generation Xbox or a 300mhz Pentium II computer. In my personal experience it is powerful enough for typical web browsing tasks or to host a WordPress based web site. Raspberry Pi devices also come with a GPIO (general purpose input and output) port, which enables an RPi to control electronic circuits. This makes the RPi a very flexible tool, but it doesn't quite provide the full functionality of an Arduino or similar micro-controller[3. Check out this forum thread for a basic distinction between Arduino and Raspberry Pi.].

Out of the box, a Raspberry Pi will require some extra equipment to get up and running. There is a shopping list included at the bottom of the article that contains known working parts. If you keep boxes of spare parts and accessories around, just in case, you likely already have some of these parts. In addition to a $35 Raspberry Pi model b computer, you will definitely need an SD card with at least 4gb storage and a 5 volt 1 amp (minimum) micro-usb power supply. An extra cell phone charger looks like the right part, but probably does not put out the minimum amperage to run an RPi, but a tablet charger likely will. You can read the fine print on the 'wall wart' part of the charger for its amperage rating. If you want to use your Raspberry Pi as a workstation[3. The alternative is to run it 'headless' over your network using SSH.], you'll also need an HDMI cable, a digital monitor and a USB keyboard and mouse. Any USB keyboard or mouse will work, but the monitor will need to have an HDMI input. [4. Monitors with DVI input will work with a small and cheap HDMI to DVI adaptor. Analog monitors--the ones with blue VGA connectors--will work if you purchase an HDMI to VGA converter-adapter which start around $20.] Additionally, you may also want to use a USB wifi adapter to connect to wireless networks and since the Raspberry Pi has only two USB ports, you may also want a powered USB hub so you can connect more peripherals. The Raspberry Pi unit ships as a bare board, so you may want to keep your RPi in a case to protect it from rough handling.

Who is the Raspberry Pi for?

Now that we've covered what kind of kit is needed to get started, we can ask: are you the kind of librarian who is likely to be interested in a Raspberry Pi? I've noticed some "enthusiasm fatigue" out there, or librarians who are weary of overhyped tools that don't provide the promised revolution. I love my Raspberry Pi units, but I don't think they have universal appeal, so I've made a little quiz that may help you decide whether you are ready to order one today or pass on the fad, for now.

  1. Are you excited to work in a Linux operating system?
  2. Are you willing to use trial and error analysis to discover just right configuration for your needs?
  3. Do you enjoy the challenge of solving a living problem more than the security of a well-polished system?

If the answer to all three of these questions is an enthusiastic YES, then you are just the kind of librarian who will love experimenting with a Raspberry Pi. If your enthusiasm is more tempered or if you answered no to one or more of the questions, then it is not likely that a Raspberry Pi will meet your immediate needs. RPi are projects not products. They make great prototypes or test-boxes, but they aren't really a turn-key solution to any existing large-scale library problems. Not every library or librarian needs a Raspberry Pi, but I think a significant number of geeky and DIY librarians will be left asking: "Where have you been all my life?"

If you are a librarian looking to learn Linux, programming, or server administration and you'd rather do this on a cheap dedicated machine than on your work machine, Raspberry Pi is going to make your day. If you want to learn how to install and configure something like WordPress or Drupal and you don't have a web server to practice on (and local AMP tools aren't what you are looking for) a Raspberry Pi is an ideal tool to develop that part of your professional skill set. If you want to learn code, learn robotics, or build DIY projects then you'll love Raspberry Pi. RPi are great for learning more about computers, networks, and coding. They are very educational, but at the end of the day they fall a bit more on the hobby end of the spectrum then on the professional product end.

Raspberry Pi Projects for Librarians

So, if you've taken the quiz and are still interested in getting started with Raspberry Pi, there are a few good starting points. If you prefer printed books O'Reilly Media's Getting Started with Raspberry Pi is fantastic. On the web. I've found the Raspberry Pi wiki at elinux.org to be an indispensable resource and their list of tutorials is worth a special mention. Adafruit (an electronics kit vendor and education provider) also has some very good tutorials and project guides. For library specific projects, I have three suggestions, but there are many directions you may want to go with your Rasberry Pi. I'm currently working to set mine up as a web server for local content, so museums can offer rich interpretive media about their exhibits without having to supply free broadband to the public. When this is finished, I'm going to build projects two and three.

  • Project One: Get your RPi set up.

This is the out-of-the-box experience and will take you through the set up of your hardware and software. RaspberryPi.org has a basic getting started guide, Adafruit has a more detailed walkthrough, and there are some good YouTube tutorials as well. In this project you'll download the operating system for your Raspberry Pi, transfer it to your SD card, and boot up your machine, and perform the first time setup. Once you're device is up and running you can spend some time familiarizing yourself with it and getting comfortable with the operating system.

  • Project One-Point-Five: Play with your Raspberry Pi

Once your credit card sized computer is up and functional, kick the tires. Check out the graphical interface, use the command line, and try running it headless. Take baby steps if baby steps are what is fun and comfortable, or run headlong into a project that is big and crazy; the idea here is to have fun, get used to the environment, and learn enough to ask useful questions about what to do next. This is a good time to check out the Adafruit series of tutorials or elinux.org's tutorial list.

  • Project Two: Build an Information Kiosk to Display Local Mass Transit Information

http://blog.bn.ee/2013/01/11/building-a-real-time-transit-information-kiosk-with-raspberry-pi/

I found this on the elinux list of tutorials and I think it is great for libraries, provided they are in an area served by NextBus or a similar service. The tutorial walks users through the process of building a dedicated information kiosk for transit information. The steps are clear and documented with photographs and code examples. Beginning users may want to refer to other references, such as the O'Reilly Book or a Linux Tutorial to fill in some gaps. I suspect the tricky bit will be finding a source for real-time GPS telemetry from the local transit service, but this is a great project for those who have worked through basic projects and are ready to build something practical for their library.

  • Project Three: Build a Dedicated OPAC Terminal.

While dedicated OPAC terminals may no longer be the cutting edge of library technology, our patrons still need to find books on the shelves. Library Journal's Digital Shift blog and John Lolis from the White Plains public library describe a project that uses the Raspbian OS to power a catalog-only public terminal. The concept is straight-forward and working prototypes have been completed, but as of yet I do not see a step-by-step set of instructions for the beginner or novice. As a follow up to this post, I will document the build process for TechConnect. The gist of this project is to set up a kiosk-type browser, or a browser that only does a set task or visits a limited range of sites, on the Raspberry Pi. Eli Neiberger has raised some good questions on Twitter about the suitability of RPi hardware for rough-and-tumble public abuse use, but this is the sort of issue testing may resolve. If librarians can crowd-source a durable low-cost OPAC kiosk using Lolis' original design, we'll have done something significant.

Raspberry Pi Shopping List

As mentioned above, you may have many of these items already. If not, I've purchased and tested the following accessories for a couple of Raspberry Pi projects.

Basic Kit: (parts sourced through Amazon for ease of institutional purchase. Other sources may be preferable or less expensive.)

Accessories:

Raspberry Pi kits (Some vendors have put together full kits with a wide range of parts and accessories. These kits include breadboards and parts for arduino-type projects.)

(Comments on this site are closed. Please join the conversation at: http://acrl.ala.org/techconnect/?p=2962)

Notes

From Cool to Useful: Incorporating hobby projects into library work

This was originally posted at ACRL TechConnect on January 09, 2013.
Cool or Useful? A guide to incorporating hobby projects into library work

Sometimes I have trouble creating a clear line between geeky hobby projects I do on my own time and professional tasks for MPOW (my place of work.) This time, the geeky-thing-I-think-is-cool is a LibraryBox. LibraryBox is a hardware hack created by Jason Griffey.  What I'm currently trying to work out is, is this project a viable solution to a practical work-place problem? Of course, I have to watch out for Maslov's Law of the Instrument which can be paraphrased: "To a person with a hammer, every problem looks like a nail." These days I'm seeing a lot of LibraryBox-shaped nails. I'm eager to find potential applications for my new toy tool. My project in today's post is to describe the LibraryBox project and describe a method of determining whether or not it has a work-related application.

What is a LibraryBox?

A LibraryBox is a very portable pocket-sized device that serves up digital content to wifi devices. It is designed to provide free ebooks to readers with wifi devices but without access to reliable Internet or power. The best introduction to LibraryBox may be found on the LibraryBox site. Jason Griffey has done an excellent job with the site's design and has written comprehensive instructions for building and deploying LibraryBoxen. The site describes the project as: “an open source, portable digital file distribution tool based on inexpensive hardware that enables delivery of educational, healthcare, and other vital information to individuals off the grid.”

The LibraryBox project was designed to solve a very specific kind of problem. It is useful in scenarios involving all of the following conditions:

  • Either no access or sporadic access to Internet and electrical utilities
  • a need to distribute digital content
  • users that have wifi enabled devices

In order to meet these objectives, the LibraryBox

  • uses inexpensive parts and hardware.
  • runs off of batteries and is highly portable.
  • uses open source software. (The code is both kinds of free; both libre and gratis.)
My LibraryBox

Building the LibraryBox was fun and easy. I bought the necessary parts: a mobile router, a large usb flash drive, plus an optional battery. (I'm using a Sony Cycle Energy CP-EL I found on sale at the grocery store for $13). Then I went through the instructions. The process is easy and straightforward. A friend of mine completed them while his baby daughter was down for a nap. I took a little longer because I didn't read the instructions through before starting and did some steps out of order. If you more diligent with following directions than I am, Jason's instructions will get you from start to finish easily and without a hitch. Once I had my LibraryBox up and running, I filled the flash drive with some free and creative commons licensed content. I tested it out and was happy to see that I could use it to download ebooks onto my phone, laptop, and tablet. Once I demonstrated that it worked, I began to look for practical applications where it could be more than just cool, I wanted my hobby project to be useful.  To keep myself honest and keep my project enthusiasm in check, I'm using a series of questions to help determine whether I'm being blinded by the new shiny thing or whether it is, in fact,  an appropriate tool for the job at hand. These questions help with the tool/toy distinction, especially when I'm under the spell of the law of the instrument.

Questions:
  1. Does this tool or technology offer a solution to an existing problem?
  2. If the answer to #1 is yes, does it solve the problem better (more efficiently, cheaply, etc.) than alternate solutions?
  3. Does this tool or technology introduce unintended consequences or side-effects that are worse than the original problem?
Applying the Questions:

There are two ready applications for a LibraryBox at MPOW. Neither directly involve the library, both involve faculty projects in our Creative Media and Digital Culture (CMDC) program. Both are interesting projects and both project leads have indicated interest in using a LibraryBox to solve a problem. The first case involves using a LibraryBox to allow visitors to a remote historical site the ability to download and install a mobile app. My colleague Brett Oppegaard is leading development of a mobile app to provide visitors to a historic site access to interpretive materials. The location is somewhat remote and mobile broadband coverage is spotty at best and varies depending on the cell provider. My thought was to provide visitors to the site a reliable method of installing and using the app. Applying the three questions from above to this project, I learned that the answers to the first two questions are an unqualified yes. It solves a real problem by allowing users to download a digital file without an active net connection. It does so better than alternate solutions, especially due to its ability to run off of battery power. (There are no utilities at the site.) However, the third question reveals some real difficulties. I was able to successfully download and install the app from its .apk file using the LibraryBox. However, the steps required to achieve this are too convoluted for non-technical end users to follow easily. In addition, the current version of the app requires an active Internet connection in order to successfully install, rendering the LibraryBox workaround moot. These issues may be able to be resolved with some hacking, but right now the LibraryBox isn't a working solution to this project's needs. We'll keep it in mind as the project develops and try new approaches.

Fortunately, as I was demonstrating the LibraryBox to the CMDC faculty, another colleague asked me about using it to solve a problem he is facing.  John Barber has been working on preserving The Brautigan Library and re-opening it to submissions. The Brautigan Library is a collection of unpublished manuscripts organized in the spirit of  the fictional library described in Richard Brautigan's novel The Abortion. The Brautigan Library manuscripts currently are housed at the Clark County Historical Museum and we tested the LibraryBox there as a source for providing mobile access to finding aids.  This worked, but there were speed and usability issues. As we tested, however, John developed a larger plan involving a dedicated tablet kiosk, a web-app template, and a local web server connected to a router in the building. While we did not choose to use LibraryBox to support this exhibit, it did spark useful conversation that is leading us in promising directions.

Next Steps:

After learning that the LibraryBox isn't a turn-key solution for either project, I still have some productive work to do. The first step is to install a light-weight web server (lighttpd) on the hardware currently running LibraryBox. (Fortunately, someone has already done this and left directions.) It's possible, but unlikely, that will meet our needs. After that we're going to test our plans using more powerful hardware in a similar setup. I've acquired a Raspberry Pi to test as a web server for the project and may also try running a web server on a more powerful router than the TL-MR3020 LibraryBox is based on. (Some open-WRT capable routers have as much as 128mb of RAM, which may be enough.) There is also work to do on the Ft. Vancouver project. The next steps there involve working on-site with the design team to more clearly articulate the problem(s) we are trying to solve.

In both cases my hobbyist tinkering is leading to practical and productive work projects. In both cases the LibraryBox has served as an excellent kluge (jury-rigged temporary solution) and has helped us see a clearer path to a permanent solution. These solutions will probably not resemble my early amateur efforts, but by exercising a little discipline to make certain my toys tools  are being employed productively, I'm confident that my hobby tinkering has a place in a professional workplace. At very least, my leisure time spent experimenting is benefiting my professional work. I also think that the kind of questions used here have application when considering other library toys fads innovations.