I was asked to deploy a wireless sensor network and due to some requirements I already decided to use Zigbee/802.15.4 as my networking protocol. Also, I will be measuring air quality and taking some low-res pictures with a camera.

But when it comes to the sensor nodes I'm not sure which one should I use. I already have Crossbow TelosB nodes and although they have humidity, temperature and pressure integrated sensors I think adding more sensors could be more difficult than doing so with an Arduino, since lately we can find lots of tutorials out there as well as tested configurations.

Being complexity my main criteria, which sensor nodes would you use?

Thanks, p312z


Your primary criteria appear to be the following:

  • Reasonably high throughput (for sending camera capture data)
  • 802.15.4/Zigbee specification
  • Flexibility in various aspects, including interfacing with sensors and/or Arduino

Based on those criteria, the Xbee Series 1 (802.15.4) and Xbee Series 2 (ZigBee) would be strong candidates for your project.

These modules are available in pin-to-pin-compatible high- and low-transmission-power variants (i.e., longer range and shorter range, but also higher power consumption and lower power consumption). They have an on-board MCU and thus allow direct interfacing with sensors via I/O pins, or alternatively UART interfacing with an external microcontroller.

Depending on what your project cost goals are, you may want to keep in mind that Xbee modules cost $20-$35 depending on which model. They are fairly large in size, with a 20-pin 2.0mm-header form; this form does have the advantage of allowing you to adapt your PCB/design without further modification in case you decide to do a future replacement with similar form-factor modules (e.g., RN-XV for 802.11 Wi-fi, or Bluetooth Bee for BT communicaition).

If you choose to use these modules, they are extensively documented across project pages and forums in the Arduino and other similar communities, however, a good starting point would be Rob Faludi's book. If you are using Arduino's variant of C, or Java, as your development medium, there are the popular (xbee-arduino)[http://code.google.com/p/xbee-api/] and (xbee-api)[http://code.google.com/p/xbee-arduino/] libraries created by Andrew Rapp.

You mentioned air quality data and camera image data as examples of payloads you will be transmitting. Here are corresponding examples for air quality data transmission and camera image data transmission using Xbee modules: (1) Air quality data and (2) Camera image data

Note that the Xbee units do have some disadvantages; here are some alternative suggestions for your project based on each disadvantage:

  • Large size/Cost: If Xbee unit dimensions or per-unit price are too large, you may want to consider a smaller-scale SMD alternative, e.g., the Atmel Zigbit or TI's CC2530

  • Large power consumption: If the Xbee units' current draw (ranging by scenario from 50 mA to 250 mA) is too high, then although you stated that 802.15.4/Zigbee is your chosen protocol, you may want to consider newer, more power-efficient alternatives such as Bluetooth LE, for example the BLE112

  • \$\begingroup\$ Thank you very much for your well explained reply. I already considered Bluetooth 4.0 in its LE mode, but Bluetooth is still a very complex protocol with a large number of primitives. Also, I think Xbee+Arduino is far more documented but thank you for your suggestion ;-) Also, do you think the energy consumption difference is that big? \$\endgroup\$ – p312z Aug 24 '12 at 15:16
  • \$\begingroup\$ @p312z: I didn't understand your question regarding energy consumption. And yes, I believe Xbee is better documented for Arduino interfacing than any other wireless option. \$\endgroup\$ – boardbite Aug 24 '12 at 19:37

The answer to your question totally depends on what kind of budget you have and in what kind of conditions your sensors will be working. I would suggest you to get those boundaries (or requirements) clear first (like operating temperatures, humidities and low or high brightness conditions).

Secondly to give you a direction: the most simple nodes will output their data in RS232 (serial) packets. This type of interfacing is the most simple to convert to your packet-based zigbee protocol. just parse the incoming sensor packets and then send 1-on-1 to your zigbee network.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.