Over 50 easy to comprehend tailor made recipes to get the most out of the Raspberry Pi and unleash its huge potential using Python About This Book Install your first operating system, share files over the network, and run programs remotely Unleash the hidden potential of the Raspberry Pi's powerful Video Core IV graphics processor with your own hardware accelerated 3D graphics Discover how to create your own electronic circuits to interact with the Raspberry Pi Interface with purpose-built add-ons and adapt off-the-shelf household devices Who This Book Is For The aim of this book is to bring you a broad range of Python 3 examples and practical ideas which you can develop to suit your own requirements. By modifying and combining the examples to create your own projects you learn far more effectively with a much greater understanding. Each chapter is designed to become a foundation for further experimentation and discovery of the topic, providing you with the tools and information to jump right in. Readers are expected to be familiar with programming concepts and Python (where possible Python 3 is used), although beginners should manage with the help of a good Python reference book and background reading. No prior knowledge of the Raspberry Pi or electronics is required; however for the hardware sections you will need some basic electronic components/household tools to build some of the projects. What You Will Learn Set up and run Raspberry Pi for the first time Develop desktop applications, and handle images and process files with ease Make use of graphics and user control to develop your own exciting games Create 3D worlds by using the Raspberry Pi's powerful GPU Discover how to create your own electronic circuits to interact with the Raspberry Pi Use the Raspberry Pi Camera to create animations and time lapses Design and build your own Raspberry Pi controlled robots Take control of the real world and interface
Born in Arlington, Texas and raised in Pasadena (TX), Tim earned a Computer Science degree from the University of Texas (Austin) and a masters in Business from St. Edwards. He has developed sophisticated computer systems for Texas Instruments, Wayne-Dresser and Dell, innovating technical products such as a spy satilite system, credit card readers in the gas pump and Dell's first web PC.
He retired from the high-tech world in 2007 to pursue changing our country. Specifically, he has created a new system for selecting our representatives and intends to evict all 435 members of the U.S. House of Representatives.
If you are considering buying this book then you probably have a general interest in learning about the Raspberry Pi ("RPi" for short) and/or you have a specific objective in mind and looking to use the RPi to achieve it. Don't worry, this book has you covered both ways, more than adequately. It nicely complements the hacker spirit that the Raspberry Pi project is aiming for.
First some facts and a few small niggles but keep these in perspective, it's a large book and these are minor in comparison to the majority of the content...
Old school hacking was first about getting the machine and plain software to do your bidding. It was also about getting the machine connected to other devices and home-brew circuits. Finally, for the hard core, it was about mastering subsystems and low level hardware, what they called "scraping the metal". It's not entirely possible to this last type of hacking on the Raspberry Pi due to the need to protect intellectual copyright, though to be fair the RPi Foundation and Broadcom continue to make progress in this direction.
So it is no surprise that this book sticks to the first two types of old-school hacking and often employs high level libraries to do it's bidding where low level access is needed. This is fair enough but note that there are lower level API's to be explored once you become proficient in what the book has to offer. As the book itself states, consider the content as a "starting point". It makes a fine launchpad no matter which directions your technical interests are heading.
The format of the material is generally code-followed-by-explanation. Personally I like to see new/important concepts introduced before the code so that the code makes a bit more sense on first reading. Your preference may differ so this is not a big deal. However, to Python beginners, I would recommend manually entering the smaller programs rather than simply opening up a ready-made file. Typing means you are *doing* something and this speeds up your learning.
The choice of Python3 over Python2 might be contentious for some. I'm ok with it and if you are a beginner then you may as well learn the latest version. If you have a strong preference for Python2 then I don't think it would take much effort to back-port the code.
The book makes no mention of opto-isolators/couplers which is a common way to provide circuit protection. Possibly a small oversight and doesn't impact any/most the circuits used in the book. In fact I'm pretty sure the relay module on page 320 uses them anyway (probably the two small 4-pin packages on the right-hand side)
An oscilloscope is an essential tool for serious hardware hackers and while the book makes use of "scope traces" (page 327) it doesn't actually explain where they come from. This is a little surprising since chapter seven deals with reading and dynamically plotting ADC data so it's already more than halfway towards creating a hobbyist level oscilloscope. It would be good to see this as a project in a future revision.
The camera add-on is potentially one of the most interesting things to people like me who are into computer vision and computational photography so I would have liked to have seen OpenCV/SimpleCV examples. Ultimately the author will have had to draw a line somewhere but this would have complimented the chapter on robotics.
Putting the above into perspective...
This is a large well written book that works thoroughly through every example and adds tips and advice that you would struggle to compile from other sources. The breadth and depth of topics covered is amazing even for a book that runs to nearly 400 pages. Cookbooks don't usually attempt to cater for the absolute novice but this one does and is therefore an excellent choice for beginners.
I am pleased to see the much under appreciated IDLE and Tkinter being used as well as many excellent third party modules. Many aspects of Python programming are covered but in a way that is very relevant to the task in hand. Many people will find this way of learning programming much more enjoyable than a book solely focused on programming concepts.
With such a wide variety and range of topics it would be difficult and a little unfair to single out any particular chapter so I'm going to suggest you look over the list of contents and read the sample chapter. I doubt this book will disappoint anyone, more likely it will pleasantly surprise many.
The "Hardware & Appendix List" appendix will save you a significant amount of time searching and selecting components for your own projects.
In summary, this is a fantastic way to learn not only about the Raspberry Pi but also about Linux, Python, GUI's, graphics, interfacing with the real world and a whole host of other topics & concepts. I fully expect this book to be quoted in the future as being the inspiration for budding hi-tech entrepreneurs!
This is by far the best book I read on Raspberry Pi, presenting a lot of interesting projects ranging from creating 3D games, publishing in the cloud sensory data, using camera to view at a remote site, building robots controlled by RPi, controlling a LED matrix to display words, and so on. This book requires I would say one a beginner's level knowledge of electronics, which even I have. And I guess that people that are better in electronics would appreciate the simpler programming alternative offered by Python and the many programming resources available on the Internet.
Some concrete comments on the chapter: - regarding Chapter 10, I know somebody who worked on a similar project with an LED matrix for an industrial clock (see details at http://www.omega-it.ro/products/smart... - regarding Chapter 7, myself I was interested in publishing sensor data with RPi and I was very glad to see an extensive chapter on how to collect data and how to publish them on online services like Xively, etc, in order to view them later. Note there is also another project, DaisyPi, available at http://daisypi.ro/, which creates an extensive sensing device out of RPi.
There are a few other interesting applications I didn't see in the book and I am very much interested in getting more info on: - transforming your TV in a SmartTV I found it a great value-added extension, only by buying the ~70 Euros RPi device. See http://www.robofun.ro/raspberry-pi-si... for more information. - using an USB TV Tuner with RPi in order to capture signal from a professional analogue surveillance camera (or to watch TV channels on a TV to which RPi is connected to.)
Aside from that, I am happy to see Python becoming more and more of a RAD (Rapid Application Dev) systems language. On a side note, there is also the "Mobile Python" book (http://www.amazon.com/Mobile-Python-p...) which is really great, and one of the first. And the list can continue.
I was already familiar with books on Open Hardware platforms, like Arduino. While Arduino uses a microcontroller (making it more low power than RPi and able to use analogue sensors, etc), RPi is basically a small computer (embedded platform) based on an ARM processor able to run Linux, connect to the Internet, capture a camera stream and process it, etc. There are other open boards these days: Olimex Olinuxino (which is more industrial and even if it claims to be even more open platform that RPi it lacks the many users and resources RPi has on the Internet), Intel Galileo, etc.
If you have a Raspberry Pi, the like hood of you being an computer enthusiast is really high, then I would strongly suggest this book to take a step further and take to the limits the power of this bare bone computer.
Although the learning curve this book offers is considerably pronounced (preferred reader with previous programming knowledge), Python is an easy language to pickup, with a comprehensive number of examples and line-by-line explanation of what is going on during execution, this book will guide you from a simple “hello world” to a 3D environment using the library pi3D.
But it is not just about the software, it also helps you to understand the Raspberry Pi hardware in order to interact with leds, diodes, resistors or motors and have them under your full control. But a led gets boring quite easy, what about a Camera, or a robot bridged by a Microcontroller and controlled using a python scrip. Possibilities are endless.
I barely have downsides for this book apart from the hardware acquisitions that must be done, but of course, the author has an appendix with all those devices and where to get them.