Oct 152014
Raspberry Pi Home Automation with Arduino
Automate your home with a set of exciting projects for the Raspberry Pi! Overview Learn how to dynamically adjust your living environment with detailed step-by-step examples. Discover how you can utilize the combined power of the Raspberry Pi and Arduino for your own projects. Revolutionize the way you interact with your home on a daily basis. In Detail Low-cost and high-performing, with a massively diverse range of uses and applications, the Raspberry Pi is set to revolutionize the way we thi
List Price: $ 29.99
Price: $ 26.99
Useful, but Confused,
What the title really means is that the author will walk you through using a Raspberry Pi in place of an Arduino to control things, but by still programming it like an Arduino. While the information presented is definitely useful, the end result is a bit of a platform identity crisis, as no Arduino is ever actually being used. The Home Automation part of the title is somewhat loosely coupled, but it does serve as a convenient context for the examples presented and is a nonetheless a prime candidate for Raspberry Pi/Arduino projects.
Chapter 1 is a good introduction to the topics presented in the book. It provides context and history at a level that is appropriate for the audience of the book. Overall – nicely done.
Chapter 2 goes through using BerryBoot to get the Raspbian linux distro onto the Raspberry Pi’s SD card. To me, this particular method is overkill for the context of the book, however at the same time it was nice to see a variation on the typical SD setup routine for the Raspberry Pi. Again, the system setup chapter was just enough to let the user understand what the OS context will be for the purposes of the book, without going into setup details that are best left for a different text.
Chapter 3 starts getting into the hardware. Using an Arduino in conjunction with the Raspberry Pi, while somewhat redundant, is not unusual. The Arduino gets around some of the I/O limitations of the Raspberry Pi without having to get too involved with discreet external electronics. In this case, the author chooses the novel approach of using an adapter that allows the Raspberry Pi to use hardware shields designed for an Arduino, without actually using an Arduino. It is debatable whether or not this method is the best way to “Arduino-ize” the Raspberry Pi, especially with the cost of the adapter board being higher than that of the Raspberry Pi itself. The adapter also requires the use of the arduPi C library that is used to expose (and map) the Arduino framework to the Raspberry Pi in a way that lets you write programs on the Raspberry Pi in C++ the same way you would write them for the Arduino directly. Personally, I think it’s cleaner to use something like the AlaMode that is an actual Arduino with a RTC and SD slot for the same price and in the same size envelope. But if you want to follow along with this book, you’ll need to use the adapter instead.
Chapters 4 and 5 get into a few example projects developing a temperature controller. The chapters build up from getting a simple temperature reading, to connecting a relay and controlling a fan, effectively turning it into a thermostat. The code is pretty clear and logically explained, and it seemed pretty well laid out. That said, these chapters get pretty involved in the C programming language and unlike the one button deployment of the Arduino GUI, it has you running make files and compiling source code from the command line, so it might be a bit much if you’re a programming novice.
Chapter 6 adds in a database and a web server. On the database side, sqlite3 was a good choice for this context as it has a small footprint and easily handles what these projects need to do. For the web server, the author went with Apache and mod-wsgi which is WAY overkill for these projects. He probably would have been fine just using the BaseHTTPServer library that’s built into python.
Chapter 7 gets a little more interesting with the addition of a motor shield to control the opening and closing of blinds or curtains. One issue I have on this chapter is that the project falls completely within the realm of the Arduino. The Raspberry Pi in this case only makes things more cumbersome over just using an Arduino by itself. That said, the concepts presented here could be used as a jumping off point for other projects where the capabilities of the Raspberry Pi might actually be of some use.
Finally, chapter 8 briefly discusses other potential development hardware that can be used with the Raspberry Pi (specifically the Prototyping Pi Plate and the Gertboard), though no additional projects are covered. The wiringPi library is also discussed, which also lets you program the Raspberry Pi like an Arduino. It then closes by suggesting other possible uses/projects for the Raspberry Pi.
In summary, this book focuses on using the Raspberry Pi like an Arduino. If you are already familiar with developing projects on the Arduino, this can be a good thing as you will be almost immediately productive with the Raspberry Pi by following the suggestions in this book. On the other hand, using the Raspberry Pi like an Arduino may not be the cleanest way to do things and you may miss out on some of the the advantages of the Raspberry Pi, like being able to code to the GPIO using a higher level language such as Python rather than C/C++. The concepts presented in the book are useful…
Read more
Was this review helpful to you?
Hard to pin down exactly who this book is for,
On one hand its got quite a specific audience, maybe you’re interested in home automation, and maybe you’ve previously experimented with the Arduino platform and you now have a Raspberry Pi or want to use one for some reason (maybe that the power/size ratio has greater possibilities than the Arduino), and maybe you don’t mind buying an expensive interface so that you can plug Arduino shields into your Pi, and maybe you don’t mind writing Arduino-fashion code in C++ in a text editor and building it from the command line with makefiles). That’s a lot of ‘maybe’. If you are all of these, the book should serve you well enough to get you on your way, but the value of the book diminishes the more of these maybe’s you eliminate.
On the other hand, it tries to touch a lot of subjects and covers the basics of installing software on the Pi, installing and using a free IDE (Geany), electronics, it mentions wiringPi, … It doesn’t go into any topic particularly deeply. Just enough to get started, or to confuse you, depending on where your experience level is.
Where you actually get to see the value of using the Pi, as opposed to just keeping it simple and sticking with an Arduino plus shield, is in the latter part of the book where the author shows and explains how to set up an SQL database for recording sensor information, how to set up a web server (why the author chose Apache and not a smaller faster web server like lighttpd?), and how to make them all play together to do something useful.
The book has Arduino in its title. Arduino was designed for people who don’t necessarily want to use text editors, makefiles, or confusing IDEs with millions of features. Most Arduino people just want to create stuff and they have enough on their plate already just learning to code. While it can easily be justified to use Arduino shields with a Pi due to the fact that there is an abundance of shields on the market, you should ask yourself honestly if your future Arduino shield-based projects really need the processing power of the Pi, because it will cost you another 40 Euros or so for the interface board. Based on the above, I think the title of the book is quite misleading. A more appropriate title (but not as catchy I guess) would be something like “Re-purposing Arduino shields with the Raspberry Pi” or “Using your Raspberry Pi like an Arduino”. I really don’t see the necessity to actually mention home automation in the title because the book doesn’t go into it that much (it more-or-less asks you to think enthusiastically about what you *could* do), and the most complicated project in the book ‘opening curtains according to the ambient light’ brings a home automation context, but in fact this same type of project is ubiquitous in the micro-controller hobby in general.
Summary:
I think the real value of this book is in treating it like an introduction to Pi, with an electronics slant. That’s how I approached it and I am not that disappointed. If you are a beginner it will encourage you to wonder at what you can achieve with this credit card sized computer applied to micro-controller type projects, if you spend some time learning C and some basic electronics, and you’re driven by the need to impress some of your relatives next time they pop round for tea.
+ Has computer-related instructions for Mac, Linux and PC users where necessary
+ Uses simple language and assumes the reader has zero to little experience with programming or electronics
+ Has a large collection of links for future reading in the reference section
+ Enthusiastic tone and encourages to consider what’s achievable
- Title is misleading
- No photos of any interface boards or project setups in the book, just block diagrams
- Tries to cover a lot of concepts but doesn’t go deeply enough generally
- Occasionally brings up somewhat irrelevant topics (there was no X10 project but there is a whole section on X10 in the book, for example)
- Using BerryBoot is debatable for this kind of application, I would have like to seen justification in the text other than “It’s by far the easiest way to install Raspbian” which I happen to agree with
- To make good use of the book’s example projects you will have to buy a specific interface board which is more expensive than the Raspberry Pi or the Arduino itself
Was this review helpful to you?
An Extremely Useful Introduction to Sensor & Home Automation Applications On The Raspberry Pi,
Andrew Dennis has written the first application-oriented hardware/software guidebook for using the extremely popular Raspberry Pi ($35 Linux Board) in real applications. The focus of this book is what can be accomplished with Home Automation as well as Sensor and Actuator Devices with the Pi and with Internet of Things Sensor Databases locally on the Pi as well as in the Cloud/Web. Three unique features of this handbook include:
1. Use of Berryboot a tool which allows easy installation of multiple operating systems on the Raspberry Pi
2. Very Importantly the use of a Raspberry Pi to Arduino Shield Adapter from Cooking-Hacks–Libelium
This hardware shield and the accompanying Open Source Library “arduPI” permit a range of input/output functions on the software-strong Pi that until now has been impossible with primitive manipulation of GPIO pins and allows important (16-bit) analog functionality for recording and manipulating data
from analog sensors. This analog. and i/o functionality is in addition to the powerful multi-language (and shell) programming capabilities of the Pi as a Linux system and is efficiently accomplished through the arduPi library which permits easy manipulation of the i/o functions for many users farmiliar with the Arduino and which otherwise is quite accesible to Linux users of the C and C++ languages.
3. Use of LAMP/Sql and HtSql Servers which permit sensor database users to host a Sql compatbile server directly on the Raspberry Pi and accesss databases of sensor values either hosted locally or in the cloud with full web and web service (JSON/XML) integration. Further information on the HtSql Database platform can be found on the HTSQL (dot) org website.
Extensive history of microcomputer hardware applications and in particular Home Automation dating from early 1970′s microcomputers and the powerline X10
home automation standard showing just how far we have gotten with Ethernet and Wifi Integration and with a powerful Linux-based System that can be inexpensively purchased and placed in the walls of a home or wherever Home Automation is required.
I highly recommend this valuable handbook on real Home Automation, Sensor and Internet of Things applications of the popular Raspberry Pi computer which
is the first presentation of real world applications that involve hardware beyond simple bit-manipulation GPIO.
–Ira Laefsky MS Engineering/MBA Information Technology Consultant and Human Computer Interaction Researcher
a hacker at Philadelphia Hackerspace Hive76
and formerly a Senior Consultant at Arthur D. Little, Inc. and Digital Equipment Corporation
Was this review helpful to you?