What I want:
- establish a low power 100m wireless connection between Internet and arduino for a foo bar machine
- playing around with zigbee protocol; it was mentioned in http://cre.fm/cre116
What I use:
- 1 x Arduino Uno
- 1x Arduino Ethernet
- 2x XBee-Shield with XBee S2 (chip antenna)
How it works:
I received both of my devices with router/ end device firmware uploaded. I don’t get a connection from one XBee to another until I realized that it is necessary to change one XBee role to coordinator.
On the hardware side this can be done by means of the Uno circuit:
- remove the Uno cpu
- plug in the XBee-Shield
- use your normal usb-arduino connection (for me it ends on the laptop side under /dev/ttyACM0)
- for my first attempts I used cutecom (a serial terminal); play around with some AT commands.
The point with this AT* commands is that you start the session with
and no line end. Than you have about 5s to change the line end to CR line end and execute the next command. The 5s are adjustable …
The XBee manual (pdf, ~150 pages) contains a complete command reference.
To upload the firmware linux guys no longer have to wine X-CTU. One can use the really nice and free
which can be downloaded from moltosenso.com. I got trouble with the version 0.9x but on 19th march they came up with the version 1.0. Again, to build .rpm out of the provided .dep I used alien -r as described her.
Two remarks on the upload process:
- keep the suggested baud rate for firmware upload (115200)
- the roles (coordinator, router, end device) are encrypted by the firmware number on the second position. I found this information below http://ftp1.digi.com/support/firmware/93009374_C.txt.
A version is reported as "ABCD". Digits ABC are the main release number and D is the revision number from the main release. "B" is a variant designator. The following variants exist in ZNet 2.5 firmware: Module Firmware * “0" - Coordinator, AT Command Mode (AP=0) * “1" - Coordinator, API Mode (AP=1,2) * “2" - Router / End Device AT Command Mode (AP=0) * “3" - Router / End Device API Mode (AP=1,2)
After uploading the firmware (I also uploaded the latest router /end device firmware) you have to change at least the destination address (ATDL and ATDH) of the end device to the coordinators ATSH and ATSL. Adapt the channels, baud rate and network id (ATCH, ATBD and ATID) on both devices.
I learned a lot from this tutorial: http://vimeo.com/3508123 so many thanks to @tellart