Skip to content

网关子设备 相关命令

相关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 毫秒。

测试命令

  • 发送:

    c
    AT+QIOTSUBCONN=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBCONN: <sessionType>,<lifetime>,<subPK>,<sub PS>,<subDK>[,<subDS>]
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBCONN=<sessionType>,<lifetime>,<subPK>,<subPS>,<subDK>[,<subDS>]
  • 响应:

    设置成功

    c
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <sessionType>:整型。子设备交互数据加密方式。
    • <lifetime>: 整型。子设备保活时间。范围:60~65534;单位:秒。
    • <subPK> :字符串类型。在开发者中心创建产品时生成的 ProductKey。
    • <subPS>:字符串类型。在开发者中心创建产品时生成的 ProductSecret。
    • <subDK> :字符串类型。子设备唯一标识。
    • <subDS>:字符串类型。认证到平台时,平台下发的设备秘钥。
  • 备注:

    • 2.9.0及以上版本支持

示例

示例一(子设备连接网关)

c
[TX]AT+QIOTSUBCONN=0,60,"p1126m","RGtwxxxxxxxxSUls","123456"

[RX]OK

AT+QIOTSUBDISCONN (断开/注销子设备与网关的连接)

  • 说明:该命令用于断开/注销子设备与网关之间的连接。
  • 最大响应时间 :300 毫秒。

测试命令

  • 发送:

    c
    AT+QIOTSUBDISCONN=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBDISCONN: <subPK>,<subDK>[,<subPS>,<subDS>]
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBDISCONN=<subPK>,<subDK>[,<subPS>,<subDS>]
  • 响应:

    设置成功

    c
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subDK> :字符串类型,子设备唯一标识。
    • <subPK> :字符串类型,在平台创建产品时生成的 ProductKey。
    • <subDS>:字符串类型,认证到平台时,平台下发的设备秘钥。
    • <subPS>:字符串类型,在平台创建产品时生成的 ProductSecret。
  • 备注:

    • 2.9.2及以上版本支持

示例

示例一(子设备断开网关)

c
[TX]AT+QIOTSUBDISCONN="p1126m","123456"

[RX]OK

示例二(子设备注销网关)

c
[TX]AT+QIOTSUBDISCONN="p1126m","RGtwxxxxxxxxSUls","123456","1213xxxxxxxx345"

[RX]OK

提示:子设备注销网关后,旧subDS不可再用,需要重新认证返回新subDS。


AT+QIOTSUBSEND (发送子设备透传数据至平台)

  • 说明:该命令用于将子设备的透传数据发送至平台。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效。

测试命令

  • 发送:

    c
    AT+QIOTSUBSEND=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBSEND: <subPK>,<subDK>,(支持的<length>范围),<data>
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBSEND=<subPK>,<subDK>,<length>[,<data>]
  • 响应:

    若省略可选参数且子设备连接已经建立

    c
    >

    响应>后,输入长度等于<length>的数据。

    • 若已配置需回复上行消息 PkgID
      c
      +QIOTSUBSEND:<subPK>,<subDK>,<txid>
      
      OK
    • 否则
      c
      OK

    若指定可选参数且子设备连接已经建立

    • 若已配置需回复上行消息 PkgID
      c
      +QIOTSUBSEND:<subPK>,<subDK>,<txid>
      
      OK
    • 否则返回内容为
      c
      OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subDK> :字符串。子设备唯一标识。
    • <length> :整型。待发送数据长度。单位:字节。
      • 若设置命令中指定<data>,长度范围以测试命令实际返回值为准。
      • 若设置命令中不指定<data>,长度范围以模块性能为准。
    • <data> :发送数据。
      • 若设置命令中指定<data>,待发送数据仅可为字符串类型。
      • 若设置命令中不指定<data>,待发送数据为任意字节流类型,以模块性能为准。
    • <txid> :整型。范围:1~65535。
  • 备注:

    • 2.9.0及以上版本支持

示例

示例一(子设备发送透传数据) 子设备发送"123456ABC"的透传数据到平台

