BLE MESH串口组网透传-指令集
硬件环境介绍和设计指导
快速上手(图文加视频)
AT Command指令集(详细篇)
新功能调试命令集(内部调试不对外公开)
如无权限阅读,请联系微信:17625815328
-
+
首页
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
2021年12月24日 14:44
0 条评论
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
欢迎关注红旭无线官方微信公众号
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期