BLE MESH串口组网透传-指令集
硬件环境介绍和设计指导
快速上手(图文加视频)
AT Command指令集(详细篇)
新功能调试命令集(内部调试不对外公开)
如无权限阅读,请联系微信:17625815328
-
+
home
AT Command指令集(详细篇)
# 前言 ## 名词定义 主节点:Provisioner,用于创建一个网络。 子节点:Provisionee,网络中的节点。 ## 默认情况申明(适用于所有的节点) 1. 设备硬件或者软件复位之后,会串口打印输出`OK\r\n`。提示客户,模组启动就绪。 2. 单次最大传输包长为200字节,(推荐一个数据包不要超过10个字节)。 3. 本文的所有指令,均需要在结尾加上回车换行。 > \r\n 4. 本文所有AT指令的内容均为字符串,其中AT+COMMAND的内容要大写且必须是英文输入法下的字母或字符,例如:"AT+RESET=1\r\n" ## 主节点:Provisioner说明 1. 最大可配置入网的节点数为80。(需要更多节点的场景,请联系红旭无线技术)。 2. provisioner的默认单播地址为0x0001。 ## 子节点:Provisionee说明 1. 所有的provisionee均支持中继、代理、朋友特性 2. 默认状态下provisionee不支持低功耗。(如果需要低功耗,请联系红旭无线技术) # 硬件准备和串口通信协议 - 出厂默认情况: Provisioner固件烧写在nrf 52840芯片(或者模组)中。 Provisionee固件烧写在nRF 52832芯片(或者模组)中。 (如果需要运行在其他型号的芯片或者模组中,请联系红旭无线技术) - 串口通信协议: 串口的配置信息如下: 波特率:115200 校验位:None 数据位:8 停止位:1 流控制:无 TX: PIN0.06 RX: PIN0.08 # AT **作用:** 用于测试串口通讯是否正常 --- **命令格式:** > AT --- **返回的命令格式:** > OK --- **示例:** > AT\r\n<br> > OK\r\n # AT+START 开启或者停止配置周边发出Unprovisioned Device Beacon的设备,启动后,默认120秒后会自动关闭该功能 **(该命令仅对Provisioner有效!!!)** --- **命令格式:** > AT+START=Parameter1 其中Parameter1的含义如下所示: - 1:搜索周围发出unprovisioned Device Beacon的设备并配置其入网 - 0:停止搜索周边的未入网设备 - ?:查询当前的状态 - 其他的值均无效 --- **返回的命令格式:** > +START:Parameter 其中Parameter的含义如下所示: - 0x02:处于搜索状态 - 0x03:处于停止状态 **(默认的状态)** - 0x04:已经配置完一个未入网的设备 - 0x05:配网失败或者配置失败 - 0x06:120秒超时完成,此时处于停止状态 **示例:** > AT+START=1\r\n<br> > +START:0x02\r\n # AT+TX **作用:** 向指定的目标地址透传数据,目标地址支持:单播地址 ---- **命令格式:** > AT+TX=Parameter1,Parameter2,Parameter3,Parameter4 其中Parameter1的含义如下所示: - V: 表示使用HX的自定义透传模型(默认情况下,使用这个) - (将来会支持更多...) 其中Parameter2的含义如下所示: - 0x0001~0xFFFF:目标地址,其中有如下几个特殊的地址 - 0xFFFC:所有的代理节点 - 0xFFFD:所有的朋友节点 - 0xFFFE:所有的中继节点 - 0xFFFF:所有的节点 其中Parameter3的含义如下所示: - 当Parameter1为V时,0表示是不带应答的发送,1表示带应答的发送;如果Parameter2所携带的是组地址或者虚拟地址或者Label UUID时,表示需要透传的数据。 其中Parameter4的含义如下所示: - 当Parameter1为V时,该Parameter4表示需要透传的数据,最大长度不能大于200字节 **(该参数仅对Parameter2所携带的参数是单播地址时方有效!!!,否则,Parameter3即表示要传的数据了。)** --- **返回的命令格式:** > +TX:Parameter 其中Parameter的含义如下所示: - 0x00:发送成功 - 0x01:目标地址没在DSM中,所以在新添的过程中导致DSM的空间不足,需要删除在DSM中没用的地址 - 0x02:发送失败,请稍后再试 - 0x04:还未发送完成,请稍后再发 - 0x05:发送超时 - 0x06:发布地址删除失败 - 0x07:发布地址列表为空 - 0x08:透传数据的长度已经超过200字节 - 0x09:删除的发布地址不存在 --- **示例:** **发送方** > AT+TX=V,0201,0,hello I am provisioner\r\n<br> > +TX:0x00\r\n # AT+ADDRESS **作用:** 查询当前硬件的地址相关信息 --- **命令格式:** > AT+ADDRESS=Parameter1 其中Parameter1的含义如下所示: - ?: - 当被查询的对象是:Provisioner 查询当前Provisioner网络中所有入网节点的单播地址。(如果A节点曾经已经加入该网络,假设被分配了0x0201地址,此时,其并不在线,发送AT+ADDRESS=?\r\n 也是可以查询到0x0201地址的。) - 当被查询的对象是:入网的节点,也就是Provisionee时 查询当前节点在网络中的地址。第一个地址是其在网络中的地址,第二个地址是该网络主节点Provisioner的单播地址。 - 其他的值无效 --- **返回的命令格式:** > +ADDRESS:Parameter1,Parameter2,......,Parameter n 其中上述Parameter的含义如下所示: - Provisioner - 如果Parameter1的值为0x05时:说明Provisioner没有存储任何入网设备的信息 - 如果Parameter1的值为0x06时:说明Provisioner获取地址信息失败 - 除了上述值之外,其他值表示Provisioner所创建的MESH网络中的所有节点(Provisionee)的单薄地址 - Provisionee - 如果Parameter1的值为0x05时:说明此时还没有入网 - 除了上述值之外,查询当前节点在网络中的地址。第一个地址是其在网络中的地址,第二个地址是该网络主节点Provisioner的单播地址。 --- **示例:** > AT+ADDRESS=?\r\n<br> > +ADDRESS:0x0201,0x0202\r\n # AT+REMOVE **作用:** 将入网的节点从当前的SIG Mesh网络中移除**(该命令仅对Provisioner有效!!!)** --- **命令格式:** > AT+REMOVE=Parameter1 其中Parameter1的含义如下所示: - 入网节点首要元素地址,即节点的单播地址 - 其他的值无效 --- **返回的命令格式:** > +REMOVE:Parameter1 其中上述Parameter1的含义如下所示: - 0x00: 表示移除成功 - 0x01: 移除的节点的地址无效 - 0x02: 移除的节点失败 - 0x03: 对端节点的入网信息已经清除,但是Provisioner本地存储该节点的信息清除失败 --- **示例:** > AT+REMOVE=0202\r\n<br> ( 表示移出地址为0x0202) > +REMOVE:0x00\r\n # AT+RESET **作用:** 删除Provisioner或者Provisionee所有MESH相关的配置信息,回到初始化状态 **或者** 软复位; --- **命令格式:** > AT+RESET=Parameter1 其中上述Parameter1的含义如下所示: - 0:软复位 (无返回,直接软重启) - 1:需要注意下述两点: - Provisioner执行该命令,等同于恢复出厂设置 - Provisionee也是等同于恢复出厂设置,但是此时Provisioner不知道该节点已经恢复出厂设置,其仍然保存有该节点的信息;因此,当入网的节点需要恢复出厂设置时,建议采用[AT+REMOVE](#AT+REMOVE)命令 --- **返回的命令格式:** > +RESET:Parameter 其中Parameter的含义如下所示: - 0x00:说明清除配网信息以及软复位成功 --- **示例:** > AT+RESET=1\r\n<br> > +RESET:0x00\r\n # AT+VERSION **作用:** 查询当前固件版本号 --- **命令格式:** > AT+VERSION=Parameter1 其中Parameter1的含义如下所示: - ?:查询当前固件的版本号和其他相关信息 - 其他值目前无效。 --- **示例:** > AT+VERSION=?\r\n<br> > Provisionee:v0.03_10ppm (表示当前节点是Provisionee,版本号为V0.03) # AT+MAC **作用:** 查询当前模组的MAC地址 --- **命令格式:** > AT+MAC=Parameter1 其中Parameter1的含义如下所示: - ?:查询当前固件的MAC地址。 - 其他值目前无效。 --- **示例:** > AT+MAC=?\r\n<br> > +MAC:E46966446FBB # 错误码 上述所有AT指令的错误值返回的格式如下: > +ERR:错误码 其中,各个错误码表达的含义如下所示: - 0xFA:AT命令中找不到等号 - 0xFB:AT命令列表不存在该AT命令 - 0xFC:内存分配失败 - 0xFD:传入的实参为空 - 0xFE:该命令所携带的参数无效 - 0xFF:该命令此时无效
红旭无线官2
Dec. 24, 2021, 2:44 p.m.
0 comment
Forward
Favorites
Last
Next
Scan the QR Code
Copy link
Scan the QR code to share.
Copy link
欢迎关注红旭无线官方微信公众号
share
link
type
password
Update password
Validity period
Markdown file
Word document
PDF document
PDF document (print)