Proper way to get one MQTT message at a time by AT+QMTRECV

Hi ,

I am using EC25 / EG25 module.
Referring “LTE_Standard_MQTT_Application_Note_V1.2”

I have configured AT+QMTCFG=“recv/mode”,0,1,1 to save messages in internal buffer

Need to understand the correct way to receive only one message ( due to limited RAM buffer available in microcontroller ) at a time when sending AT+QMTRECV=<client_idx>[,<recv_id>] command .

As per the response sample , it consist of multiple response data ( its a list )
[(List of +QMTRECV: <client_idx>,,“”[,<payload_len>],“”)]

  1. how to ensure that only one message is return by AT command even though there are more than one messages present in the buffer ?

  2. Proper way of reading all the messages stored in module buffer one after another ( but not at once ) ?

  3. Is recv_id no ( 0 to 4 ) is corresponds to the store_status ( 0 to 4 ) i.e. recv_id 0 corresponds to store_status_0 , recv_id 1 corresponds to store_status_1 and so on ?



Hi @gaurav.patni
You can use the AT+QMTRECV=<client_idx>[,<recv_id>] command to read messages of different recv_ids, which can be read sequentially. In addition, the third question, as you said, is corresponding.