ZigBee/Xbee 900mhz Wireless Questions

Phishfry

Beastie's Twin

Reaction score: 2,669
Messages: 5,589

I have never used Xbee and I am looking at 900Mhz Wireless radio modules.
Digi S3B Xbee module.

My question is: How do these communicate with FreeBSD? I will buy a Xbee Explorer board. This is serial to USB.

So how would I communicate over these modules? Would PPP work? They use an AT command set.
I guess I would need a base station and use the xbee modules as clients?

Has any body worked with this gear? It is not outrageously priced.
 

chrbr

Aspiring Daemon

Reaction score: 363
Messages: 882

I have had a short look to the devices. They are very interesting. From my first understanding there is no base station. Any module can send messages to any other module. They have unique addresses. The interface is a UART. Please see https://www.digi.com/resources/documentation/digidocs/pdfs/90001496.pdf.

There is a transparent mode which acts as a wireless UART extension line. The API mode seems to be more universal and is documented in the PDF. For example at page 42 an example is given how to send "Hello" to another module.

Disclaimer: I have not used the devices.
 
OP
Phishfry

Phishfry

Beastie's Twin

Reaction score: 2,669
Messages: 5,589

The program from Digi is called X-CTU for configuring these modules. They have a Linux version. It is a GUI.
It was helpful to watch this Youtube video for module setup..
So these communicate over a serial connection.
How do I send files over serial connections?

Lets say I have Beaglebone with OneWire sensors. Xbee Wireless over UART.
How do I transmit that data from a node to host?

I really don't know how to address COM based interface.
I have used kermit and xmodem way way back. Hopefully there is a better way.

How to best stream data over a COM port? scp won't work here.
 
OP
Phishfry

Phishfry

Beastie's Twin

Reaction score: 2,669
Messages: 5,589

Page 29 of the PDF you provided has some really interesting stuff.
If you plug the modules into the boards and connect them to a battery, the XBee modules work
autonomously. For example, they can gather data from a sensor and send it to a central node.

So you program the module with USB interface via XCTU & explorer board and then unmount and power via USB jack.
Wow. I saw it had an Atmel processor on the back of the module. I had no idea it was that smart.
 

chrbr

Aspiring Daemon

Reaction score: 363
Messages: 882

This is my understanding for the setup:

In the transparent mode you will need two Xbee devices. Before operation they have to be configured to transparent mode. I guess they have to be paired somehow. Then you can use them as a wireless UART extension. But the traffic between the modules is not just UART but wrapped in a protocol.

Therefore it should be possible to program a Beagleboard with a 1-wire sensor to output the sensor data via RS232 which feeds one Xbee unit. Then a second Xbee unit can receive the data and output the stream to its UART which can be connected to a PC or so.

In case you want to connect the stuff to a PC:
For evaluating the UART stream you will see the traffic in a terminal program like Teraterm or so. But for postprocessing the data it is better to write a UART receiver which then interprets the raw data of the 1-wire sensor. The most effective language for such a task is Tcl, especially if you plan to add a GUI. Using Tcl with Tk it is easy to make a simple GUI. The most common approach these days might be Python. You can also make a GUI using Python/Tk but it is by far not as simple as using Tcl/Tk. The syntax in Python is a little alien. But the biggest difference is in the Tk integration. With Tcl the Tk things run in their main loop. There is almost nothing to worry about. With Python and Tk it is not so straightforward to run the Python part and Tk part that they do not block when the Python part has to take care about some "real time application".

One advantage of having a own layer of software is to have the option to use not the transparent mode but the API. Of course one could also use C or so. It is a very big and nice playground.
 
OP
Phishfry

Phishfry

Beastie's Twin

Reaction score: 2,669
Messages: 5,589

I might never get around to this but it looks very interesting.
My original plan was XT09B module on remote end (my vehicle PC at work at 3miles downrange) and modem for base station.
The remote modem. I have a drone motherboard with this pinout. It is not your standard Zigbee pinout pattern.
Here is the base station I was looking at.
 
OP
Phishfry

Phishfry

Beastie's Twin

Reaction score: 2,669
Messages: 5,589

Well I decided to dip my toe into the 900MHZ game.
Instead of Zigbee/xbee I went regular Mini-PCI card.
Ubiquiti XR9 module for $45usd
These are really old vintage 2009 cards. Very tall too for MiniPCI slots.
So I got one to see if supported or if it fits in any embedded chassis I have.
Supposedly it spoofs a 900MHZ signal from an Atheros 5516 chip with 2.4ghz.
So software thinks it is using 2.4ghz radio but in reality it is broadcasting 900mhz.
I did see one post referencing the XR9 on the mailing list from 2010. So I have some hope.
 
Top