c
[TX]AT+QIOTSUBSEND="p1126m","123456",9,"123456ABC"

[RX]OK

[RX]+QIOTSUBEVT: "p1126m","123456",4,10200

AT+QIOTSUBRD (读取平台下发的透传数据)

  • 说明:该命令用于读取平台下发至子设备的透传数据。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效;参数配置自动保存。

测试命令

  • 发送:

    c
    AT+QIOTSUBRD=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBRD: <subPK>,<subDK>,(支持的<req_length>范围)
    
    OK

查询命令

  • 发送:

    c
    AT+QIOTSUBRD?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBRD: <subPK>,<subDK>,<remain_pieces> 
    +QIOTSUBRD: <subPK>,<subDK>,<remain_pieces> 
    ...
    
    OK

设置命令

  • 发送:

    c
    AT+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

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subDK> :字符串类型。子设备唯一标识。
    • <subPK> :字符串类型。在开发者中心创建产品时生成的 ProductKey。
    • <req_length> :整型。读取的数据长度。长度范围以测试命令实际返回值为准。
    • <cur_len> :整型。实际读取的数据长度。
    • <data> :字节流类型。读取的数据。
    • <remain_len> :整型。当前数据包剩余未读的数据长度。单位:字节。
    • <remain_pieces> :整型。剩余数据包个数。
  • 备注:

    • 2.9.0及以上版本支持

示例

示例一(缓存模式下子设备读取透传数据)

i.开发者中心下发透传数据

ii.子设备接收到透传数据向串口打印回调事件

c
[RX]+QIOTSUBEVT: "p1126C","123456",5,10200

iii.MCU主动发送查询指令 AT+QIOTSUBRD="p1126C","12345678",512 后,查询到透传数据为"123456ABC"

c
[TX]AT+QIOTSUBRD="p1126C","123456",512

[RX]+QIOTSUBRD: "p1126C","123456",9,0,2
[RX]123456ABC

OK

示例二(非缓存模式下子设备读取透传数据)

i.开发者中心下发透传数据

ii.子设备接收到透传数据向串口打印回调事件及透传数据

c
[RX]+QIOTSUBEVT: "p1126C","123456",5,10200,9
123456ABC

AT+QIOTSUBTSLTD (发送子设备物模型数据至平台)

  • 说明:该命令用于发送子设备物模型数据至平台。设置命令中若指定<PkgID>,则发送数据为应答平台数据请求;若省略<PkgID>,则发送数据至平台,发送成功时,MCU接收事件+QIOTSUBEVT: <subPK>,<subDK>,4,10210,表示物模型数据发送成功。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效;

测试命令

  • 发送:

    c
    AT+QIOTSUBTSLTD=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBTSLTD:<subPK>,<subDK>,<length>,(支持的 <PkgID> 范围)
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBTSLTD=<subPK>,<subDK>,<length>[,<PkgID>]
  • 响应:

    c
    >
    
    响应>后,输入长度等于\<length\>的字节流数据。

    若指定可选参数<PkgID>,则为应答平台查询的消息

    c
    OK

    若省略可选参数<PkgID>,则为主动发送上行消息

    • 若已配置需回复上行消息 PkgID

      c
      +QIOTSUBTSLTD:<subPK>,<subDK>,<txid>
      
      OK
    • 否则返回内容为

      c
      OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subDK> :字符串类型。子设备唯一标识。
    • <length> :整型。待发送数据长度。长度范围以具体模块性能为准。
    • <PkgID> :整型。请求包 ID。范围:1~65534。仅当设备需响应平台数据请求时需指定该参数。
    • <txid> :整型。上行消息 ID。范围:1~65535。
  • 备注:

    • 2.9.0及以上版本支持

示例

示例一(发送物模型数据)

需发送的物模型数据如下所示。 ID :1;数据类型:Bool;数值: true。ID:2;数据类型:int ;数值:30。

