Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Building Wireless Sensor Networks Book Review

January 18, 2011

Anyone who has explored the micro-controlling world of Arduinos has probably come across XBee wireless hardware. While newcomers might believe that connecting and controlling this hardware is a simple task, it turns out setting up an XBee mesh network is not as easy as it appears. NYU Professor Robert Faludi, co-creator of the LilyPad XBee wearable radios, has come to the rescue by educating readers on not only getting the sensors to work, but also understanding the technology that drives them. Read on for a review of his book.Building Wireless Sensor Networks begins with acquiring the necessary hardware and software to construct a working XBee wireless network along with a tutorial on radio theory and wireless networking. Like all things Arduino-related, be prepared to spend money purchasing the components you will need to construct the examples in the book. The tutorial chapters conclude with the successful construction of a ZigBee Chat between computers.

Once the basics have been established, the author walks through the construction of a wireless doorbell project that demonstrates the typical XBee hardware configuration. This is followed by a chapter on I/O with a "romantic lighting sensor" project. Chapter 5 covers the XBee API, followed by a chapter on setting and waking up XBees from sleep mode.

In the next chapter, the author also discusses his XBee Internet Gateway (XIG) project for Digi's ConnectPort X2 (also mentioned on his blog) which allows XBee radios to proxy through the ConnectPort so that it can ultimately be reachable via the Internet. This literally opens up a world of possibilities, and the author greases the wheels with a Twitter reader example that displays tweets on a LCD character display. Using the techniques in this chapter, readers could also build their own humidity sensor for plants that tweets its followers when it needs to be watered, much like the author's own Botanicalls Kit. Industrious readers could even go one step further by controlling the water supply autonomously so that the tweets could state a thirsty plant was watered with such and such volume at such and such time.

The last chapter presents various advanced topics including a review of the ZigBee stack and application support layers, routing, security, serial flow and sharing sensor data via the Pachube web service. A brief list of future plans for the ZigBee platform is provided along with the author encouraging readers with more wireless sensor ideas (monitor/display home electrical use, design reactive furniture, etc.). He also asks readers for feedback via the BWSN Twitter/Instructables/Flickr/Pachube/YouTube tag. A resource guide for more information on Arduino, Processing, Python, ZigBee and Digi along with additional online resources, recommended books, troubleshooting tips and reference tables (ZigBee Modules, ASCII codes and an XBee command reference) close the book.

While the setup and configuration of XBee radios could have been included as a chapter in a much larger book on Arduinos (or documented on the web, such as Ladyada's excellent XBee tutorial), the addition of the Processing scripts, the theory behind mesh networks and wireless transmissions and the more advanced topics on creating XBee gateways and protocol references help the book stand on its own. The audience for Building Wireless Sensor Networks will be a very concentrated group of tinkerers ready to take the next step in their micro-controller journey, but one they will enjoy doing and one that will benefit greatly with the aid of this book.

Title: Building Wireless Sensor Networks Book Review: A Practical Guide to the ZigBee Mesh Networking Protocol Author: Robert Faludi Publisher: O'Reilly Media ISBN: 978-0-596-80776-4 Pages: 320 Price: $27.99 (Ebook), $34.99 (Print)

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.