While I obviously can't guarantee anything (and I haven't done exhaustive testing with multiple SIMs in multiple locations, etc.), the process was quite smooth for me. I didn't have to do anything special other than the documented steps of setting APN information and the keepalive time. See, e.g.
The keepalive time apparently varies from carrier to carrier and may need to be as low as 30 seconds for some of them. I'm using 200 seconds with Freedompop. 300 seemed to be problematicm so I backed it down to 200.
And don't forget to cancel the trials of all the non-free services, or you'll end up paying for them.
Yes, even with grid power I would still implement SEMI_AUTOMATIC. Below is a rough calc. I performed based off numbers @ScruffR provided and as you can see a full handshake is expensive.
Wow, sounds like I am already at ~1.7MB for full handshake.
24h * 60min = 1,440min/day
1440/5 = 288 check in’s/day
288 * 6KB = 1,728KB/day for full handshakes.
The one thing I would upgrade in my setup that I read about in another post was the potential to include a cloud update window. For example, let the system connect to the cloud once a day for 10mins. This would allow the system to provide optimal data efficiency;however, the system would still maintain a daily window for OTA code changes/updates. I have not implimented this because I have not researched if the Boron has the ability to know time like a RTC would provide (A simple 24hr delay could be a moving target).
Conditions:
5 Borons operating within a few hundred feet of each other
SEMI_AUTOMATIC with no connection to cloud
TPL5110 timer used to wake up every 5mins and send two float variables to Ubidots then power down.
The usage from Feb. 4th through Mar. 4th. was as follows: Boron 1 = 4.64 MB Boron 2 = 5.10 MB Boron 3 = 4.77 MB Boron 4 = 4.83 MB Boron 5 = 5.16 MB
I am very pleased with this usage, and this is manageable for me. I believe that the use of SIMI_AUTOMATIC and forgoing any cloud connects is what has resulted in this low usage.
Future improvement would be attempting to create a scheduled cloud connect window (say 10mins) that occurs once a day at a specific time to provide the opportunity for OTA updates, which would overcome the main negative for me resulting from never connecting to the cloud.
This is a great thread. This evening I just finished an Adafruit TPL5111 integration with a Boron LTE Device OS 0.9.0, SLEEP_MODE_DEEP. One lesson learned, skip the trim pot on the board and go with resistors. I’m using D8 to wake up every 10 minutes. Our use case includes a Particle Webhook call. The device is powered by an Adafruit 6600mAh Li-ion battery pack. The goal is 1 year without a recharge. I’ll post power and data usage after a few days of testing.
Thanks so much! Since that post I’ve been looking for ways to lower power consumption even more on the DeviceOS sleep() Approach. I am now lowering the DS18B20 pin when not in use and have added fuel.sleep() to the loop. Due to limitations in my power supply readout it is hard to say at this point how much this is helping (still shows 0.002mAh, a 4th digit could tell the story).