c
[TX]AT+QIOTSUBTSLTD="p1126m","123456",17
[RX]> 
[TX]{"1":true,"2":30}
[RX]OK

[RX]+QIOTSUBEVT: "p1126m","123456",4,10210

AT+QIOTSUBTSLRD (读取平台下发的物模型数据)

  • 说明:该命令用于读取子设备接收的由开发者中心下发的物模型数据。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效。

测试命令

  • 发送:

    c
    AT+QIOTSUBTSLRD=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBTSLRD:<subPK>,<subDK>,(支持的 <req_length> 范围)
    
    OK

查询命令

  • 发送:

    c
    AT+QIOTSUBTSLRD?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBTSLRD:<subPK>,<subDK>,<remain_pieces> 
    +QIOTSUBTSLRD:<subPK>,<subDK>,<remain_pieces>
    ...
    
    OK

设置命令

  • 发送:
c
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

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subDK> :字符串类型。子设备唯一标识。
    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <req_length> :整型。读取的数据长度。长度范围以测试命令实际返回值为准。
    • <cur_len> :整型。实际读取的数据长度。
    • <data> :字节流类型。读取的物模型数据。
    • <remain_len> :整型。当前数据包剩余未读的数据长度。单位:字节。
    • <remain_pieces> :整型。剩余数据包个数。
  • 备注:

    • 2.9.0及以上版本支持

示例

示例一(缓存模式下子设备读取物模型)

i.开发者中心下发物模型数据

ii.模组收到下发指令并向MCU打印回调事件与数据

c
[RX]+QIOTSUBEVT: "p1126C","123456",5,10200

iii.模组收到物模型数据后,会主动向MCU打印回调事件 +QIOTSUBEVT: “p1126m”,“123123123”,5,10210,10 与下发的物模型数据 {“1”:true}。

c
[TX]AT+QIOTSUBTSLRD="p1126m","123456",512

[RX]+QIOTSUBEVT: "p1126m","123456",5,10210,10
{"1":true}

[RX]OK

示例二(非缓存模式下子设备主动打印物模型数据)

i.开发者中心下发物模型数据

ii.子设备接收到物模型数据后会主动向串口打印回调事件及数据

c
[RX]+QIOTSUBEVT: "p1126m","123456",5,10210,10
[RX]{"1":true}

AT+QIOTSUBHTB (子设备心跳包)

  • 说明:该命令用于发送心跳包以刷新子设备与网关最后交互的时间。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效。

测试命令

  • 发送:

    c
    AT+QIOTSUBHTB=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBHTB:<subPK>,<subDK>
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBHTB=<subPK>,<subDK>
  • 响应:

    设置成功

    c
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subDK> :字符串类型。子设备唯一标识。
  • 备注:

    • 2.9.0及以上版本支持

示例

示例一(子设备发送心跳包)

c
[TX]AT+QIOTSUBHTB="p1126m","12345678"

[RX]OK

AT+QIOTSUBDEVINFO (子设备信息上报)

  • 说明:该命令用于上报子设备信息。
  • 最大响应时间 :300 毫秒。

测试命令

  • 发送:

    c
    AT+QIOTSUBDEVINFO=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBDEVINFO: <subPK>,<subDK>,<subVer>
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBDEVINFO=<subPK>,<subDK>,<subVer>
  • 响应:

    设置成功

    c
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subDK> :字符串类型。子设备唯一标识。
    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subVer> :字符串类型。子设备版本。
  • 备注:

    • 2.19.0及以上版本支持

示例

示例一(子设备上报版本号)

c
[TX]AT+QIOTSUBDEVINFO="p1126m","12345678","1_0_0"

[RX]OK

AT+QIOTSUBOTAREQ (子设备 OTA 请求)

  • 说明:该命令用于子设备向平台请求 OTA。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效。

