I’m probably missing something obvious…
I have a wireless ethernet modem with a XBee Pro 53B that I am trying to communicate with a ProXR Lite single relay board that also has a XBee Pro53B communications module. Both XBee’s were configured (via the ZIGMO2 USB adapter to 9600 and with security encryption disabled.
When the XBee used in ethernet modem is connected to Digi’s XCTU software using the ZIGMO2, I can see it, and when I use XCTU to search for other radios on the network, it finds the XBee in the ProXR.
However, when i put the XBee back in the ethernet modem and launch Alpha Station, Alpha station seems to think it is communicating with sensors, not the ProXR.
When Alpha Station (Version 220.127.116.11) launches, the Identifier shows “None”. I don’t think this is correct for working with ProXR’s. If I click on Sensor View&Setup, I get the configuration window, but off course I can’t do anything.
What am I missing???
I’m probably missing something obvious…
I now understand that you don’t use Alpha Station with ProXR relays!
I downloaded and installed the latest BaseStation software but have found the following issues with the Zigbee Setup process (all done using the ZigMo USB adapter)
a. Clicking “Refresh” on the “Select Zigbee” screen does nothing at first. After clicking “Refresh” maybe 4 or 5 times (it varies) the ProXR radio shows up. When I select it, the setup module correctly states that it has been selected. (It is also correctly selected if I input the MAC address manually.)
b. When I click OK on the main “Select Connection” screen, I get a message box that it is not responding to the selected baud rate (115200) and will try others. However, no baud rate is successful. When I look at the XBee Pro 53B, while the base station is attempting to find a good baud rate, the receive light flashes, but he transmit light is inactive. (Both are active when the setup process is searching for devices.)
c. When I plug the XBee directly into the Ethernet Modem and use the BaseStation to attempt to connect to the modem’s IP address on port 2101, the base station software cannot find ANY device.
So, I must still be missing something.
Can you please provide the online order number where you purchased your modem and the relay controller?
The order # is 489035.
It looks like you purchased an Enterprise series Modem along with a ProXR Relay controller which is an industrial series device. This is why they are not communicating.
We flash different XBee profiles into Enterprise and Industrial series XBee modules.
Luckly you also purchased the Zigmo board which will allow you to change configuration settings in the XBee modules.
- Remove the XBee module from the relay board and install it in the Zigmo.
- Connect the Zigmo to your computer via USB.
- Download, install, and open the X-CTU software here: XCTU - Download and Install the Configuration Platform for XBee/RF Solutions | Digi International
- Click the Module Plus Icon in the X-CTU software.
- Select the COM port created by the Zigmo board on your computer(should be listed as USB to Serial device.). Also set Baud rate to 115200, then click finish.
- Click the Module settings icon(looks like a gear).
- Find the setting Encryption Enable(EE). Set that to Enabled.
- Find the setting AES Encryption Key(KY). Set that to 55AA55AA55AA55AA55AA55AA55AA55AA
- Click the Write button at the top to store these settings to the module.
- Install the module back in the relay board and try again.
Tried this and it still doesn’t work with Base Station.
Both the ethernet modem XBee and the relay XBee are now set to encryption enabled and the encryption key that you specified. Both are found using XCTU. Both have the baud rate set to 115200, No Parity, 1 stop bit, 8 data bits. I’ve attached a screen shot of the XBee parameters.
When I attempt to attach using Base Station, I use COM3 (with the ethernet modem XBee in the Zigmo board). I run through the ZigBee Setup page, refresh the network and the relay modem is found and selected. (Another screen shot). However, when I exit the setup and click on the “Ok” button of the Base Station connection screen, I get the message that “The controller did not respond to the baud rate you selected. Searching other baud rates.” This repeats trying all baud rates then exists with “Device not found”.
Disable API Enable(AP) on the module installed in the relay board if it is currently enabled.
The AP API Enable’s setting was set to API Mode without Escapes. I set it to Transparent Mode and wrote it back to the relay. (on the relay XBee board only).
Now it takes the Base Station 11 “refresh” attempts until it finds the relay board, but it ultimately reports that it has been selected. However, after closing out of the ZigBee setup module and clicking Ok on the Base Station “Select Connection Screen” it still reports the controller did not respond to the selected baud rate.
1/2 way there!
When I put both the modem and relay XBee modules in Transparent mode with the modem XBee on the Zigmo board and exit XCTU and start up the Base Station using the COM3 port, The base station connects to the relay and I can turn the relay on and off.
However, when I plug the modem XBee module back into the Ethernet modem and tell Base Station to connect using the modem’s IP address on port 2101, nothing happens.
If I go into the ZigBee Setup, it cannot find the device on multiple refreshes and if I manually enter the MAC address of the relay XBee it reports as not being able to find it.
Also, when the modem XBee is in the Zigmo in transparent API mode, XCTU cannot configure the remote relay XBee. No big deal because I can temporarily put the modem XBee into a non-transparent mode and then configure the remote, then put the modem module back into transparent mode. But, BaseStation can only communicate with the relay when the modem XBee is in the Zigmo and I use the serial port connection.
While it’s encouraging to hear the relay click on and off, I need it to work over ethernet!
YaHoo! got it to work (mostly!)
There was another step that I was unaware of. You have to go into the web setup for the ethernet modem and bind the local port. By default this is unchecked. Once I checked it the base station software worked perfectly! See below:
Next problem is more troublesome. All my existing irrigation controls use ProXR relay boards populated with Lantronix ethernet modules. These have worked for years, with rapid response.
However, when I set up the Visual Studio samples to test the Mesh relay, I notice a significant delay at start up.
At the beginning of the sample I set the IP address, the port, and useComPort to false and do an ncd1.openport(). That is fast, as expected. But then I execute the following three calls to talk to the specific relay board:
ncd1.Mesh.SetPanID("7FFF") ncd1.Mesh.TalkToDevice("0013A200", "41DaD535") ncd1.ProXR.RelayBanks.SelectBank(1)
This takes about 4 to 5 seconds to execute. After executing, I can turn the relay on and off and it responds immediately.
The 4-5 second delay in switching to specific relays will be a problem. Again, my orchard application will ultimately have 25-30 individual relays connected in the mesh environment. A single irrigation set may involve 4-5 separate relays. This delay could cause serious problems for the pumps feeding the irrigation when changing sets. I first have to close all valves in the previous set then open the valves in the next set. The delay in addressing different relays could cause an over-pressure situation when switching sets and a sufficient number of valves are not open.
Could this be another configuration issue? If so, what parameters should I be looking at?
FINALLY, when I query the status of the relay with the command:
label1.Text = ncd1.ProXR.RelayBanks.GetStatus(0).ToString()
I get really bizarre results: a series of ASCII decimal values show up like 75,85,13, etc. If I press the Read Status button several more times, the correct status of ON or OFF shows up. I was really expecting just to get back a 0/1 value.
Has the NCD component library changed? My production system returns 0/1.
Thank you for all your help. I get the feeling that my use of Mesh and ProXR relays is not the norm and I really appreciate your attention to my issues.
So there are two ways to communicate with the XBee module installed in the Ethernet modem. API mode and AT mode. The way Base Station and your sample are working is to set the destination address of the module to the address of the module installed in the relay board using AT commands. This means the XBee is put into AT mode by sending ‘+++’ then a commands are sent to set the destination address, then after acknowledgement from the module it will act essentially as a wireless serial connection(any data sent to the port is wirelessly transmitted to the relay board. This is clunky and slow when compared to API interface protocol as all of these AT commands must be sent.
The way Base Station communicates with these boards is not ideal by any means. You would be much better off to transition over to DigiMesh API command structure. I am sure there are C# libraries for DigiMesh API mode. I would highly recommend re-enabling API mode on the Ethernet Modem module(not the relay board module) and using API mode. This will make communication with the boards nearly instantaneous.
Thanks Travis. I will pursue the DigiMesh API strategy. Unfortunately, that will require some major changes in my control application as the irrigation system will contain both DigiMesh accessed relays and the Lantronix ProXR relays and there will need to be two different pathways to access each. But, it is doable, just needs some thought.
Thanks for all your help.
No problem. Please let me know if you run into any questions.