MQTT is a message protocol based on the publish/subscribe programming mode of binary messages; due to its simple specification, it is very suitable for IoT scenarios that require low power consumption and limited network bandwidth, such as smart homes, smart cities, and medical care; it is widely used by children’s shoes. Favored and loved. Let’s take SIM820X as an example to implement MQTT communication:

Hardware

  • SIM8200EA-M2_5G_HAT
  • Raspberry Pi 4 Model

Sofeware

  • minicom
  • EMQ IoT Platform

Communication steps

1.Hareware connection
  • Connect the NB card and antenna toSIM8200EA-M2_5G_HAT
  • ConnectRaspberry Pi 4 Model ​andSIM8200EA-M2_5G_HATvia USB cable
2.EMQ物联网平台功能配置
  • Open EMQ IoT Platform in the browser

  • Configure relevant parameters and testWS MQTT on EMQ PlatformSIM820X sends data to MQTT cloud platform via MQTT_运维

  • 关键指令

AT+CMQTTSTART  //Start MQTT service, activate PDP context
AT+CMQTTACCQ=0, "client test0" //Acquire one client which will connect to a MQTT server not SSL/TLS
AT+CMQTTWILLTOPIC=0,10 //Set the will topic for the CONNECT message
AT+CMQTTWILLMSG=0,6,1 //Set the will message for the CONNECT message
AT+CMQTTCONNECT=0,"tcp://test.mosquitto. org:1883",60,1 //Connect to a MQTT server
AT+CMQTTSUB=0,10,1 //Subscribe one topic from the server
AT+CMQTTTOPIC=0,10 //Set the topic for the PUBLISH message
AT+CMQTTPAYLOAD=0,9 //Set the payload for the PUBLISH message
AT+CMQTTPUB=0,1,60 //Publish a message
AT+CMQTTSUBTOPIC=0,9,1 //Set one topic for the SUBSCRIBE message
AT+CMQTTSUB=0 //Subscribe a message
AT+CMQTTUNSUB=0,9,0 Unsubscribe one topic from the server
AT+CMQTTDISC=0,120 //Disconnect from server
AT+CMQTTREL=0 //Release the client
AT+CMQTTSTOP //Stop MQTT Service

SIM820X sends data to MQTT cloud platform via MQTT_服务器_02