测试命令

  • 发送:

    c
    AT+QIOTSUBOTAREQ=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBOTAREQ: <subPK>,<subDK>,<subVer>,<info>
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBOTAREQ=<subPK>,<subDK>,<subVer>,<info>
  • 响应:

    设置成功

    c
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subDK> :字符串类型。子设备唯一标识。
    • <subVer> :字符串类型。子设备版本。
    • <info> :整型。子设备通信模式。范围:0~3。
      • 0:不需要sha256信息,也不需要URL外发
      • 1:携带sha256信息,但不需要URL外发
      • 2:不需要sha256信息,但需要URL外发
      • 3:携带sha256信息,且需要URL外发
  • 备注:

    • 2.19.0及以上版本支持

示例

示例一(子设备 OTA 请求)

c
[TX]AT+QIOTSUBOTAREQ="p1126m","12345678","1_0_0",0

[RX]OK

AT+QIOTSUBOTAUPDATE (子设备 OTA 升级配置)

  • 说明:该命令用于子设备 OTA 升级时配置参数。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效。

测试命令

  • 发送:

    c
    AT+QIOTSUBOTAUPDATE=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBOTAUPDATE: <subPK>,<subDK>,<subVer>,<action>
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBOTAUPDATE=<subPK>,<subDK>,<subVer>,<action>
  • 响应:

    设置成功

    c
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subDK> :字符串类型。子设备唯一标识。
    • <subVer> :字符串类型。子设备版本。
    • <action> :整型。子设备 OTA 行为配置。
      • 0- 拒绝升级;
      • 1- 确认升级;
      • 3- 上报更新状态为“升级中”
      • 4- 上报更新状态为“升级成功”
      • 5- 上报更新状态为“升级失败”
  • 备注:

    • 2.19.0及以上版本支持

示例

示例一(子设备 OTA 确认升级)

c
[TX]AT+QIOTSUBOTAUPDATE="p1126m","12345678","1_0_0",1

[RX]OK

AT+QIOTSUBOTARD (子设备 OTA 固件读取)

  • 说明:该命令用于子设备根据平台下发的 url 链接下载相应固件数据并传输至用户。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效。

测试命令

  • 发送:

    c
    AT+QIOTSUBOTARD=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBOTARD: <subPK>,<subDK>,<startAddr>,<dataLen>
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBOTARD=<subPK>,<subDK>,<startAddr>,<dataLen>
  • 响应:

    设置成功

    c
    +QIOTSUBOTARD: <subPK>,<subDK>,<startAddr>,<dataLen>,<data>
    
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subDK> :字符串类型。子设备唯一标识。
    • <startAddr> :整型。固件下载起始地址。
    • <dataLen> :整型。固件单次下载的长度。范围:1~<max_datalen>。单位:字节。
      • <max_datalen> :整型。模块内可供固件下载的内存大小。单位:字节。
    • <data> :字节流类型。固件数据。
  • 备注:

    • 2.19.0及以上版本支持

示例

示例一(子设备 OTA 读取固件内容)

c
[TX]AT+QIOTSUBOTARD="p1126m","12345678",0,5

[RX]+QIOTSUBOTARD: "p1126m","12345678",0,5,HELLO

[RX]OK

AT+QIOTSUBLOC (子设备定位信息上报)

  • 说明:该命令用于上报子设备定位信息。
  • 最大响应时间 :300 毫秒。
  • 特性说明: 该命令立即生效。

测试命令

  • 发送:

    c
    AT+QIOTSUBLOC=?
  • 响应:

    响应支持的可设置参数范围

    c
    +QIOTSUBLOC: <subPK>,<subDK>,<NMEA>[,<NMEA>,...]
    
    OK

设置命令

  • 发送:

    c
    AT+QIOTSUBLOC=<subPK>,<subDK>,<NMEA>
  • 响应:

    设置成功

    c
    OK

    若出现任何错误

    c
    ERROR

  • 参数:

    • <subPK> :字符串类型。在平台创建产品时生成的 ProductKey。
    • <subDK> :字符串类型。子设备唯一标识。
    • <NMEA> :字符串类型。定位数据。
  • 备注:

    • 2.19.0及以上版本支持

示例

示例一(子设备上报 GGA 定位信息)

c
[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