github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

madrona / xbee-modem-setup

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 5
    • 1
  • Source
  • Commits
  • Network (1)
  • Issues (0)
  • Downloads (0)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (1)
    • master ✓
  • Tags (0)
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

Quick and simple xbee modem configuration of Channel, Pan Id and Destination Address — Read more

  cancel

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

changed purpose to read better 
madrona (author)
Tue Mar 10 18:08:44 -0700 2009
commit  aaf6411996c599279c75e5d07c243e300ca37e9f
tree    9ede569fd0b9ed02382ff379f8fd19937efc16dd
parent  5967869320315cf9fee16149c1ed0c336db525d9
xbee-modem-setup /
name age
history
message
file README.rdoc Loading commit data...
file xbee_modem_setup.rb
README.rdoc

XBee Modem Setup

Xbee modems ship in router configuration, but can be configured as routers or coordinators with the digi X-CTU software (windows only). A coordinator is necessary to configure a mesh, however for direct communication between modems a coordinator is unnecessary. So for two Xbee modems, the as shipped router firmware works fine.

The purpose of this script:

An Xbee module will only communicate with other modules having the same channel (CH parameter), PAN ID (ID parameter) and destination address (DH + DL parameters). Reading settings these parameters is the purpose of this script

This could be thought of as 3 layers: Channel, Pan ID and Destination Address low and high: DL/DH

Note: when a constant is not set, that constant is not written, only read

Step 1

Download and install ruby serial port library "/

Step 2

Add an xbee shield with xbee shield with both jumpers in usb position (nearest the board edge) to the arduino connect the arduino to your computer run this script the result should look similar to this:

 using tty.usbserial-A60048pt

 Connected to: serial port
 cmd: ATVR, result: 1220 OK
 cmd: ATCH, result: 16 OK
 cmd: ATID, result: 555 OK
 cmd: ATSL, result: 4052D736 OK
 cmd: ATSH, result: 13A200 OK
 cmd: ATDL, result: 4052DAF7 OK
 cmd: ATDH, result: 13A200 OK
 cmd: ATNI, result: VISCONTI OK
 serial port closed

what is all this?

 ATVR =>firmware version
 ATCH => channel (from 1-16)
 ATID => pan id, or Personal Area Network ID
 ATSL => serial number low (record this)
 ATSH => serial number high (record this)
 ATDL => destination low (assign the serial number low of the target modem to this)
 ATDH => destination high (assign the serial number high of the target modem to this)
 ATNI => networking identification (assign a human readable name... not necessary but very handy)

take a note of the serial low and high, since these will be assigned to destination high and low of the other (destination) modem

Step Three

Enter your configurations and run the script

Step Four

Repeat for the other Xbee modem

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server