Arduino xbee zigbee
4.2 XBee API frames: The first decision I had to make was to decide if I wanted to communicate with my XBee modules by AT commands or through their API. Introduction I developed this WSN for a coursework on my MSc and Im hoping others will find this useful or at least interesting. 4.3 XBee API friendly data types: For my network I had to find ways to transport my sensor readings by the means of the supported uint8_t array. Im currently entering timestamps for each data set once they get entered by means of an insert/update database trigger. Where transporting a single character across the link is relatively easy as demonstrated in the Arduino Getting started guide for this coursework 12 with the Arduino IDEs physical pixel example. The library has various use cases 14 which unfortunately leaves the Arduino-to-Arduino one as todo hence I had to find my own way to implement this scenario. 4 XBee Network 4.1 XBee network Overview As suggested in the XBee modules documentation 26 and proven by Lady Ada in her Tweet-a-Watt project 10 it is possible to use. For the temperature I have decided to send the value in one byte and use a second byte to indicate if this value is positive or negative. This node consists of the following components: Arduino Diecimilia XBee shield and XBee ZNet 2.5 module. The XBee modules we have been provided with as part of this coursework come preloaded with the ZNet 2.5 firmware 11 which implements the ZigBee protocol stack. Ive also included a zip (9.7, bottom of the post, just above the reference section) with all my source code for this project which includes: all Arduino sketches the database. I had planned to write a library for transporting small data sets across this network but, shortly after I had deciphered the API frames, found that this was already available. Fan-Can 1 consisting of one temperature (tmp102 humidity (HIH-4030) and light (TEMT 6000) sensor One combined soil moisture/soil temperature sensor 2.2 Sensor node 1 I have positioned this node in. 3.2 Database/web server technical details Intel dual core Atom Mini ITX mainboard RAID 5 based on four 1TB 3.5 hard drives Ubuntu 11.10 6 Apache 7 MySQL 8 phpMyAdmin deb1. It submits temperature and light level to the concentrator. Almost all available documentation on Arduino based XBee projects is based on the XBee Series 1 modules which are incompatible to the XBee Series 2 modules we have been provided. Both modes are available but require different versions of the firmware. This database design is not perfect for my nodes which all return different data sets as all of them have different sensors. Finally an actuator node extracts temperature values from the database and, depending on the values indicates temperatures above a certain threshold by means of green/red LEDs and turns a fan. This setup is sufficient for the network I have developed as I am only sending data in one direction, from the nodes to the concentrator, and I dont expect overlap. It collects the data sets submitted by the sensor nodes and passes them on to the database. Although the uint8_t array seemed cumbersome at first I found ways to transport my generated values and the use of this cross platform data type should prove handy if I. Ive just installed the first parts of this WSN back home to collect sensor data from various outbuildings and it will be part of my new Arduino controlled greenhouse project. Network Components My network currently consist of the following components: 2.1 Sensor node 0 I have positioned this node in my greenhouse. I had many additional ideas for further improvements in regards to the network, nodes and sensors which I have included at the end of the report. I currently lack a mechanism to upload the stored data sets to the same table as the original timestamps captured by the real time clock would get overwritten by the. This node consists of the following components: Arduino Diecimilia Arduino Ethernet Shield 162 LCD 2.5 Actuator node This node extracts data from the database via its ethernet shield and if. This node consists of the following components: Arduino Uno. For the moment this design is useable but once I start to collect bigger amounts of data Im planning to split the data across several tables with one table per. In addition to the coursework requirement to display the acquired data sets in the Arduino IDE I have developed a concentrator node to upload the data sets to a database. The XBee modules are incredibly popular for physical computing and sensor network projects as they are very well documented, simple to use and affordable. Ill try to port the storage and reporting backend to a Raspberry Pi later this week, initial trials seem to suggest that it should cope well with this task for. Arduino Ethernet Shield XBee shield and XBee ZNet 2.5 module green/red LED additional 5V psu to close the relay and power the fan 5V/240V 30A relay 12V pc case fan. It submits temperature, humidity, light level and soil moisture/temperature readings to the concentrator. I decided to base my network on the API firmware because the API frames are well documented by the manufacturer. The array Im using currently transports the following sensor readings which are then entered into the database. 3.4 Reporting I have decided to use Flot 1 to visualize the data sets and have modified the provided example on plotting time series 5 to show the temperature readings. XBee shield and XBee ZNet 2.5 module. H library which is what I have used for this coursework 13. As required for this coursework and based on the provided Arduinos and XBee ZNet 2.5 modules I have developed an energy efficient wireless sensor network (WSN) which collects a number. For the analog readings I have decided to split the 10bit value into two 8bit bytes which then get reassembled on the concentrator side.