Author: Robert Faludi
Publisher: O'Reilly, 2010
Aimed at: Hardware-oriented programmers
Pros: Good technical coverage
Cons: Doesn't cover Series 1 XBees
Reviewed by: Harry Fairhead
If you want to build a network of wireless sensors then this book might well be the help you need.
The subtitle of this book is "with ZigBee, XBee, Arduino and Processing" and this give you a pretty good idea what it is all about. It would be an even better if it made 100% clear that it is about Series 2 XBees and it more or less completely ignores Series 1. This is not unreasonable as Series 2 is more complex and it's where a book can do most good. The problem is that Series 1 is extremely popular and it is ideal for simple point-to-point links. It's a shame that the book couldn't find the room to cover them in more detail - it wouldn't have added very many pages.
Having got this moan out of the way, this is a really good book. It starts off with the basics of buying an XBee radio and this is where it discusses the difference between a Series 1 and Series 2 device. Author Robert Faludi then goes on to say that he is going to work with nothing but Series 2 devices in the rest of the book. He also describes in detail how to buy an adaptor and how to use an Arduino to interface with an XBee.
Chapter 2 starts off with the basics of radio - not really enough to get you anywhere. Then on to network topologies and how that XBee fits into this. Then we learn that an XBee is configured and controlled using Hayes modem AT commands. A short and simple example of getting two XBees to talk to each other completes the chapter.
From this point on the book goes through the ways that you can use an XBee in increasingly sophisticated ways. First though Chapter 3 takes you through a project to build a better doorbell. This doorbell uses an XBee to communicate with an Arduino and works its way through increasingly sophisticated setups. I'm not sure that the last variation - the Nap doorbell - where you have to press repeated until the LED goes on before the bell is sounded is one that will catch on but it is a good example. Chapter 4 is about XBee I/O and using it to create a simple project - a romantic light sensor including feedback.
Chapter 5 is a bit of a gear change with an in-depth look at the alternative way of using an XBee via its API. This ends with a project to build a sensor network. This is extended in Chapter 6 with the use of the sleep mode to conserve battery life.
Chapters 7 and 8 round off the book with some advanced topics. Chapter 7 is a quick run down of gateways - connecting XBee networks to other protocols, e.g. the Internet. It would have been nice to have some examples of interfacing to other protocols such as X10 or WiFi, but this would take us into other areas and make the book much longer. The final chapter is a collection of topics including the ZigBee stack and sharing data with Pachube.
Some parts of the book, mainly the projects, can seem complex but it's in the nature of the topic. Read and re-read and if possibly try the projects out and it will all make sense. It is useful if you are trying to find your way into the whole ZigBee wireless area - but note well the comments at the start of this review about Series 1 being simpler and hence a better starting point and these are not covered in this book.
This is not the last word on using ZigBee and building wireless sensor networks, but it is essential reading if you are using Series 2 XBees. If this is the case then don't even spend time contemplating, just buy a copy because it will save you time.
Advanced Android Application Development (4e)
Author: Joseph Annuzzi Jr, Lauren Darcey & Shane Conder
Publisher: Addison Wesley
Date: November 14, 2014
Audience: Intermediate Android programmers
Reviewer: Harry Fairhead
Advanced Android is not som [ ... ]
Next Generation Databases: NoSQL, NewSQL, and Big Data
Author: Guy Harrison
Date: December 30, 2015
Audience: Architects, DBAs, and Devs
Reviewer: Ian Stirk
This book aims to help you choose the correct database technology, in the era of Big Data, [ ... ]