In the documentation of MQTT, it is indicated “Determined by the network” for the maximum response time (e.g. AT+QMTOPEN). What value do I need to use for the timeout?
And for URC (e.g AT+QMTCLOSE), what is the maximum response time?
“Determined by the network” for the maximum response time (e.g. AT+QMTOPEN),This statement indicates that the modem initiates an MQTT client service request to the network and waits for a status response from the network to return the connection request.so, the response time is determined by the network, and the modem will wait for the result.Therefore, if you need to confirm the network status of the MQTT client connection, you can do so by returning the result of “AT+ QMTOpen” as shown in the screenshot below:
The “AT+QMTCLOSE” response time is as follows:
@herbert.pan-Q Thanks for your reply.
I understand for “Determined by the network” but it is possible to have an idea of time or how we can sure that it is not blocked in this condition? Do you have a typical timeout that you recommend?
For the command “AT+QMTCLOSE”, I have tested with a timeout of 300ms, but unfortunately, it is not working. Is it only for the “OK” reply or “OK and +QMTCLOSE: …”. In my case, the necessary time between the sending command “AT+QMTCLOSE=…” and the “OK and +QMTCLOSE: …” is 2.7sec.
You mean you need a reference time, right?Eh, why don’t you just take advantage of the result that the command returns?Is it because you have special needs?
We generally use the results returned by the AT Command, and there is no specific statistics and average time for reference time.
As for your 2.7s, I think it may be caused by the late printing of the log by your device. According to the reference manual, if the module does not respond after 300ms of “AT+QMTCLOSE”, then the module will output ERROR. The maximum response time is built into the module.