Hi. We have devices that need to send data over MQTT to AWS IoT Core at rates of every 1min to every 1hr
In order to save as much data as possible, we want to keep sessions alive as much as possible to minimise the amount of TCP handshaking that goes on. We also need to save as much power as possible and are turning the modem off as much as possible.
Our current hardware revision does not include a line between one of our host MCU digital pins and the BG96 DTR pin as needed to wake it from sleep.
Is it possible to somehow save the details of a mqtt session (we are using the native mqtt at commands instead of the tcp commands with a mqtt client on the host) so that a reconnection is not always required between reboots?
if not, say we do set up the device to be able to wake from sleep, have made a connection to IoT Core with keep alive set to the max of 1hr on the client side, have then put the device to sleep and woken it back up.
Are there any extra AT commands necessary beyond what we what usually use to send or receive additional mqtt messages (eg QMTPUB) to resume a session? From reading into the mqtt spec and the bg96 docs it seems like we can count on the bg96 to send PINGREQ msgs within the keep alive duration to prolong the session as much as possible (AWS docs indicate 1-2 weeks is possible).