How to send 802.15.4 packets using XBee S2? - xbee

I did a quick search but I could not find the answers that I wanted.
I have been playing around with 2 XBee S2 modules and both are configured to be API mode 2. I have tried sending and receiving Zigbee packets using XCTU without any problems. However when I try to send 802.15.4 packets using XCTU, the other XBee does not seem to receive it. Is it suppose to be like this or am I suppose to configure something?
Thanks.

Related

Communication between Xbee Series 1 and different RF Module(TI-CC2538)

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?

XBee Wi-Fi - decoding UDP packets of sampled data

I just bought an XBee Wi-Fi S6B. (I was expecting it to be similar to the WiFly that can easily post sampled I/O data to a webpage.) I am going to hook two temperature sensors to the analog inputs. Note - there are no Arduinos in this project.
I have configured the XBee to send UDP packets to my computer on port 3054 (0xBEE) - I can see them using Netcat.
My question: Is there any existing software out there for Linux or the Raspberry Pi that can receive these packets and decode them? I'd rather not have to re-invent the wheel. I've searched extensively, but everything I found was for API mode with an arduino attached. I'm interested in just running the XBee with the two temperature sensors.
Many of the search results I've seen are for talking to another XBee connected to my computer via a serial port. I'd rather not buy an extra XBee, because my computer is already on the same network.
Here's a small program I just created to listen for XBEE UDP packets. It listens currently for one temperature sensor, but is easily configurable to add on other sensors.
https://github.com/bseeger/XBEE_Listener

Xbee : Some device don't receive Broadcast

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

XBee communication in API mode using X-CTU

I am trying to communicate between two XBee S2 modules both in API mode using the XCTU tool.
One device as router and another device as coordinator. I got successful communication of two XBee modules in AT mode and either of them as API or AT mode. But when I configure both of them in API mode they are not communicating.
How do you know they're not communicating? How are you forming your API frames to send into the device?
In API mode, the XBee module requires a checksummed series of bytes in a specific format to send data to another device. During your tests between the module in AT mode and the one in API mode, you were probably able to see a received frame on the API module when typing data into X-CTU on the AT module.
What language are you going to write your program in? I would recommend using a code library to manage encoding and decoding the API frames.
Digi has a webpage listing XBee host libraries in various languages.
After giving a lot of try i found two tricks in configuring X Bee modules
If your X Bee module is not getting read, just write with the suitable firmware
choosing manually
If it is not responding to read or even write also, connect reset pin to
ground using single wire for few second.

UDP Multicast: received by computer but not by application

I'm trying to set up an application on Linux to receive MIDI data over UDP multicast via WiFi.
Wireshark shows that the packets sent from the MIDI controller are received by my machine (paste from wireshark).
The source code from the utility I'm using to listen for network traffic and produce ALSA midi events (called multimidicast) sets up listening sockets like this. Basically it sets up 20 sockets, binds them to ports 21928-21948, calls setsockopt() with IP_ADD_MEMBERSHIP to the group for "225.0.0.37", and then starts listening. This is, as far as I can see, in line with all tutorials and advice on how to listen for UDP multicast traffic.
However, the utility does not receive data.
If, from my PC, I send packets to the relevant ports on "225.0.0.37" (s.sendto("hello", ("225.0.0.37", 21928)) in Python), the tool still doesn't receive the data. If I send to the ports on localhost (s.sendto("hello", ("", 21928))), it does receive the data.
I've been reading and experimenting quite a lot, but I can't work out what it is I'm missing. I'm not even sure whether it's an error in the code I'm using or in my box's configuration.
Could anybody shine any light on this?

Resources