Author: Timothy Warner
Audience: Beginners and beyond; an enjoyable approach for anyone keen on hardware and software.
Reviewer: Harry Fairhead
A big book of Pi what more could you want?
This is a book that aims to cover a lot of aspects of using the Raspberry Pi in as much detail as possible and as simply as possible. As a result you might find some of the book is too simple for you, but I found even the trivial asides interesting in filling in or confirming what I already knew. The book is also strong on how to pronounce things - for example OS is Ohhh Esss - OS you might not need it but it saves you from saying things like hos.
So to be clear this is very much a beginner's book but beginner in what exactly?
It does assume that you don't know very much about computers and computer systems. It also assumes you don't know how to program, and while it does introduce a lot of hardware add-ons, it never strays into the area of DIY electronics. You will find references to GERT boards, Arduinos and even prototyping boards, but you won't find resistor calculations, transistors and individual integrated circuits. The furthest the book goes is to use an LED and a resistor to make a flashing light.
This is very much a "put together some off-the-shelf modules" sort of book. Having said this, it also does have a tendency to bring in hardware wherever possible - even in chapters that appear to be about nothing more than software.
The book starts off with a look at what the Raspberry Pi is and some of its history in the BBC Micro project. There are lots of full color photos and box outs about the details of why there is a model A and B and so on. There are also short form links to websites that will help you fill out your knowledge. If you don't want to follow the links then you will find that the book is self contained enough for it not to be annoying.
Chapter 2 carries on the overview but now delving deeper into the hardware design and explaining what you need to get the Pi running - monitor cables, power supply and so on. All very basic stuff that if you are reasonable at hardware you will already know.
Chapter 3 continues the basic investigation, but now of the peripheral connectors and expansion boards that you can buy. Some of this is voyeuristic electronics in the sense that you get to see a picture of a multimeter and read some words about how useful one is, but you don't get an explanation of how to use one.
Chapter 4 is where the software section starts but there is usually some hardware lurking. This is where you learn about the different options for Oh Esses and about Raspbian Linux in particular. It explains how to set up an SD card with a bootable image. This is handy but the descriptions on the Raspberry Pi website should also be sufficient to ge the job done.
Chapter 5 moves on to using the command line and this is basically a one-chapter primer on using Linux commands such as ls, sudo, cd and so on. Chapter 6 upgrades you to the graphical user interface.
Chapter 7 is the start of some more advanced topics and deals with networking - how to add a WiFi dongle, using SSH to avoid having to use a monitor,keyboard and mouse and more.
Chapters 8 and 9 are crash course in learning Scratch. This isn't all you will need to learn about Scratch, but it is a start. Even here you will find some hardware modules in the form of a PicoBoard which lets you use sensors from within Scratch.
Chapters 10 and 11 are a crash course in Python and given how extensive a language Python is two chapters hardly scratches the surface.
The remainder of the book is a set of projects for you to try out your new-found skills. Many readers will probably skip to the chapter that interests them the most and then find out what they need to know from earlier in the book. Chapter 12 is about building a media center using XBMC - Xbox Media Center. Chapter 13 builds a retro game station using console emulation that plays Atari, Gameboy, NES, SNES... games. Chapter 14 creates a Minecraft server and Chapter 15 a web server, Chapter 16 does interesting things with the Pi camera and Chatper 17 uses the Pi as a network security device. Of coruse quite a few of these projects make perfect sense implemented on any old Linux device, but the book does point out the best way to do the job with a Pi.
The final three chapters move into the hardware a little more. Chatper 18 is about overclocking the Pi, Chapter 19 using it with an Arduino and the final one, Chapter 20, is on using the Gertboard. In the Arduino and Gertboard chapters you do get as far as flashing an LED, but if you are thinking about anything, more like running a servo or a light detector, you need another book.
This is an introduction to the Raspberry Pi that leans towards the hardware side without getting very deep into electronics. The projects it does tackle are mostly software-based with some hardware enhancements. If you are a beginner and know a little hardware theory and a little software practice you will probably really like this book. Even the hardware expert will like it quite a lot, however, as it provides a lot of background material and details that are otherwise quite hard to find and put together into something coherent. I enjoyed reading it.