Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Beginning sensor networks with Arduino and Raspberry Pi
Bell C., Apress, Berkeley, CA, 2013. 372 pp. Type: Book (978-1-430258-24-7)
Date Reviewed: Apr 17 2014

Some books teach you how to use a tool and some teach you how to approach a domain or solve a particular problem. It is, however, a smaller subset of books that attempt to do both. This book shows you how to build a sensor network using Arduino to host the sensor, XBee modules to communicate wirelessly with multiple sensors, Raspberry Pi to aggregate the data, and a MySQL database to store the data. Is this a tinkerer’s heaven of gadgets, or a toolbox of cool technologies looking for a problem?

Chapter 1 aims to decompose the problem domain. It covers sensor networks, including where and why you would use them and how to set them up. It ends with a brief overview of the types of sensors available. Chapter 2 is all about the XBee, a wireless communication module with some basic analog sensor connectivity. The book describes the various modules available and then guides the reader through the construction of a three-node mesh network. In the process, the reader learns the data packet format and how addressing takes place between router and coordinator nodes.

The Arduino hardware prototyping platform is introduced in chapter 3. The author describes some of the different Arduino modules available, the development environment, and how to connect them to sensors, all in a single chapter. The chapter leads the reader through the construction of two projects. The first uses a directly connected digital humidity and temperature sensor, while the second project explains how to interface Arduino to the XBee modules in building an Arduino data aggregator for standalone XBee sensor nodes.

Chapter 4, on Raspberry Pi, also aims to condense an entire book’s worth of information into a single chapter. It describes what it looks like, how to connect it, how to build a boot image, and then how to configure it all. Having covered just enough for the reader to get Raspberry Pi up and running and the user logged in, the focus changes to the general-purpose input/output (GPIO) port on Raspberry Pi. The first project connects a digital temperature sensor based on the one-wire communication protocol; the second project connects a digital barometric pressure sensor based on the I2C bus protocol; and the final project hooks up an XBee module and uses an analog temperature sensor wired to a second remote XBee module to generate the data. All of the projects cover the Linux kernel module installations required, as well as any Python language libraries that are needed. The Python source code is also provided and described in some detail.

The problem of where to store all of the sensor data is covered in chapter 5. Two options are presented for Arduino. The first shows how to store data in an electrically erasable programmable read-only memory (EEPROM) chip, while the second shows how to write data to a secure digital (SD) card. The latter also covers accessing a real-time clock (RTC) module so that the saved down sensor data contains accurate timestamps. File storage on Raspberry Pi is trivial and only covered in brief. Finally, the chapter ends with the available remote storage options, with a strong focus on Xively, an online cloud-based storage solution for sensor data with both Arduino and Raspberry Pi Python access libraries available.

Chapter 6 covers a condensed version of MySQL, detailing how to install the relational database on Raspberry Pi, how to setup access control, and how to perform basic database administration tasks. It includes details on setting up an external hard disk drive (HDD) for storing the database, as well as how to build a database replication service that will ensure that your Raspberry Pi hosted data is never lost. Building on this knowledge, chapter 7 details how to access a MySQL database running on Raspberry Pi from within a remote Arduino. Two step-by-step projects are described: one inserts data from Arduino into the database and the other reads data from the database.

Different combinations of components are put together in chapter 8 to create three different sensor networks. The first uses local storage on Arduino for sensor data provided by XBee modules, while the data is made available via a web server running on Arduino. The second project ships the data off of Arduino and onto a MySQL database running on Raspberry Pi, and the final project replaces the Arduino aggregator node with Raspberry Pi. The final chapter discusses the practical aspects of building sensor networks, as well as all of the criteria for evaluating a potential design and choosing appropriate components. The authors also outline some alternative sensor hosts.

Overall, the book could have benefited from less repetition (too many section introductions are a repeat of the first paragraph) and some technical editing (almost half of the statements in the section on “Hosting Sensors with Raspberry Pi” are incorrect). However, if you like experimenting with new gadgets, without a heavy dose of theory, you should really enjoy this book. If you prefer depth and substance, I’d advise a separate book on each of the components covered here.

More reviews about this item: Amazon, Goodreads

Reviewer:  Bernard Kuc Review #: CR142189 (1407-0496)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Signal Processing Systems (C.3 ... )
 
 
Real-Time And Embedded Systems (C.3 ... )
 
 
Network Architecture And Design (C.2.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Signal Processing Systems": Date
Digital signal processing
Roberts R., Mullis C., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1987. Type: Book (9789780201163506)
Jul 1 1988
Wave digital filters
Lawson S., Mirzai A., Ellis Horwood, Upper Saddle River, NJ, 1990. Type: Book (9780139469978)
Jul 1 1992
Linear systems and digital signal processing
Young T., Prentice-Hall, Inc., Upper Saddle River, NJ, 1985. Type: Book (9789780135373668)
Sep 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy