I have some XBee3 pro, I made a network, a coordinator and 7 routers or end devices, the coordinator sends a broadcast (DL = 0xFFFF) to all the routers so that they receive the information, in the same way of some routers that need to send information, too I do a broadcast. My doubt arises in which channels the communication works, since where I will place these devices they have a system that works on channels 25 and 26 and I would not want to interfere with those channels.
What channels are used for communication between xbee's?
Is it only one channel that is used or are there several?
Is this channel fixed or are they dynamic?
Is there a fixed channel by default in which the xbee works?
In case those channels (25 & 26) are being used, how could I block those channels in the XCTU so that they are not used?
ATSC configures the channel mask, and ATCH reports the channel currently in use.
This Zigbee Channels document from Digi does a good job of explaining how to configure SC. A value of 0x3FFF would mask off channels 25 and 26 and enable all other channels.
Related
I would like to set up 3 XBee devices in API mode, one coordinator, two nodes. The coordinator will send payloads to either one of the nodes and address the XBee frames accordingly. The nodes will send messages only to the coordinator (never to each other).
Is it possible for the serial output of the node modules to trim off all API header/frame/checksum info before passing down data to the serial port (the device they are connected does not understand XBee API frame data). Likewise is it possible for the node modules to automatically add the relevant header/frame/checksum data when sending to the coordinator, again the device connected to the XBee serial port doesn't understand XBee frames so doesn't know how to add the frame data, only the payload.
I have complete control over the software at the coordinator end, so can manage the XBee frame data in my code there.
Yes, it's possible to run the non-coordinator devices in "AT mode" or "Transparent Serial" mode. It's also referred to as "Serial Cable Replacement Mode" because you can replace a serial cable with paired modules.
Configure DH and DL on the non-coordinators as 0 to automatically send serial data to the coordinator.
You can use Transmit API frames on the coordinator to address target nodes, and they will just send the payload out on the serial port.
You can even configure the modules with different baud rates.
I want to test communication between Xbee Series 1 and TI CC2538.
I built 802.15.4 protocol on CC2538 and i want to test whether it
can transmit and receive data with Xbee Series 1 through XCTU.
I tried to scan in XCTU program, but it couldn't find any device.
I set scenario that CC2538 RF chip is coordinator and Xbee S1 is a device trying to associate PAN network.
According to 802.15.4, device has to passive scan and receive beacon frame, after then, device should transmit association request mac command to coordinator which is CC2538.
How Xbee series 1 through XCTU's scan button is working ?
Does it wait for receiving Beacon frame or send beacon request or other frame ?
Is there other way to test communication between Xbee s1 and CC2538 with 802.15.4 which i built ?
I assume you are not trying to run ZigBee protocol on the CC2538. The XBee Series 1 is 802.15.4 and you would need to use a Series 2 for ZigBee.
You might need to use an 802.15.4 sniffer to monitor communications to see what's happening. Does the XBee module send a properly formatted association request? Can you capture another CC2538 successfully joining your network, and compare it to the XBee module's attempts to do so?
Make sure that the XBee module is configured with ATSC (Scan Channels) set to enable whatever channel the CC2538 has established.
I know that some XBee modules support an ATAS (Active Scan) command that will report on beacons seen, but I'm not sure whether the Series 1 supports that command. ATAI provides details on association.
Can you enable debugging on the CC2538 and have it report on the XBee module's attempts to join the network?
i have one query actually i have 3 xbees series2.
i want xbee 1 (sensor+xbee(end device)) and xbee 2 as coordinator,where XBee2 will be attched to MCU.
now i have xbee 3 which again ((sensor+xbee(end device)).
now i want to make xbee3 also to communicate with coordinator(Xbee2).
now i have kept the same pan ID of Xbee1 and xbee3 as like Xbee2.
and again i have set xbee1 and xbee3 destination address for the Xbee 2 .
now my question are
how do i program the MCU using eclipse environment for receiving both Xbee1 and Xbee3 data?
and i want to communicate all Xbees with UART communication means i want to read data using pin 2 and 3 of Xbee..is it possible??
can anyone provide me the code for developing this procedure???
thanks
This is a common scenario. Run the coordinator in API mode and the end devices (you may want to start with those nodes as routers, and figure out the "sleeping end device" details once everything else is working) in AT mode.
The "AT mode" devices with DH and DL set to 0 will just pass serial data to the coordinator, and the MCU can parse the API frames to determine which device sent the data. The MCU can also address requests to the other devices -- either Remote AT Commands or data to send out the serial port.
Write code for the MCU however you normally would. There's a portable ANSI C library available if that's your language of choice. It can parse the API frames for you and simplify communications on the network.
i have a portable device that consist of
arduino leonardo board,xbee series 2 as router( AT mode ) and different sensors.This portable device acts as a remote device and can be used upon power up.
The other side, i have a host controller that consist of arduino uno board, arduinoxbee shield v1.1, and xbee series 2 as coordinator( AT mode ). This host controller is plug through USB into my PC.
The aim of my project is to send the sensor data from the portable device using xbee wirelessly over to my host controller and displaying out on the arduino serial monitor.
I've managed to configured the two xbees. But now, i'm unsure of how im going to transmit and receive the data. I need a transmitter and receiver program for both xbees that is connected to the arduino. Anyone can help please?
There are a couple different options for how you can do this, but the simplest is to set up your sensor XBee either in change detect (IC) mode, or set a sample rate (IR). In either case you'll need to handle the RX Indicator frame at the controller, which will contain the sampled data.
I wrote a C# stack that can configure all this, but for what you're trying to do it would probably only be useful as a reference (https://github.com/jefffhaynes/XBee).
I use Xbee series 1 and Arduino Uno to control them. I put a code that analyse Rx and than send to another to get the "coordinator". All data are send in API mode to get all information.
I have a network of Xbee in my office (one per room) and I use another Xbee that broadcast some data. but sometimes, the Xbee in the same room can't send data instead of some that are in other room. The problem is that I need the information of all device in my field of area.
Is it possible that the fact the Arduino must send some data from other Xbee to the coordinator may cause him not to send the data he receive ?
Thank's , Thana
In fact, the buffer of an Xbee is limited but in my case, the Xbee receive 3 api message and than transfert a new message to the end one which is connected to a computer.
The problem is that i needed to slow down the speed of transmission due to the overflow of buffer.
My solution was sending the message after X sec where X depends on the RSSI so the channel was free and I see that every Xbee can now send what they see.
If someone is on the same case, he can reply on this to have my help