一、指令解析
1.1 配置onenet
AT+LMQTTCFG=cloud,<tcpconnectID>[,<cloud_type>,<data_type>]
<cloud_type> 整型。1 OneNet 2 alibaba 0 other 3-255是为客户保留
<data_type> 整型。长度范围: 0~256 每个平台数据代表类型不同,OneNet平台:1 OneNet 数据类型 1 2 OneNet数据类型 2 3 OneNet数据类型 3 4 OneNet数据类型 4 5 OneNet数据类型 5 6 OneNet数据类型 6 8 客户定义数据类型
示例:AT+LMQTTCFG="cloud",0,1,3 // data_type暂时不影响
注意:<data_type> 整型参考onenet平台的《设备终端接入协议》5.2章节:消息发布
1.2 打开MQTT网络
AT+LMQTTOPEN=<tcpconnectID>,<host_name>,<port>
<tcpconnectID> 整型。 MQTT Socket 标识符。范围: 0~4
<host_name> IP 地址或域名
<port> 整型。服务器端口
示例:AT+LMQTTOPEN=0, "183.230.40.39",6002
1.3 连接服务器
AT+LMQTTCONN=<tcpconnectID>[,<clientID>[,<username>[,<password>]]]
注意:<clientID>对应平台的"设备ID",<username>对应平台的"产品ID",<password>对应平台的"鉴权信息",前2个位置不要弄错。
示例:AT+LMQTTCONN=0,"884062770","487565","NT35E21444"
返回:+LMQTTCONN:0,0,0表示连接成功
1.4 主题订阅&取消订阅
AT+LMQTTSUBUNSUB=<tcpconnectID>,<subflag>,<msgID>,<topic1>[,<qos1>[,<topic2>[,<qos2>]d…]]
<tcpconnectID> 整型。 MQTT Socket 标识符。范围0~4
<subflag> 整型。消息类型 0 订阅 1 取消订阅
<msgID> 整型。数据包消息标识符。范围0~65535,用户自行定义
<topic> 带双引号的字符串型。客户端订阅或者退订的主题。长度范围 0~256 字节
<qos> 整型。QoS 等级,取消订阅(UNSUBSCRIBE)时该值忽略。0 最多一次 1 至少一次 2 正好一次
示例:AT+LMQTTSUBUNSUB=0,0,1,"testA",2
返回:+LMQTTSUBUNSUB:0,1,0,1表示订阅成功
1.5 发布消息
AT+LMQTTPUB=<tcpconnectID>,<msgID>,<qos>,<retain>,<topic>,<msglen>,<msg>
<tcpconnectID> 整型。 MQTT Socket 标识符。范围 0~4
<msgID> 整型。数据包消息标识符。范围0~65535。当<qos>=0 时该参数值只能为0
<qos> 整型。0 最多一次 1 至少一次 2 正好一次
<retain> 整型。消息发送到当前订阅者后,服务器是否保存该消息。0 不保存 1 保存
<topic> 带双引号的字符串型。客户端发布消息的主题。长度范围0~256 字节
<msglen> 整型。指定的消息数据长度。范围0~1024,注意这个长度≥实际长度即可。
<msg> 字符串型。需要发布的消息数据
示例:AT+LMQTTPUB=0,0,0,0,"$dp",64,"{"ec_smart_sensor_data":99}"
返回:+LMQTTPUB:0,0,0表示发送成功