Project: XBee involves taking two series one XBee modules and interfacing them with the various sensors that have been documented in our ECE497 group. Our goal is to create wiki pages which expand on the sensors to include sample wireless communication documentation and source code.

+

The XBee project involves taking two series-one XBee modules and interfacing them with the various sensors that have been documented in our ECE497 group. Our goal is to create wiki pages which expand on the sensors to include sample wireless communication documentation and source code.

−

Right now the various sensors have been documented and are working. We have not received the XBee modules yet, so we have not been able to use them.

+

Right now the various sensors have been documented and are working. We've received the XBee modules and soldered them as required. So far we've been able to send a receive messages from an XBee connected to a Windows PC to one connected to a Bone, and vice versa. We've started development on C code which is used to send and receive commands on the Bone. When finished, we'll have a library of methods for communication.

−

Give two sentences telling what isn't working.

+

Our next step is to move to Bone-to-Bone communication and to be able to control our sensors wirelessly from one Bone to the other.

−

End with a two sentence conclusion.

+

In conclusion, we're using XBee modules to communicate from one Bone to another. A protocol is in development and will be used for controlling sensors wirelessly.

−

+

−

The sentence count is approximate and only to give an idea of the expected length.

+

== Installation Instructions ==

== Installation Instructions ==

+

=== Hardware ===

+

+

The very first step is to solder your XBee module, see [http://www.ladyada.net/make/xbee/solder.html the instructions here]. Once the module is assembled, you may wire-up the XBee module to the BeagleBone's serial ports. The table below describes how to hook up the module to UART2 on the Bone:

+

+

{|

+

! align="left"| XBee

+

! Bone

+

|-

+

|GND

+

|Ground, port 1

+

|-

+

|3V

+

|3.3V, port 3

+

|-

+

|TX

+

|RX, port 22

+

|-

+

|RX

+

|TX, port 21

+

|}

+

+

The image below shows the configuration:

+

+

<PIC>

+

+

=== Software ===

+

+

Our git repo for this project is available here: [https://github.com/duganje/ECE497_XBEE github.com/duganje/ECE497_XBEE]. To begin, download the C file which houses our communication methods. You are now able to send data wirelessly using the SendXbee() and ReceiveXbee() functions. Repeat this procedure on a separate BeagleBone and use the same functions to receive and reply data.

+

<!--

Give step by step instructions on how to install your project on the SPEd2 image.

Give step by step instructions on how to install your project on the SPEd2 image.

Line 24:

Line 51:

* Include kernel mods.

* Include kernel mods.

* If there is extra hardware needed, include links to where it can be obtained.

* If there is extra hardware needed, include links to where it can be obtained.

−

+

-->

== User Instructions ==

== User Instructions ==

+

TO DO: How to use the send and receive functions. Include screenshots.

+

<!--

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

−

+

-->

== Highlights ==

== Highlights ==

Line 37:

Line 66:

== Theory of Operation ==

== Theory of Operation ==

−

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

+

The main theory of operation is based on Linux's use of files. With an XBee connected to the Bone's UART, sent and received messages are written to the ttyO2 file. Our code uses this and reads the file to receive a message and writes to the file to send a message. Any XBee's on the same network wil receive the message and we can do anything we want with it.

+

<!--

+

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.-->

== Milestones ==

== Milestones ==

−

*Monday, 10/29 - XBee hardware received.

+

*Monday, 10/29 - XBee hardware received. (done)

−

*Thursday, 11/1 - XBee Bones are connected and commands can be sent.

+

*Thursday, 11/1 - XBee Bones are connected and commands can be sent. (done)

*Monday, 11/5 - Initial sensor implementation.

*Monday, 11/5 - Initial sensor implementation.

*Thursday, 11/8 - Package language implemented between Bones.

*Thursday, 11/8 - Package language implemented between Bones.

Line 50:

Line 81:

== Work Breakdown ==

== Work Breakdown ==

+

=== Completed Work ===

+

* Soldering XBee's - Matt Moravec

+

* Initial communication methods - Stephen Shinn

+

* Expanded communication methods - Josh Dugan

+

=== To Do ===

+

* Sensor implementation

+

* Wiki pages

+

<!--

List the major tasks in your project and who did what.

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Contents

Executive Summary

The XBee project involves taking two series-one XBee modules and interfacing them with the various sensors that have been documented in our ECE497 group. Our goal is to create wiki pages which expand on the sensors to include sample wireless communication documentation and source code.

Right now the various sensors have been documented and are working. We've received the XBee modules and soldered them as required. So far we've been able to send a receive messages from an XBee connected to a Windows PC to one connected to a Bone, and vice versa. We've started development on C code which is used to send and receive commands on the Bone. When finished, we'll have a library of methods for communication.

Our next step is to move to Bone-to-Bone communication and to be able to control our sensors wirelessly from one Bone to the other.

In conclusion, we're using XBee modules to communicate from one Bone to another. A protocol is in development and will be used for controlling sensors wirelessly.

Installation Instructions

Hardware

The very first step is to solder your XBee module, see the instructions here. Once the module is assembled, you may wire-up the XBee module to the BeagleBone's serial ports. The table below describes how to hook up the module to UART2 on the Bone:

XBee

Bone

GND

Ground, port 1

3V

3.3V, port 3

TX

RX, port 22

RX

TX, port 21

The image below shows the configuration:

<PIC>

Software

Our git repo for this project is available here: github.com/duganje/ECE497_XBEE. To begin, download the C file which houses our communication methods. You are now able to send data wirelessly using the SendXbee() and ReceiveXbee() functions. Repeat this procedure on a separate BeagleBone and use the same functions to receive and reply data.

User Instructions

TO DO: How to use the send and receive functions. Include screenshots.

Highlights

Theory of Operation

The main theory of operation is based on Linux's use of files. With an XBee connected to the Bone's UART, sent and received messages are written to the ttyO2 file. Our code uses this and reads the file to receive a message and writes to the file to send a message. Any XBee's on the same network wil receive the message and we can do anything we want with it.

Milestones

Monday, 10/29 - XBee hardware received. (done)

Thursday, 11/1 - XBee Bones are connected and commands can be sent. (done)

Monday, 11/5 - Initial sensor implementation.

Thursday, 11/8 - Package language implemented between Bones.

Sunday, 11/11 - YouTube demo uploaded.

Monday, 11/12 - All documentation complete.

Tuesday, 11/13 - Presentation day; PowerPoint complete.

Work Breakdown

Completed Work

Soldering XBee's - Matt Moravec

Initial communication methods - Stephen Shinn

Expanded communication methods - Josh Dugan

To Do

Sensor implementation

Wiki pages

Future Work

Suggest addition things that could be done with this project.

Conclusions

Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.