Getting Started with Raspberry Pi by Matt Richardson and Shawn Wallace
$12.18 at Amazon ($8.69 Kindle)
The Raspberry Pi is a hot new computer system, approximately the size of a credit card and costing $25-$35 (plus a $5 markup depending on where you buy one – my preferred source is Sparkfun Electronics in Boulder). The Pi is a system on a chip that includes a 700Mhz processor and separate GPU, plus up to half a gig of RAM; the model B comes with several USB ports, an ethernet port, and HDMI output. They can be used from everything to learning to program under Linux to streaming HD video to your television.
With so many possibilities, though, it can be hard to know where to start, especially if you’re not accustomed to using Linux – which is why I picked up a copy of Getting Started with Raspberry Pi. This is a fairly short book that doesn’t go into any topic in depth, but it gives you a good starting point and links to more information. It’s a quick way of getting going and figuring out what you want to do with your Raspberry Pi.
Chapter one covers obtaining a Pi and getting it set up. The technical information is more detailed than the actual setup instructions, but extra setup help is available in the first appendix. What I like about this chapter is that it has nice diagrams showing were everything is on the Pi.
Chapter two is an introduction to Linux, the free operating system you’ll use on the Pi. While there are several distributions that will work, the officially recommended official distribution is a variant of Debian called Raspbian. This chapter will get you going with using the command line and maneuvering through the Linux filesystem.
In chapter three, we start our first programming language: Python! Raspbian has both Python 2.7 and Python 3 included, so you’re ready to go with whichever version you prefer. Python is a high-level language with the design philosophy that there should be one obvious way to do things (as opposed to Perl’s “more than one way to do it” approach). This chapter has you writing a simple program and ends with a list of resources for learning the language, such as the online Learn Python the Hard Way book. Once you’ve learned the basics, chapter four moves into doing animation and multimedia using the Pygame framework.
One of the reasons for creating the Raspberry Pi was for kids to be able to learn to program, without the worry of damage to the household computer. Accordingly, the Pi comes with MIT’s Scratch, which is a graphical programming language that can be used to learn the basics of programming without actually having to code; you can easily drag commands around to make simple animations and games. Chapter five covers Scratch.
Prior to the release of the Pi, the Arduino was the go-to component for embedded systems hobbyists. Many of the components used with the Arduino, as well as the Arduino itself, can be used with the Raspberry Pi. Chapters six through eight have you doing physical things with your Pi, like turning LEDs (or lamps) on and off and reading in input from buttons. (The Pi can handle a number of digital inputs, appendix C covers converting analog inputs) Chapter nine takes that a step farther, using a webcam with the Pi (which, after all, uses a chip meant for cell phones, which generally have cameras). The Pi can even handle simple face detection.
Finally, chapter ten discusses creating internet-connected projects, such as using the Pi as a web server.
I found this book to be a nice, quick read; typos were minimal and it gives a good overview of the different things you can do with the Pi. So far it’s inspired me to start learning Python, which seems like a nice little scripting language, and I’m considering eventually turning my Pi into a DVR. What will you do with yours?