网关子设备 相关命令
相关AT指令表
指令名称 | 功能描述 |
---|---|
AT+QIOTSUBCONN | 连接子设备至网关 |
AT+QIOTSUBDISCONN | 断开/注销子设备与网关的连接 |
AT+QIOTSUBSEND | 发送子设备透传数据至平台 |
AT+QIOTSUBRD | 子设备读取平台下发的透传数据 |
AT+QIOTSUBTSLTD | 发送子设备物模型数据至平台 |
AT+QIOTSUBTSLRD | 读取平台下发的物模型数据 |
AT+QIOTSUBHTB | 发送心跳包 |
AT+QIOTSUBDEVINFO | 子设备信息上报 |
AT+QIOTSUBOTAREQ | 子设备 OTA 请求 |
AT+QIOTSUBOTAUPDATE | 子设备 OTA 升级配置 |
AT+QIOTSUBOTARD | 子设备 OTA 固件读取 |
AT+QIOTSUBLOC | 子设备定位信息上报 |
相关AT指令详情
AT+QIOTSUBCONN (连接子设备至网关)
- 说明:该命令用于将子设备连接到网关。
- 最大响应时间 :300 毫秒。
测试命令
发送:
cAT+QIOTSUBCONN=?
响应:
响应支持的可设置参数范围
c+QIOTSUBCONN: <sessionType>,<lifetime>,<subPK>,<sub PS>,<subDK>[,<subDS>] OK
设置命令
发送:
cAT+QIOTSUBCONN=<sessionType>,<lifetime>,<subPK>,<subPS>,<subDK>[,<subDS>]
响应:
设置成功
cOK
若出现任何错误
cERROR
参数:
<sessionType>
:整型。子设备交互数据加密方式。<lifetime>
: 整型。子设备保活时间。范围:60~65534;单位:秒。<subPK>
:字符串类型。在开发者中心创建产品时生成的 ProductKey。<subPS>
:字符串类型。在开发者中心创建产品时生成的 ProductSecret。<subDK>
:字符串类型。子设备唯一标识。<subDS>
:字符串类型。认证到平台时,平台下发的设备秘钥。
备注:
- 2.9.0及以上版本支持
示例
示例一(子设备连接网关)
[TX]AT+QIOTSUBCONN=0,60,"p1126m","RGtwxxxxxxxxSUls","123456"
[RX]OK
AT+QIOTSUBDISCONN (断开/注销子设备与网关的连接)
- 说明:该命令用于断开/注销子设备与网关之间的连接。
- 最大响应时间 :300 毫秒。
测试命令
发送:
cAT+QIOTSUBDISCONN=?
响应:
响应支持的可设置参数范围
c+QIOTSUBDISCONN: <subPK>,<subDK>[,<subPS>,<subDS>] OK
设置命令
发送:
cAT+QIOTSUBDISCONN=<subPK>,<subDK>[,<subPS>,<subDS>]
响应:
设置成功
cOK
若出现任何错误
cERROR
参数:
<subDK>
:字符串类型,子设备唯一标识。<subPK>
:字符串类型,在平台创建产品时生成的 ProductKey。<subDS>
:字符串类型,认证到平台时,平台下发的设备秘钥。<subPS>
:字符串类型,在平台创建产品时生成的 ProductSecret。
备注:
- 2.9.2及以上版本支持
示例
示例一(子设备断开网关)
[TX]AT+QIOTSUBDISCONN="p1126m","123456"
[RX]OK
示例二(子设备注销网关)
[TX]AT+QIOTSUBDISCONN="p1126m","RGtwxxxxxxxxSUls","123456","1213xxxxxxxx345"
[RX]OK
提示:子设备注销网关后,旧subDS不可再用,需要重新认证返回新subDS。
AT+QIOTSUBSEND (发送子设备透传数据至平台)
- 说明:该命令用于将子设备的透传数据发送至平台。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效。
测试命令
发送:
cAT+QIOTSUBSEND=?
响应:
响应支持的可设置参数范围
c+QIOTSUBSEND: <subPK>,<subDK>,(支持的<length>范围),<data> OK
设置命令
发送:
cAT+QIOTSUBSEND=<subPK>,<subDK>,<length>[,<data>]
响应:
若省略可选参数且子设备连接已经建立
c>
响应>后,输入长度等于<length>的数据。
- 若已配置需回复上行消息 PkgIDc
+QIOTSUBSEND:<subPK>,<subDK>,<txid> OK
- 否则c
OK
若指定可选参数且子设备连接已经建立
- 若已配置需回复上行消息 PkgIDc
+QIOTSUBSEND:<subPK>,<subDK>,<txid> OK
- 否则返回内容为c
OK
若出现任何错误
cERROR
- 若已配置需回复上行消息 PkgID
参数:
<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subDK>
:字符串。子设备唯一标识。<length>
:整型。待发送数据长度。单位:字节。- 若设置命令中指定<data>,长度范围以测试命令实际返回值为准。
- 若设置命令中不指定<data>,长度范围以模块性能为准。
<data>
:发送数据。- 若设置命令中指定<data>,待发送数据仅可为字符串类型。
- 若设置命令中不指定<data>,待发送数据为任意字节流类型,以模块性能为准。
<txid>
:整型。范围:1~65535。
备注:
- 2.9.0及以上版本支持
示例
示例一(子设备发送透传数据) 子设备发送"123456ABC"的透传数据到平台
[TX]AT+QIOTSUBSEND="p1126m","123456",9,"123456ABC"
[RX]OK
[RX]+QIOTSUBEVT: "p1126m","123456",4,10200
AT+QIOTSUBRD (读取平台下发的透传数据)
- 说明:该命令用于读取平台下发至子设备的透传数据。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效;参数配置自动保存。
测试命令
发送:
cAT+QIOTSUBRD=?
响应:
响应支持的可设置参数范围
c+QIOTSUBRD: <subPK>,<subDK>,(支持的<req_length>范围) OK
查询命令
发送:
cAT+QIOTSUBRD?
响应:
响应支持的可设置参数范围
c+QIOTSUBRD: <subPK>,<subDK>,<remain_pieces> +QIOTSUBRD: <subPK>,<subDK>,<remain_pieces> ... OK
设置命令
发送:
cAT+QIOTSUBRD=<subPK>,<subDK> [,<req_length>]
响应:
若省略参数 req_length,则表示查询当前子设备缓存透传长度
c+QIOTSUBRD: <subPK>,<subDK>,<remain_pieces> OK
若携带参数 req_length,则表示读取当前子设备缓存数据
c+QIOTSUBRD: <subPK>,<subDK>,<cur_len>,<remain_len>,< remain_pieces><CR><LF> <data> OK
若出现任何错误
cERROR
参数:
<subDK>
:字符串类型。子设备唯一标识。<subPK>
:字符串类型。在开发者中心创建产品时生成的 ProductKey。<req_length>
:整型。读取的数据长度。长度范围以测试命令实际返回值为准。<cur_len>
:整型。实际读取的数据长度。<data>
:字节流类型。读取的数据。<remain_len>
:整型。当前数据包剩余未读的数据长度。单位:字节。<remain_pieces>
:整型。剩余数据包个数。
备注:
- 2.9.0及以上版本支持
示例
示例一(缓存模式下子设备读取透传数据)
i.开发者中心下发透传数据
ii.子设备接收到透传数据向串口打印回调事件
[RX]+QIOTSUBEVT: "p1126C","123456",5,10200
iii.MCU主动发送查询指令 AT+QIOTSUBRD="p1126C","12345678",512 后,查询到透传数据为"123456ABC"
[TX]AT+QIOTSUBRD="p1126C","123456",512
[RX]+QIOTSUBRD: "p1126C","123456",9,0,2
[RX]123456ABC
OK
示例二(非缓存模式下子设备读取透传数据)
i.开发者中心下发透传数据
ii.子设备接收到透传数据向串口打印回调事件及透传数据
[RX]+QIOTSUBEVT: "p1126C","123456",5,10200,9
123456ABC
AT+QIOTSUBTSLTD (发送子设备物模型数据至平台)
- 说明:该命令用于发送子设备物模型数据至平台。设置命令中若指定<PkgID>,则发送数据为应答平台数据请求;若省略<PkgID>,则发送数据至平台,发送成功时,MCU接收事件+QIOTSUBEVT: <subPK>,<subDK>,4,10210,表示物模型数据发送成功。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效;
测试命令
发送:
cAT+QIOTSUBTSLTD=?
响应:
响应支持的可设置参数范围
c+QIOTSUBTSLTD:<subPK>,<subDK>,<length>,(支持的 <PkgID> 范围) OK
设置命令
发送:
cAT+QIOTSUBTSLTD=<subPK>,<subDK>,<length>[,<PkgID>]
响应:
c> 响应>后,输入长度等于\<length\>的字节流数据。
若指定可选参数<PkgID>,则为应答平台查询的消息
cOK
若省略可选参数<PkgID>,则为主动发送上行消息
若已配置需回复上行消息 PkgID
c+QIOTSUBTSLTD:<subPK>,<subDK>,<txid> OK
否则返回内容为
cOK
若出现任何错误
cERROR
参数:
<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subDK>
:字符串类型。子设备唯一标识。<length>
:整型。待发送数据长度。长度范围以具体模块性能为准。<PkgID>
:整型。请求包 ID。范围:1~65534。仅当设备需响应平台数据请求时需指定该参数。<txid>
:整型。上行消息 ID。范围:1~65535。
备注:
- 2.9.0及以上版本支持
示例
示例一(发送物模型数据)
需发送的物模型数据如下所示。 ID :1;数据类型:Bool;数值: true。ID:2;数据类型:int ;数值:30。
[TX]AT+QIOTSUBTSLTD="p1126m","123456",17
[RX]>
[TX]{"1":true,"2":30}
[RX]OK
[RX]+QIOTSUBEVT: "p1126m","123456",4,10210
AT+QIOTSUBTSLRD (读取平台下发的物模型数据)
- 说明:该命令用于读取子设备接收的由开发者中心下发的物模型数据。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效。
测试命令
发送:
cAT+QIOTSUBTSLRD=?
响应:
响应支持的可设置参数范围
c+QIOTSUBTSLRD:<subPK>,<subDK>,(支持的 <req_length> 范围) OK
查询命令
发送:
cAT+QIOTSUBTSLRD?
响应:
响应支持的可设置参数范围
c+QIOTSUBTSLRD:<subPK>,<subDK>,<remain_pieces> +QIOTSUBTSLRD:<subPK>,<subDK>,<remain_pieces> ... OK
设置命令
- 发送:
AT+QIOTSUBTSLRD=<subPK>,<subD K>[,<req_length>]
响应:
若省略可选参数,则查询当前子设备缓存的物模型数据长度
c+QIOTSUBTSLRD: <subPK>,<subDK>,<remain_pieces> OK
若指定可选参数,则读取当前子设备缓存的物模型数据
c+QIOTSUBTSLRD: <subPK>,<subDK>,<cur_len>,<remain_l en>,<remain_pieces><CR><LF> <data> OK
若出现任何错误
cERROR
参数:
<subDK>
:字符串类型。子设备唯一标识。<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<req_length>
:整型。读取的数据长度。长度范围以测试命令实际返回值为准。<cur_len>
:整型。实际读取的数据长度。<data>
:字节流类型。读取的物模型数据。<remain_len>
:整型。当前数据包剩余未读的数据长度。单位:字节。<remain_pieces>
:整型。剩余数据包个数。
备注:
- 2.9.0及以上版本支持
示例
示例一(缓存模式下子设备读取物模型)
i.开发者中心下发物模型数据
ii.模组收到下发指令并向MCU打印回调事件与数据
[RX]+QIOTSUBEVT: "p1126C","123456",5,10200
iii.模组收到物模型数据后,会主动向MCU打印回调事件 +QIOTSUBEVT: “p1126m”,“123123123”,5,10210,10 与下发的物模型数据 {“1”:true}。
[TX]AT+QIOTSUBTSLRD="p1126m","123456",512
[RX]+QIOTSUBEVT: "p1126m","123456",5,10210,10
{"1":true}
[RX]OK
示例二(非缓存模式下子设备主动打印物模型数据)
i.开发者中心下发物模型数据
ii.子设备接收到物模型数据后会主动向串口打印回调事件及数据
[RX]+QIOTSUBEVT: "p1126m","123456",5,10210,10
[RX]{"1":true}
AT+QIOTSUBHTB (子设备心跳包)
- 说明:该命令用于发送心跳包以刷新子设备与网关最后交互的时间。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效。
测试命令
发送:
cAT+QIOTSUBHTB=?
响应:
响应支持的可设置参数范围
c+QIOTSUBHTB:<subPK>,<subDK> OK
设置命令
发送:
cAT+QIOTSUBHTB=<subPK>,<subDK>
响应:
设置成功
cOK
若出现任何错误
cERROR
参数:
<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subDK>
:字符串类型。子设备唯一标识。
备注:
- 2.9.0及以上版本支持
示例
示例一(子设备发送心跳包)
[TX]AT+QIOTSUBHTB="p1126m","12345678"
[RX]OK
AT+QIOTSUBDEVINFO (子设备信息上报)
- 说明:该命令用于上报子设备信息。
- 最大响应时间 :300 毫秒。
测试命令
发送:
cAT+QIOTSUBDEVINFO=?
响应:
响应支持的可设置参数范围
c+QIOTSUBDEVINFO: <subPK>,<subDK>,<subVer> OK
设置命令
发送:
cAT+QIOTSUBDEVINFO=<subPK>,<subDK>,<subVer>
响应:
设置成功
cOK
若出现任何错误
cERROR
参数:
<subDK>
:字符串类型。子设备唯一标识。<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subVer>
:字符串类型。子设备版本。
备注:
- 2.19.0及以上版本支持
示例
示例一(子设备上报版本号)
[TX]AT+QIOTSUBDEVINFO="p1126m","12345678","1_0_0"
[RX]OK
AT+QIOTSUBOTAREQ (子设备 OTA 请求)
- 说明:该命令用于子设备向平台请求 OTA。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效。
测试命令
发送:
cAT+QIOTSUBOTAREQ=?
响应:
响应支持的可设置参数范围
c+QIOTSUBOTAREQ: <subPK>,<subDK>,<subVer>,<info> OK
设置命令
发送:
cAT+QIOTSUBOTAREQ=<subPK>,<subDK>,<subVer>,<info>
响应:
设置成功
cOK
若出现任何错误
cERROR
参数:
<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subDK>
:字符串类型。子设备唯一标识。<subVer>
:字符串类型。子设备版本。<info>
:整型。子设备通信模式。范围:0~3。0
:不需要sha256信息,也不需要URL外发1
:携带sha256信息,但不需要URL外发2
:不需要sha256信息,但需要URL外发3
:携带sha256信息,且需要URL外发
备注:
- 2.19.0及以上版本支持
示例
示例一(子设备 OTA 请求)
[TX]AT+QIOTSUBOTAREQ="p1126m","12345678","1_0_0",0
[RX]OK
AT+QIOTSUBOTAUPDATE (子设备 OTA 升级配置)
- 说明:该命令用于子设备 OTA 升级时配置参数。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效。
测试命令
发送:
cAT+QIOTSUBOTAUPDATE=?
响应:
响应支持的可设置参数范围
c+QIOTSUBOTAUPDATE: <subPK>,<subDK>,<subVer>,<action> OK
设置命令
发送:
cAT+QIOTSUBOTAUPDATE=<subPK>,<subDK>,<subVer>,<action>
响应:
设置成功
cOK
若出现任何错误
cERROR
参数:
<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subDK>
:字符串类型。子设备唯一标识。<subVer>
:字符串类型。子设备版本。<action>
:整型。子设备 OTA 行为配置。0
- 拒绝升级;1
- 确认升级;3
- 上报更新状态为“升级中”4
- 上报更新状态为“升级成功”5
- 上报更新状态为“升级失败”
备注:
- 2.19.0及以上版本支持
示例
示例一(子设备 OTA 确认升级)
[TX]AT+QIOTSUBOTAUPDATE="p1126m","12345678","1_0_0",1
[RX]OK
AT+QIOTSUBOTARD (子设备 OTA 固件读取)
- 说明:该命令用于子设备根据平台下发的 url 链接下载相应固件数据并传输至用户。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效。
测试命令
发送:
cAT+QIOTSUBOTARD=?
响应:
响应支持的可设置参数范围
c+QIOTSUBOTARD: <subPK>,<subDK>,<startAddr>,<dataLen> OK
设置命令
发送:
cAT+QIOTSUBOTARD=<subPK>,<subDK>,<startAddr>,<dataLen>
响应:
设置成功
c+QIOTSUBOTARD: <subPK>,<subDK>,<startAddr>,<dataLen>,<data> OK
若出现任何错误
cERROR
参数:
<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subDK>
:字符串类型。子设备唯一标识。<startAddr>
:整型。固件下载起始地址。<dataLen>
:整型。固件单次下载的长度。范围:1~<max_datalen>。单位:字节。<max_datalen>
:整型。模块内可供固件下载的内存大小。单位:字节。
<data>
:字节流类型。固件数据。
备注:
- 2.19.0及以上版本支持
示例
示例一(子设备 OTA 读取固件内容)
[TX]AT+QIOTSUBOTARD="p1126m","12345678",0,5
[RX]+QIOTSUBOTARD: "p1126m","12345678",0,5,HELLO
[RX]OK
AT+QIOTSUBLOC (子设备定位信息上报)
- 说明:该命令用于上报子设备定位信息。
- 最大响应时间 :300 毫秒。
- 特性说明: 该命令立即生效。
测试命令
发送:
cAT+QIOTSUBLOC=?
响应:
响应支持的可设置参数范围
c+QIOTSUBLOC: <subPK>,<subDK>,<NMEA>[,<NMEA>,...] OK
设置命令
发送:
cAT+QIOTSUBLOC=<subPK>,<subDK>,<NMEA>
响应:
设置成功
cOK
若出现任何错误
cERROR
参数:
<subPK>
:字符串类型。在平台创建产品时生成的 ProductKey。<subDK>
:字符串类型。子设备唯一标识。<NMEA>
:字符串类型。定位数据。
备注:
- 2.19.0及以上版本支持
示例
示例一(子设备上报 GGA 定位信息)
[TX]AT+QIOTSUBLOC="p1126m","12345678","$GPGGA,042523.0,3413.610533,N,10854.063257,E,1,05,2.6,438.5,M,-28.0,M,,*78"
[RX]+QIOTSUBEVT: 4,10220
[RX]OK