After a sabbatical of several months, I’m now back working on the LTE-M XBee and I HAVE IT WORKING!
For software, I’m using:
– Parts of Diagnostics.ino
– My own .ino
My hardware is:
– My XBee (Digi XBee3 Cellular Smart Modem XB3-C-A2-UT-001)
– Mayfly 0.5b
– Soldered SJ13
– 3.7v Lipo battery
– USB to Windows PC – no XCTU
– Hologram SIM
My network is AT&T, very weak signal in south Florida.
Here are some items that helped me get over the hump:
1. My XBee won’t communicate at any speeds higher than 9600 baud!
2. I have to connect my battery AFTER I attach the USB to my PC. Otherwise the XBee won’t communicate at all.
3. It takes anywhere from 6 to 20 minutes to connect to the network where I am. None of the software routines in the library that I’ve found will wait that long before starting over – creating an endless loop. The Hologram Dashboard showed that there was “some activity” every few hours, so I knew the XBee was trying. So I wrote my own code to give it more time and BINGO. I will see the dreaded “22” response to AT-AI (registering to network) for several minutes, then “25” (registration denied) for a while, then eventually “00” (connected).
4. The next problem I found is either a timing bug in TinyGsmClientXBee.h or in some configuration that I don’t understand. In “modemConnect”, the code tries to determine the IP@ from a URL using the “LA” (Lookup Address). Unfortunately, the “OK” from the AT command precedes the IP@ in the serial response. The code ignores the IP@ and replies with IP@= 0.0.0.0. I modified the stream.readStringUntil statement to keep looking for the address which solved the problem.
5. Now that I have most things working I’m going to try to get the XBee to sleep, so far unsuccessfully. I can see that most of the time the XBee is using about 2ma when just connected to the network. But every minute it briefly does some activity that burns a lot more power. Any help on this would be greatly appreciated.
I’d be happy to talk with anybody more about my experience.