SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By RodSTAR
#77885
Hello all, :)
I want to know if somebody can help me on the following.

-WHAT I HAVE: :o
I have 5 XBee PRO modules version 1 with updated firmware with X-CTU software.

-WHAT I WANT: ;)
I want to use 1 of them as master, and the rest connect directly to master.

-WHAT IS MY PROBLEM: :'(
My problem is that X-CTU recognizes them as XBP24 (not as XBP24-B)in which in the "Function Set" list doesn't list any item as "..Coordinator..." or "..Router...". I've seen lots of tutorials and in all of them they asume and have those coordinator and router functions sets.

-WHAT IS MY QUESTION: :-?
Is there another way to do what I need, or just i'll have to buy new new version of XBee which support those modes?

Thanks in advance.
By stevech
#77924
you can use peer to peer networking. The source device sets the destination MAC address of the intended XBee (master or peer). Set using AT commands or the binary API.

For one-to-many, in one transmission, set the destination address = 0xFFFF, the broadcast address. But there's no MAC layer ACK for broadcasts so your session application layer needs to deal with lost packets in a broadcast.
By RodSTAR
#77933
stevech wrote:you can use peer to peer networking. The source device sets the destination MAC address of the intended XBee (master or peer). Set using AT commands or the binary API.

For one-to-many, in one transmission, set the destination address = 0xFFFF, the broadcast address. But there's no MAC layer ACK for broadcasts so your session application layer needs to deal with lost packets in a broadcast.
Thanks for your reply Steve,
I cannot deal with lost packets, it is a presicion realtime application, in which master sends instructions many times per second to the 4 slaves and they return immediatly feedback.
I want to use it at 115kbps, the distance is about 100 meters (300+ feet).

Is there another solution or I should send my XBee's modules to sleep with fishes, and buy other 5 new 2,5 version modules?

More help will be honestly appreciated.
By RodSTAR
#77960
thanks, does it work for this, if not how can it be done?:
-Master will send instructions as many times per second as it can to the 4 slaves and then, each one returns immediatly feedback.
I want to use it at 115kbps, the distance is about 100 meters (300+ feet), in visual line (no obstacles).

So... first, master (DL0) will send to first slave (DL1), then to second slave (DL2), and so on... so,
Q1: does it mean that the microcontroller should change XBee's DL each time it changes slave?, can that be done?,

Q2: if it can be done, it should be done with AT commands or with API.... sorry, i'm completely new at this.

Ahother question: my available Function Sets are:
-XBEE PRO 802.15.4
-XBEE PRO 802.15.4 NON-BEACON
-XBEE PRO 802.15.4 DIGITAL IO ADAPTER
-XBEE PRO 802.15.4 RS232 POWER HARVESTER
-XBEE PRO 802.15.4 ANALOG IO ADAPTER
..version is 10CD

THE question is:
Q3: Which Function Set should i choose (from the above)?

Q4: How will master know which slave is sending data?

trully thanks for help, i've had this experiment freezed for about 1 year because of these lack of information.
By stevech
#77991
RodSTAR wrote:thanks, does it work for this, if not how can it be done?:
-Master will send instructions as many times per second as it can to the 4 slaves and then, each one returns immediatly feedback.
I want to use it at 115kbps, the distance is about 100 meters (300+ feet), in visual line (no obstacles).

So... first, master (DL0) will send to first slave (DL1), then to second slave (DL2), and so on... so,
Q1: does it mean that the microcontroller should change XBee's DL each time it changes slave?, can that be done?,

Q2: if it can be done, it should be done with AT commands or with API.... sorry, i'm completely new at this.

Ahother question: my available Function Sets are:
-XBEE PRO 802.15.4
-XBEE PRO 802.15.4 NON-BEACON
-XBEE PRO 802.15.4 DIGITAL IO ADAPTER
-XBEE PRO 802.15.4 RS232 POWER HARVESTER
-XBEE PRO 802.15.4 ANALOG IO ADAPTER
..version is 10CD

THE question is:
Q3: Which Function Set should i choose (from the above)?

Q4: How will master know which slave is sending data?

trully thanks for help, i've had this experiment freezed for about 1 year because of these lack of information.
Answers
Q1: Yes. As in any wired or wireless network, the source must address packets to a single destination address, or do a broadcast to all. For the latter, the packet contents might have group addressing or some protocol you devise. Broadcasts have no error correction.

Q2: I'd suggest you use firmware version 10CD and the 802.15.4 protocol stack with series 1. If you have series 2, you are, I think, stuck with ZigBee which is great if you must do meshing.

Q3: Simplest is for you to use the wireless serial (RS232) point to point firmware. You can set DH/DL to change routing.

Q4: To know which node was the source, you may have thnt node encode its ID in the contents of the data packet sent. Or, you can use the more complex Digi Binary API which tags each incoming packet with the sender's MAC address.
By RodSTAR
#77998
stevech wrote:
RodSTAR wrote:thanks, does it work for this, if not how can it be done?:
-Master will send instructions as many times per second as it can to the 4 slaves and then, each one returns immediatly feedback.
I want to use it at 115kbps, the distance is about 100 meters (300+ feet), in visual line (no obstacles).

So... first, master (DL0) will send to first slave (DL1), then to second slave (DL2), and so on... so,
Q1: does it mean that the microcontroller should change XBee's DL each time it changes slave?, can that be done?,

Q2: if it can be done, it should be done with AT commands or with API.... sorry, i'm completely new at this.

Ahother question: my available Function Sets are:
-XBEE PRO 802.15.4
-XBEE PRO 802.15.4 NON-BEACON
-XBEE PRO 802.15.4 DIGITAL IO ADAPTER
-XBEE PRO 802.15.4 RS232 POWER HARVESTER
-XBEE PRO 802.15.4 ANALOG IO ADAPTER
..version is 10CD

THE question is:
Q3: Which Function Set should i choose (from the above)?

Q4: How will master know which slave is sending data?

trully thanks for help, i've had this experiment freezed for about 1 year because of these lack of information.
Answers
Q1: Yes. As in any wired or wireless network, the source must address packets to a single destination address, or do a broadcast to all. For the latter, the packet contents might have group addressing or some protocol you devise. Broadcasts have no error correction.

Q2: I'd suggest you use firmware version 10CD and the 802.15.4 protocol stack with series 1. If you have series 2, you are, I think, stuck with ZigBee which is great if you must do meshing.

Q3: Simplest is for you to use the wireless serial (RS232) point to point firmware. You can set DH/DL to change routing.

Q4: To know which node was the source, you may have thnt node encode its ID in the contents of the data packet sent. Or, you can use the more complex Digi Binary API which tags each incoming packet with the sender's MAC address.
Steve,
So in each packet include sender's ID, hehe so simple.
I think I'm done with it, I'll get into the code and test how it works in real hardware, man, thx !! :wink:
By stevech
#78058
Right. Well done application protocols are wired/wireless media-independent.

The transport layer (ethernet, WiFi, 802.15, blah blah) are just that: transport. Analogy: don't care whether UPS or FEDEX transports, but the content is totally self-evident to sender and receiver. And if the transport loses it, the sender/receiver have an agreement on how to cope (overdue- send another copy marked COPY 2).