Unix: Raspberry Pi: A Quick-Start Guide, Second Edition, Maik Schmidt

Get yourself a $35 computer, a copy of this book, and you will likely discover a side of computing that expands your view of what computing is all about

ITworld|April 27, 2014

Raspberry Pi: A Quick-Start Guide, Second Edition by Mail Schmidt and published by The Pragmatic Programmers may just open your eyes to a new way of experimenting with computers. It will give you enough information about the Raspberry Pi to make intelligent decisions about how you install and configure the smallest computer you have ever owned and then take you on a tour of some very impressive things that you can turn your Pi into -- like, maybe, a burglar alarm.
Even those of us who have been working with Unix/Linux systems for decades are likely to find that working with the Raspberry Pi wakes up the experimenter in us and makes us think differently about how computers work and what we can do with them.
Sure, maybe we could get off the ground with a lot less help. Opening the box and taking out the credit card sized computer is easy. But getting around to deciding to what you are actually going to do with your Pi is something else. First, there are all the very practical beginners' questions. How do you prepare an OS? Does this thing have enough memory to actually do something? How do you hook the thing up to a monitor? How can you tell if it's actually doing something? What software tools are going to help you get your OS set up? What configuration options will you have and what choices are likely to be the best for you? And what are the tradeoffs? Unless you've seen one of these systems in action, you're just starting at a palm-sized circuit board and maybe wondering if you should have instead spent your $35 on a new desk organizer.
After all, what you pull out of the box is just a circuit board -- one with a bunch of ports, a couple chips, and some pins sticking up. At first, just imagining making progress with it and getting it to work might be something of a challenge.
Pulling out this book prepared me to make a number of choices. First, it just helped me to get excited about the Raspberry Pi and the confidence to jump in and give it a try. I made some decisions -- like going with the most common OS (Debian wheezy) and then moved on to addressing how I was going to get it ready for the Pi. Fortunately, I had a nice USB 3.0 card reader on hand that allowed me to connect an SD card to my laptop. This was the "tinker toys" phase -- fitting the parts together so that I could prepare an SD card that I was going to be able to use to house my Pi's operating system.
The book provided advice on how to prepare the card, what OS images I should consider downloading, how to verify the OS image that I had downloaded was OK, and then write the image to the card.
Hooking the system up to a keyboard and mouse was easy as the Raspberry Pi has two USB ports on one edge of the card.
I then plugged the little power adaptor and the SD card go into what I'm calling the "front end" of the board only because I got a Pi kit that included a set of clear plastic pieces that form a case and provide labels for the various ports and that end of the unit has the logo. Then I looked up.
Initially, I had a problem getting video using my daughter's HDMI monitor (I didn't have
an adaptor that would have allowed me to use my VGA/DVI monitor). Fortunately, it was fairly easy to overcome this problem by 1) attaching the prepared card once again to my laptop, 2) editing the config.txt file on the card with a text editor, and 3) adding this line:

hdmi_force_hotplug=1

This command sets the Pi to use HDMI mode. The next time I plugged the card and power adaptor into my Pi, my daughter's monitor lit up with boot messages and the fun began.
Once my Raspberry Pi was booting with the modified config.txt file, I was back to looking
through the book for advice on how to make a number of configuration choices for my keyboard, my timezone setting, and whether or not to use overclocking. I also got some insights on the system's memory and what I should expect to see when I issued the free command.
The book takes the reader through a number of important phases in setting up and using their Raspberry Pi systems including adding and removing software, finding packages,
configuring the firmware, configuring the video output, and testing and configuring the audio system. In short, a lot of detail that I would have had trouble if I'd had to google it one issue at a time.
Later chapters include more advanced and, frankly, somewhat mind boggling options for what I can do with my Pi now that I can log in and start the windowing system. This includes:
building a kiosk -- an informational display driven by a web service networking -- adding browsers, configuring a web server, setting up and using ssh, using public-private key pairs, sharing desktops with VNC, going Wi-Fi (this requires an additional Wi-Fi stick) and configuring my Wi-Fi setup multimedia -- making the Pi a media center playing games -- some native to the OS, some not and what can be expected in terms of graphics and performance tinkering with GPIO pins -- going beyond the OS to tinkering with the electronics
My Raspberry Pi kit came with breadboards, LEDs and resistors for doing more hardware-centric things than I've done in many years. The book also shows how to do some very interesting things with these add-ons and provides some shell and PHP code to make the job easier.
It also introduces:

working with digital and analog sensors -- how to do things like add a motion or infrared detector

adding and controlling a pi camera -- how to connect one of the Raspberry Pi CSI cameras to the Pi and use it to take high definition photos or videos

Got that? Motion or infrared detectors? High definition photos? Videos?
And, yes, the book works its way up to showing you how to build a burglar alarm.
Finally, the book includes a Linux primer in the form of a 12-page appendix -- just enough to get the beginner working on the command line.
The Raspberry Pi is a tiny inexpensive system that is likely to change the way you think about
computers and this book is one that will help you gain the knowledge and the nerve to go ahead and start experimenting.

Sandra Henry-Stocker has been administering Unix systems for over 25 years. She describes herself as "USL" (Unix as a second language) but remembers enough English to write books and buy groceries. She currently works for TeleCommunication Systems -- a company that builds innovative technologies to make critical connections happen -- where no one else necessarily shares any of her opinions.

The opinions expressed in this blog are those of the author's and do not necessarily represent those of ITworld, its parent, subsidiary or affiliated companies.