XBee Wi-Fi - decoding UDP packets of sampled data - xbee

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

Related

Serial Port Communication problem while using UART

I'm trying to send and receive data between a board (Dialog DA14531) and a simulation application of a temperature sensor.
I can easily send and receive data between the board and my computer, using Termite for instance.
By using Com0Com, I can receive the data sent from the sensor simulator in Termite as well.
However; I can't directly send data between this simulator and my board. I'm using Advanced Serial Port Monitor application and while the simulator states that the connection has been established, there seem to be nothing going on with this port.
Does someone have any idea about what might have caused the problem and how should I proceed for debugging?
So, I've figured out a new way to fix the issue:
Created a pair of virtual ports by using Com0COM.
Connected the simulator to one of these ports and Termite to the other one.
Connected the board to the system.
Used port forwarding in Termite to send the received data to the board.
This way, I can also monitor the data traffic between the board and the simulator.

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?

programming for Xbee meshing

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.

Data transfer using xbee and arduino

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).

read xbee network traffic on xbee hooked to computer

I have a bunch of equipment that communicate with each other using xbee series 1 radios. I'd like to read that traffic from this network on my computer (which has an xbee hooked to it's USB port). Using XCTU, I can read the traffic for a particular xbee in the network by setting MY in my computer's xbee to the MY of the particular xbee. But what I'd really like to do is read traffic from all of the xbees. How would I configure my xbee to do that? Thanks!
You need to get an 802.15.4 packet sniffer to monitor the 802.15.4 network traffic. It isn't possible to sniff traffic with the XBee module itself.
If you're on a budget, various manufacturers have free software that works with their 802.15.4 dongles. For example, Texas Instruments has sniffer software that works with a $49 USB dongle.

Resources