Xbee SoftLoader - Use With Lantronix XPort Pro ?
Greg P
Posts: 58
I'm using a Lantronix XPort Pro to acquire time-binned meter readings from a dozen locations via our local Ethernet network. A PC-based program will utilize "virtual com" ports provided by Lantronix's Redirector software to communicate with the various XPorts (eventually I will use Real Studio software to bypass the "virtual com" ports and instead communicate directly using TCP and serial tunneling).
Unfortunately, the default serial tunneling application for the Xport Pro lacks support for serial lines other than RX and TX. I would like to be able to upload new firmwire to a Propeller attached to an XPort's RX & TX lines only.
Phil Pilgrim has created an excellent solution to this problem for the Xbee wireless transceiver product. I was hoping to utilize his existing LoadPropXB.exe to directly upload firmware via one of the provided "virtual com" ports. Unfortunately, it appears that an actual Xbee pair may be required (not just my virtual com port substitute). I'm basing this on the fact that his software requests a "Unit ID" for the Xbee and defaults to a display of "No remote XBees found." I can not just select a COMx port from the software's dropdown box and simply leave the unit ID entry set to "NONE" and proceed without actual Xbees attached.
Phil : Is it possible to use the XBEE Loader software to communicate with a Propeller via any serial port (with no Xbees in between) ? If Xbees are required for the existing software to work, how difficult would it be to modify your existing code so that any serially-based communication with a Propeller would be permitted ? An application that would allow an operator to select amongst a range of COM port numbers and then attempt to update firmware to each device on the network sequentially would be a wonderful time-saving maintenance tool !
Unfortunately, the default serial tunneling application for the Xport Pro lacks support for serial lines other than RX and TX. I would like to be able to upload new firmwire to a Propeller attached to an XPort's RX & TX lines only.
Phil Pilgrim has created an excellent solution to this problem for the Xbee wireless transceiver product. I was hoping to utilize his existing LoadPropXB.exe to directly upload firmware via one of the provided "virtual com" ports. Unfortunately, it appears that an actual Xbee pair may be required (not just my virtual com port substitute). I'm basing this on the fact that his software requests a "Unit ID" for the Xbee and defaults to a display of "No remote XBees found." I can not just select a COMx port from the software's dropdown box and simply leave the unit ID entry set to "NONE" and proceed without actual Xbees attached.
Phil : Is it possible to use the XBEE Loader software to communicate with a Propeller via any serial port (with no Xbees in between) ? If Xbees are required for the existing software to work, how difficult would it be to modify your existing code so that any serially-based communication with a Propeller would be permitted ? An application that would allow an operator to select amongst a range of COM port numbers and then attempt to update firmware to each device on the network sequentially would be a wonderful time-saving maintenance tool !
Comments
I still much desire to utilize Phil's XBEE Loader software to update Propeller firmware remotely over the Xbee network. I'm concerned, however, that it might not be compatible. For example, the Digimesh firmware utilizes a 64-bit addressing scheme with its DH/DL(destination) and SH/SL(source) address registers. The Xbee_Object_2 from the OBEX discusses use of the older "MY" AT command to set node address. I'm afraid that internally Phil's XBEE Loader may not work if the "MY" command is utilized. I'm hopeful however, as I read this sentence from the application note: " Available remote XBee modules are enumerated by the lower 32-bit address of the XBee’s full 64-bit address." Also ZB firmware, Series 2 devices are apparently supported.
My question: Has anyone had success using the Xbee Loader using a Series 1 Xbee with Digmesh firmware installed ?
Thanks.
My next step is to write code which will allow a Propeller to receive "i/o pin change" data packets from a dozen or more Xbee's located at various meter locations throughout our department, for remotely keeping track of helium gas usage.
I'm still interested in enabling remote Propeller firmware uploads using Phil's Xbee loader software. Unfortunately, while the X-CTU software is able to detect and communicate with the remote Xbee, the Xbee loader software does not detect any remote Xbees. Does anyone have experience getting the Xbee loader software to work ? The Digimesh firmware utilizes DH/DL and SH/SL to establish destination and source locations on the network, while earlier versions permitted use of the "MY" command to assign operator designated addresses. I think Phil's Xbee loader works with DH/DL type communication, but have so far been unsuccessful. If any one has any helpful suggestions I would greatly appreciate hearing back. Thanks.
I'm sorry I missed your first post when you made it. To answer your question, no, the XBee loader requires a remote XBee to be present before it can proceed to the actual download.
-Phil
The more I learned about Xbees vs my original Lantronix Xport solution the more I liked. I've since abandoned the Xports in favor of a dozen Xbees (at each meter location) transmitting API "i/o pin change" packets to a Xbee attached to a Propeller that is programmed to extract the 64-bit address of the packet sender (answering: which meter ?).
I'm using Digimesh firmware with 900 MHz Pro Xbees (for concrete wall penetration indoors). X-CTU software was able to successfully detect a remote Xbee and pass data back and forth as part of its 'Range Test' operations. I then attempted to operate your Xbee Loader program, but it was unable to similarly scan and detect the same remote Xbee. The Xbee/USB-board hardware setup was unchanged compared to the original X-CTU program test.
Will your Xbee Loader program work with 'DigiMesh' firmware ?
For your program to list the Serial Low address of a detected remote Xbee, must it also successfully serially communicate with the Propeller wired to the remote Xbee ? I ask this because the remote Xbee was simply mounted to a Digi development board with its TX & RX lines wired together for a loopback test.
Are there specific Xbee configuration settings which must be adhered to in order to successfully use the Xbee Loader program ?
If it's not possible to use your Xbee Loader program with Digimesh Xbees, how difficult would it be for me to write my own code to implement a simplified loader ? Do you have a flow chart available which describes the steps required on the PC side to upload new Propeller firmware and reboot ?