The Message Queuing Telemetry Transport (MQTT) protocol defines a simple and lightweight messaging protocol designed for limited devices and networks with low bandwidth, high latency, or unreliable networks. The MQTT client uses publish and subscribe methods to communicate over a TCP connection with the MQTT message broker (hereinafter referred to as the MQTT server).
MQTT AT commands are implemented according to MQTT version 3.1.1.
# Set MQTT unique client ID. In the example IMEI from device > AT+UMQTT=0,"350857128129037" < +UMQTT: 0,1 < OK # Set MQTT local TCP port number > AT+UMQTT=1,1883 < +UMQTT: 1,1 < OK # Set remote MQTT server's name > AT+UMQTT=2,"broker.emqx.io" < +UMQTT: 2,1 < OK # Set remote MQTT server's IP address > AT+UMQTT=3,"44.195.202.69",1883 < +UMQTT: 3,1 < OK # Connect to the broker > AT+UMQTTC=1 < +UMQTTC: 1,1 < OK < +UUMQTTC: 1,0 # Subscribe to MQTT topic filter > AT+UMQTTC=4,0,"/exelonix/test" < +UMQTTC: 4,1 < OK < +UUMQTTC: 4,1,0,"/exelonix/test" # Publish MQTT message to topic name > AT+UMQTTC=2,0,0,"/exelonix/test","MQTT message" < +UMQTTC: 2,1 < OK # Wait of asynchronous notification (URC) of the reception of an MQTT message < +UUMQTTCM: 6,1 # Read MQTT messages received > AT+UMQTTC=6 < +UMQTTC: 6,1 < OK < +UUMQTTCM: 6,1 < Topic:/exelonix/test < Msg:MQTT message # Disconnect from the broker > AT+UMQTTC=0 < +UMQTTC: 0,1 < OK