1. 上电检查流程 AT //判断模组是否上电开机成功 AT+CFUN=1 //关闭飞行模式 AT+CEREG? //判断PS域附着状态,第二个参数为1或5表示附着正常 2. 与OneNet交互流程//创建链接 AT+ECMTOPEN=0,”183.230.40.39”,6002 //创建mqtt,在OneNet上注册设备 AT+ECMTCONN=0,"915512266","499605","ecpower1" //创建MQTT客户端 AT+ECMTCFG="cloud",0,1,3 //发送数据给OneNet, 内容是”{“ec_power_data”:88}” AT+ECMTPUB=0,0,0,0,”$dp” > 03001b7b2265635f736d6172745f73656e736f725f64617461223a38387d > 1A //接收到OneNet下发的数据 +ECMTRECV: 0,0,"$creq/b2c29202-78a1-5050-8aaa-719450192390",ec_power //删除mqtt client和mqtt连接 AT+ECMTDISC =0 3. MQTT 命令3.1. AT+ECMTCFG 创建客户端3.1.1. 命令描述该命令创建一个 MQTT 客户端。 3.1.2. 命令语法 | 指令响应 | 设置命令 配置保活时间 AT+ECMTCFG="keepalive",<tcpconnectID>[,<keep -alive time>] | OK 如果省略<keep-alive time>,请查 询keep-alive时间: +ECMTCFG: "keepalive",<keepalive time>
OK 如果发生错误,响应: ERROR | 设置命令 配置会话类型 AT+ECMTCFG="session",<tcpconnectID>[,<clean_ session>] | OK 如果省略<clean_session>,请查询 会话类型: +ECMTCFG: "session",<clean_session>
OK 如果发生错误,响应: ERROR | 设置命令 配置消息发送超时时间 AT+ECMTCFG="timeout",<tcpconnectID>[,<pkt_ti meout>[,<retry_times>][,<timeout_notice>]] | OK 如果省略<pkt_timeout>, <retry_times>,<timeout_notice>,请查询消息发 送的超时值: +ECMTCFG: "timeout",<pkt_timeout>,<retr y_times>,<timeout_notice>
OK 如果发生错误,响应: ERROR | 设置命令 配置Will信息 AT+ECMTCFG="will",<tcpconnectID>[,<will_fg>[ ,<will_qos>,<will_retain>,“<will_topic>”,“<w ill_msg>”]] | OK 如果省略<will_fg>,<will_qos>, <will_retain>,<will_topic>和 <will_msg>,请查询Will信息: +ECMTCFG: "will",<will_fg>[,<will_qos>, <will_retain>,<will_topic>,<w
OK 如果发生错误,响应: ERROR | 设置命令 配置要使用的MQTT协议版本 AT+ECMTCFG="version",<tcpconnectID>[,<versio n>] | OK 如果省略<version>,请查询MQTT 协议版本: +ECMTCFG: "version",<version>
OK 如果发生错误,响应: ERROR | 设置命令 配置阿里云的设备信息 AT+ECMTCFG="aliauth",<tcpconnectID>[,“<produ ct_key>”,“<device_name>”,“<device_secret>”] | OK 如果省略“ <product_key>”, “ <device_name>”, “ <device_secret>”,请查询设 备信息: +ECMTCFG: "aliauth",<product_key>,<devi ce_name>,<device_secret>
OK 如果发生错误,响应: ERROR | 设置命令 配置云类型和云发送数据的格式 AT+ECMTCFG="cloud",<tcpconnectID>,<cloud type>,<data type> | | | +ECMTCFG:+ECMTCFG: "keepalive",(0),(0- 3600) +ECMTCFG: "session",(0),(0,1) +ECMTCFG: "timeout",(0),(1-60),(1-10),(0,1) +ECMTCFG: "will",(0),(0,1),(0- 2),(0,1),"will_topic","will_msg" +ECMTCFG: "version",(0),(3,4) +ECMTCFG: "aliauth",(0),"productkey","d evicename","devicesecret" +ECMTCFG: "cloud",(0-255), (0-255)
OK | | | | |
3.1.3. 参数描述 | | | | 整型。 是否在数据模式下将输入数据回显到UART(不支持) | | | | | 范围是0-3600。 默认值为120。单位:秒。 它定义了从客户端收到的消息之 间的最大时间间隔。 如果服务器在保持活动时间段的1.5倍内未收到来自客户 端的消息,则它将断开客户端的连接,就好像客户端已发送DISCONNECT消 息一样。 | | | | 1 服务器端丢弃之前为该客户端保留的任何信息,并将连接视为“clean(清除)” | | | 数据包传递超时时间。 范围是1-60。 默认值为10。单位:秒。 | | | 数据包传递超时的重试时间。 范围是0-10。 预设值为3。 | | | | | | | | | | | | | | | | 0 当客户端向服务器发送发布消息时,服务器在将消息传递给当前订户后将不 保留该消息 | 1 当客户端向服务器发送PUBLISH消息时,服务器在将消息传递给当前订户后 应保留该消息 | | | | | | Will消息定义了客户端意外断开连接时发布到will主题的消息的内容。 它可以是 零长度的消息。 最大大小为255个字节 | | 整型。 MQTT协议的版本,默认为MQTT v3.1.1 | | | | | | | | | | | | | | | | | | | | OneNet 云平台定义如下 1 OneNet数据类型1 2 OneNet数据类型2 3 OneNet数据类型3 4 OneNet数据类型4 5 OneNet数据类型5 6 OneNet数据类型6 | 阿里云定义如下 1 Json 数据 2 字符串数据 | |
3.1.4. 命令示例 AT+ECMTCFG ="cloud",0,1,1 OK | 3.2. AT+ECMTOPEN 打开客户端连接3.2.1. 命令描述该命令用于为 MQTT 客户端打开网络。 3.2.2. 命令语法 | 指令响应 | 设置命令 AT+ECMTOPEN=<tcpconnectID>,“<host_name>”, <port> | OK +ECMTOPEN: <tcpconnectID>,<result> 如果发生错误,响应: ERROR | | +ECMTOPEN: (支持列表 <tcpconnectID>s),“<host_name>”,(支持列 表 <port>s)
OK 若出现任何错误: ERROR 或者 +CME ERROR: <err> | | | | | | |
3.2.3. 参数描述 | | | | | 服务器的地址。 它可以是IP地址或域名。 最大100个字节 | | | | | | | |
3.2.4. 命令示例 AT+ECMTCFG ="cloud",0,1,1 OK AT+ECMTOPEN=0,"183.230.40.39",6002 OK
+ECMTOPEN: 0,0 | 3.3. AT+ECMTCLOSE 关闭客户端3.3.1. 命令描述该命令发送 MQTT 关闭数据包。 3.3.2. 命令语法 | 指令响应 | 设置命令 AT+ECMTCLOSE=<tcpconnectID> | OK +ECMTCLOSE: <tcpconnectID>,<result> 如果发生错误,响应: ERROR | | +ECMTCLOSE: (支持列表 <tcpconnectID>s)
OK | | | | |
3.3.3. 参数描述
3.3.4. 命令示例 AT+ECMTCLOSE=0 OK
+ECMTCLOSE: 0,0 | 3.4. AT+ECMTCONN 创建连接3.4.1. 命令描述连接客户端到 MQTT 服务器。 3.4.2. 命令语法 | 指令响应 | 设置命令 AT+ECMTCONN=<tcpconnectID>,“<clientID>” [,“<username>”[,“<password>”]] | OK +ECMTCONN: <tcpconnectID>,<result>[,<ret_code>] 如果发生错误,响应: ERROR | | +ECMTCONN: (支持列表 <tcpconnectID>s),“<clientID>”[,“<u sername>”[,“<password>”]]
OK | | [+ECMTCONN: <tcpconnectID>,<state>]
OK | | | | |
3.4.3. 参数描述 | | | | | | | | | | | 客户端用户名对应的密码。 它可以用于身份验证,最大96个字节 | | | | | | | | | | | | | | |
3.4.4. 命令示例 AT+ECMTCFG ="cloud",0,1,1 OK AT+ECMTOPEN=0,"183.230.40.39",6002 OK
+ECMTOPEN: 0,0 AT+ECMTCONN=0,"565326403","291622","123456" OK
+ECMTCONN: 0,0,0 | 3.5. AT+ECMTDISC 断开连接3.5.1. 命令描述断开客户端和 MQTT 服务器的连接。 3.5.2. 命令语法 | 指令响应 | 设置命令 AT+ECMTDISC=<tcpconnectID> | OK +ECMTDISC: <tcpconnectID>,<result> 如果发生错误,响应: ERROR | | +ECMTDISC: (支持列表 <tcpconnectID>s)
OK | | | | |
3.5.3. 参数描述
3.5.4. 命令示例 AT+ECMTDISC=0 OK
+ECMTDISC: 0,0 | 3.6. AT+ECMTSUB 发起订阅3.6.1. 命令描述该命令发送 MQTT 订阅数据包。 3.6.2. 命令语法 | 指令响应 | 设置命令 AT+ECMTSUB=<tcpconnectID>,<msgID>,“<topi c>”,<qos> | OK +ECMTSUB: <tcpconnectID>,<msgID>,<result>[, 如果发生错误,响应: ERROR | | +ECMTSUB: (支持列表<tcpconnectID>s),(支持列表<msgID>s),“<topic>”,(支持列表<qos>s)
OK | | | | |
3.6.3. 参数描述 | | | | | | | | 客户想要订阅或取消订阅的主题。 最大长度为255个字节 | | | | | | | | | | | | | | |
3.6.4. 命令示例 AT+ECMTSUB=0,1,"test",2 OK
+ECMTSUB: 0,1,0,1 | 3.7. AT+ECMTUNS 取消订阅3.7.1. 命令描述该命令发送 MQTT 取消订阅数据包。 3.7.2. 命令语法 | 指令响应 | 设置命令 AT+ECMTUNS=<tcpconnectID>,<msgID>,“<topic> ” | OK +ECMTUNS: <tcpconnectID>,<msgID>,<result> 如果发生错误,响应: ERROR | | +ECMTUNS: (支持列表<tcpconnectID>s),(支持列表<msgID>s),“<topic>”
OK | | | | |
3.7.3. 参数描述 | | | | | | | | 客户想要订阅或取消订阅的主题。 最大长度为255个字节 | | | | | | | | |
3.7.4. 命令示例 AT+ECMTUNS=0,1,"test" OK
+ECMTUNS: 0,1,0 | 3.8. AT+ECMTPUB 发布数据3.8.1. 命令描述该命令发送 MQTT 发布数据包。 3.8.2. 命令语法 | 指令响应 | 设置命令 AT+ECMTPUB=<tcpconnectID>,<msgID>,<qos>,<retai n>,“<topic>”,“<payload>" | OK +ECMTPUB: <tcpconnectID>,<msgID>,<result>[,<value>] 如果发生错误,响应: ERROR | | +ECMTPUB: (支持列表<tcpconnectID>s),(支持列表<msgID>s),(支持列表<qos>s),(支持列表<retain>s),“<topic>”,“<msg>”
OK | | | | |
3.8.3. 参数描述 | | | | | | | | | | | | | | | | | | | | 需要发布的消息。 最大长度为700个字节。 如果处于数据模式,则最大长度为 1024字节 | | | | | | | | | | | |
3.8.4. 命令示例 AT+ECMTPUB=0,0,0,0,"$dp", "{"datastreams":[{"id":"temperature","datapoints":[{"at":"2020-08-31 14:20:12","value": 30.5}]}]}" OK
+ECMTPUB: 0,0,0 | 3.9. +ECMTSTAT URC 消息,报告链路层状态3.9.1. 命令描述当 MQTT 链路层状态发生变化时,将上报此 URC。 3.9.2. 命令语法 | 指令响应 | | +ECMTSTAT: <tcpconnectID>,<err_code> |
3.9.3. 参数描述
3.9.4. 命令示例3.10.+ECMTRECV URC 消息,指示接收服务器数据3.10.1. 命令描述这是一条 URC 消息,指示 MQTT 客户端从 MQTT 服务器接收数据。 3.10.2. 命令语法 | 指令响应 | | +ECMTRECV: <tcpconnectID>,<msgID>,<topic>,<data> |
3.10.3. 参数描述
|