I send the following commands:
ATMY –> get IP address
GET /myaddress HTTP/1.1
–> this GET works several times and then for no apparent reason it stops working.
Then I do a:
ATMY –> 0.0.0.0
ATMY… until it gets a real IP again, GET then seems to work…most of the time. Some percentage of time however even after getting an IP the GET still does not work. Continuously going through this cycle the GET eventually starts working.
Is there a command or a setup that I am missing?
Are you trying to do a GET on the IP address of the XBee module?
Yes the IP address & port are on my server and has been programmed ahead of time with xctu tool. I do not reprogram it.
When operating in transparent mode, do you have a more detailed description of how this modem handles transparent mode? The other AT command sets for the 2G modems I used in the past had slightly different HTTP command string formats.
I will add a debug to read the CI.
I have also now made the time out and the cloud indicators 0. I believe the ‘cloud’ setting somehow sets up a socket with Digi.com’s cloud? Could this have an impact? Or do I misunderstand this?
No, that would not have a barring on the case. Yes it does create a socket to the cloud.
At the moment, you need to have an outgoing socket created from the radio to your server for the server to respond.
Welcome to the world of cellular! Tower connections often fail & need to be re-established. You need to check the AI/Association Indication value and confirm you are connected, plus the XBee does include a timeout, so after being idle the socket to DL/DE will have been closed. Leaving a cellular socket open 24/7 costs about 1.5MB of data a month.
What you probably need to do is have a loop, which checks MY, and if “0.0.0.” issue some commands to re-start the connection. In my case, I leave the module normally in Airplane mode, then I suffer the delay to reconnect and get AI=0 again, which if 99.99% proof I have a valid active socket open to DL/DE and can do my web-service calls.