I've decided to make this blog to periodically post my progress on various projects and contribute back to the resource I use most - looking at people's code on other blogs that I find through Google searches. It might also help to keep me keep focus if I continuously write down what I've done.
So, I've been working on this project for nearly a year now, and there's much to be said about all that I've discovered, but I'm just going to start from where I am now, since I've practically had to start from square one again. The project is designing a sensor network that uses xbees and atmega328 microcontrollers. I'm not the first one to try to do this by far, but there's a few new changes that I believe are important enough to warrant the creation of a new wireless sensor network (WSN) development platform.
Most WSN dev boards are difficult to use because of proprietary software or a very small support community for a complex system. Also, most research in sensor networks is focused on routing protocols and reducing energy consumption. I'm mostly interested in the applications of WSNs, particularly with robotics. So the board being designed here will use Xbees because of the common interface they use, and if I want to change the radio frequency the project is using or the routing protocol, I can change Xbees and only apply minor changes to the code. Xbees are also good because they come in varieties that already run the Zigbee stack which makes multihop applications easier to develope and they also have modules that only run 802.15.4, so if you want to work on your own custom routing protocol you can. We're also using atmegas because of the low power consumption of the chips and because I just like them.
We are currently working on developing an Xbee library for the atmega328p that will support interfaces for using Xbee series 1 and 2, and eventually adding a HAL (hardware abstraction layer) for using the library with other atmega chips and even other brands. Now, an obvious thing people will like to point out is that there is an Xbee library for arduino already which also uses the atmega328. Arduino doesn't provide the fine control we will be looking for in this project, so we are coding in C and using AVR studio. The library will hopefully be able to be added to any arduino project when we are finished however.
For more information on Xbees, check out the links below:
https://www.sparkfun.com/pages/xbee_guide
http://www.digi.com/xbee/
No comments:
Post a Comment