Book Image

Building Wireless Sensor Networks Using Arduino

By : Matthijs Kooijman
Book Image

Building Wireless Sensor Networks Using Arduino

By: Matthijs Kooijman

Overview of this book

Arduino has been established as the de facto standard microcontroller programming platform, being used for one-off do-it-yourself projects as well as prototypes for actual products. By providing a myriad of libraries, the Arduino community has made it very easy to interact with pretty much any piece of hardware out there. XBee offers a great range of low-power wireless solutions that are easy to work with, by taking all of the complexity of wireless (mesh) networking out of your hands and letting you focus on what to send without worrying about the how. Building wireless sensor networks is cost-effective as well as efficient as it will be done with Arduino support. The book starts with a brief introduction to various wireless protocols, concepts, and the XBee hardware that enables their use. Then the book expands to explain the Arduino boards to you, letting them read and send sensor data, collect that data centrally, and then even control your home from the Internet. Moving further more advanced topics such as interacting through the standard Zigbee Home Automation protocol, or making your application power-efficient are covered. By the end of the book, you will have all the tools needed to build complete, real-world solutions.
Table of Contents (8 chapters)

Sending and receiving data

Now that the XBee connectivity is covered, it is time to actually exchange some data wirelessly between your Arduinos. In the previous chapter, you have already seen the API frames involved in transmitting and receiving data through the network. In this section, you will let the Arduino use those API frames to exchange a simple Hello, world! message again. For this, the sender will use the XBee module that you configured as a router, while the receiver will use the coordinator XBee.

Sending data

Remember that sending a message involves a few different API frames:

  • The sender sends a ZigBee Transmit Request API frame to the XBee module, containing the destination address and the message.
  • The receiver receives a ZigBee Receive Packet API frame, containing the sender address and the message. The receiver XBee will also (automatically) send an acknowledgement (ack) back to the sender so the sender knows the transmission was successful.
  • The sender receives a ZigBee Transmit...