0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

富芮坤主从一体多链接通信协议解析

FREQCHIP 富芮坤 来源:FREQCHIP 富芮坤 2024-10-22 10:34 次阅读

在先前我们已经介绍了富芮坤主从一体多链接的概念,现在,我们将深入解析其技术文档,为大家提供更详尽的说明。

网络拓扑

目前支持连接最多层数为5级,每个节点下面最多可连接16个子设备。具体级数和子设备个数可以在入网前可以通过不同的应用场景进行配置。

此组网一般使用场景为一个网络内有高于20个数量的设备需要统一管理,比如跳绳类应用,一个班级组网设备数量有60个左右。

当小于等于20个设备时,建议可以直接使用我们的一拖多功能,可以直接实现一拖20个设备。

6b5c4432-8f8c-11ef-a511-92fbcf53809c.png

通信协议

2.1手机(控制端C)下发指令到设备

手机端下发指令给设备端共有3个指令,0xE1,0xE3,0xE4指令,下方会详解。

手机通过UUID为FFF1的特征将数据下发到设备。

2.1.1、0xE1指令:发送数据给对应节点

l 指令包格式说明

Type(1byte Node id(2byte) Data(n byte)
E1 03 00 12 FA 9C

代表手机端需要发送0x12FA9C这3个字节数据给node id为0x0003的设备

l 发送查询路由表信息指令

Type(1byte) Node id(2byte) Data(2 byte)
E1 FFFF 0000

此指令为固定指令,代表手机向root节点(root的node id固定为0xFFFF)请求路由表信息。客户应用层数据需要避开data数据为0x0000。

请求的路由表信息会通过E2指令返回给手机,详解见下方

2.1.2、0xE3指令:配置节点信息(debug调试使用,正常应用场景请不要使用)

0xE3指令只针对手机连接的那个节点

l 通过log打印节点信息

Type(1byte) Data(1 byte)
E3 C0

控制端连接根节点(MULTI CON_FFFF),发送指令E3C0,可以在根节点log中打印拓扑信息

<  1>NodeCon[ 1]: <-> layer:2 slave_id: 0

<  2>NodeCon[ 2]: <-> layer:3 slave_id: 0

<  3>NodeCon[ 3]: <-> layer:3 slave_id: 100

节点0x0001处于第2层,第0个节点

节点0x0002处于第3层,节点0x0001的子节点中的第0个节点

节点0x0003处于第3层,节点0x0001的子节点中的第1个节点

6b825122-8f8c-11ef-a511-92fbcf53809c.jpg

l 重置节点node id

Type(1byte) Data(1 byte)
E3 C1

2.1.3、0xE4指令:群发指令。所有节点都可以收到此数据

Type(1byte) Data(n byte)
E4 12 FA 9C

所有设备都会收到手机端下发的3个字节数据0x12FA9C

2.2、手机(控制端C)收到设备发来的指令

设备通过UUID为FFF4的特征将数据上报给手机。

设备发送给手机的指令格式如下,其中cmd取值为0xF1,0xF4,0xF5,0xF6

Type(1byte) Node id(2byte) Cmd(1byte) Data(n byte)

2.2.1、设备上线状态上报

Type(1byte) Node id(2byte) Cmd(1byte) Data(2 byte)
E2 FF FF F1 03 00

代表node id为0x0003的设备组网上线成功

2.2.2、设备下线状态上报

Type(1byte) Node id(2byte) Cmd(1byte) Data(2 byte)
E2 FF FF F4 03 00

代表node id为0x0003的设备从网络内掉线

2.2.3、手机请求的路由表信息上报

Type(1byte) Node id(2byte) Cmd(1byte) Data(n byte)
E2 FFFF F5 Route_table_info

Data(Route_table_info):

Num:节点个数 Index:分包标识 Node_ID1 Layer LayerID 循环(Node_ID--Layer--LayerID)
(1bytes) (1bytes) (2bytes) (1byte) (4bytes) 。。。。。。


LayerID:

[0] [1] [2] [3]
Layer2_ID Layer3_ID Layer4_ID Layer5_ID

注意:

如果需要分包的话,index从1(第一包)开始,0xFF结尾(最后一包)。如一共三包,index分别为0x01,0x02,0xFF

指令示例:

Tx:E1 FF FF 00 00

Rx:E2 FF FF F5 03 FF 01 00 03 01 00 00 00 02 00 02 01 00 00 00 03 00 02 00 00 00 00

03 :本包传输了3个节点的信息,分别是0x0001 0x0002 0x0003

FF :路由表数据只有一包

0x0001:处于第03层,第3层序号是00, 父节点是第二层序号为01的节点,即 0x0002

0x0002:处于第02层,第2层序号为01

0x0003:处于第02层, 第2层序号为00

按照数据恢复出网络拓扑结构如下图:

6b944df0-8f8c-11ef-a511-92fbcf53809c.jpg

2.3、代码介绍

l 获取多连接组网的SDK

l 打开工程,可以到ble_multi_link.h头文件进行一些参数的配置

比如网络层级,每个节点最大连接数量等

6bae8850-8f8c-11ef-a511-92fbcf53809c.png

l 首先调用ble_multi_link_init函数进行组网参数的初始化

6bd2e6b4-8f8c-11ef-a511-92fbcf53809c.png

l 当设备组网成功或者掉线后会进入multi_con_netin_cb、multi_con_netout_cb回调

l 当设备被手机连接或者手机断开会进入multi_con_control_disconnect_cb、multi_con_control_connected_cb回调

l 当设备位于中间节点时,设备连接的子节点掉线或者上线,会进入master_child_node_dropped_cb、master_child_node_online_cb回调

l 当设备接收到手机或者设备发送过来的信息时,会进入device_receive_data函数。可以在这里进行一定的数据处理

6bfa4678-8f8c-11ef-a511-92fbcf53809c.png

l 当设备需要发送数据给手机时,可以调用device_send_data_to_phone函数进行发送

l 当设备需要发送数据给其它设备是,可以调用device_send_data_to_device函数

l 当设备需要群发数据时,可以调用device_send_data_to_all_device函数

l 其它更多,比如获取当前设备的角色:multi_link_get_role、node id:multi_link_get_node_id、层级:multi_link_get_layer、从机连接数量:multi_link_get_slave_num等等可以到ble_multi_link.h查看函数具体说明

l 若设备需要串口透传或者发送指令,只需要实现串口部分收发,根据自己的串口协议,配合如上函数发送到对应设备即可

使用说明

1、 指定根节点:上电前先将PD7拉低,上电后即为根节点。其他节点默认上电为从节点

2、 上电后根节点自动发起组网。

3、 初始上电,根节点node id为0xFFFF,其他节点Node_ID为0。初次上电连接后,由根节点分配节点ID

4、 入网成功连接后,节点会收到入网成功的消息回调。

5、 断线自恢复,某一中间节点掉电导致掉线后,其子节点在一定时间内会自动加入网络,掉线的节点在上电后也可以自动加入网络,且node id不发生改变。

6、 手机端BLE调试软件扫描,会发现很多MULTI CON_xxxx设备,随便连接任意设备,可以向任意节点发送消息。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信协议
    +关注

    关注

    28

    文章

    824

    浏览量

    40192
  • 指令
    +关注

    关注

    1

    文章

    604

    浏览量

    35584
  • 网络拓扑
    +关注

    关注

    0

    文章

    98

    浏览量

    11333

原文标题:【技术专区】富芮坤主从一体多链接通信协议说明

文章出处:【微信号:FREQCHIP,微信公众号:FREQCHIP 富芮坤】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    款已经通过FCC/CE认证的主从一体蓝牙模块

    ` 蓝牙模块中的主从一体,是指个模块的程序既可以做主设备去搜索连接从设备,也可以作为从设备被其它主设备发现和连接,甚至可以做到主从设备同时存在。 可以模块与模块连接(都可以主从)与手
    发表于 02-15 16:59

    蓝牙主从一体,特征值改大无法通信是为什么呢?

    SIMPLEPROFILE_CHAR5_LEN5 我用官方的主从一体DEMO,通过写入白名单建立两个设备的连接,把 SIMPLEPROFILE_CHAR1_LEN 改到20无法通信,小于20就可以,这个是为什么呢?
    发表于 08-01 06:27

    CH582主从一体使用pwm,100ms控制次占空比会死机是为什么?

    在加pwm之前直是主从一体做主连接从机,长链接通过串口看收发数据,放晚上都没问题,加了pwm后有时候会半小时就死了,不发数据,蓝牙连接也断开了,
    发表于 08-09 06:38

    请问CH573主从一体例程如何互相配对?

    几十个CH573蓝牙设备要互相两两通信,使用主从一体例程,如何通过配对,把MAC地址等信息储存到信任列表?非手动配对的设备,即使扫描到也不允许通信。我看主从一体的例程,好像只要扫描到M
    发表于 08-10 06:16

    BLE主从一体相互收发广播包

    大佬们,BLE蓝牙主从一体怎么做到让他们相互收到对方发的广播啊?单链路的情况,添加独立的RF文件也不行;相同程序,目前只能其中方收得到另方收不到,多个设备时,也有某个设备收不到其它广播的情况。求大佬指点它的收发时序以及该怎么
    发表于 12-09 18:14

    小钢炮使用的低功耗主从一体蓝牙芯片BlueNRG-MS手册

    小钢炮(CANNON)使用的低功耗主从一体蓝牙芯片BlueNRG-MS手册
    发表于 02-19 14:47 61次下载

    蓝牙模块低功耗蓝牙4.2nRF51822主从一体陶瓷天线

    蓝牙模块低功耗蓝牙4.2模块nRF51822主从一体陶瓷天线
    发表于 09-28 16:43 43次下载

    ble蓝牙模块的主从一体功能详解

    主从一体是指 BLE 蓝牙模块 同时作为主设备和从设备 。 主从一体提供了 扩展 BLE 蓝牙模块 的能力, 自从 个被称为 链路层拓扑 的功能被添加到蓝牙 4.1 规范中 后 , 就已经 允许
    的头像 发表于 04-25 09:29 1.7w次阅读
    ble蓝牙模块的<b class='flag-5'>主从一体</b>功能详解

    ble 蓝牙模块的主从一体功能详解

    文档介绍了蓝牙模块主从一体的功能,以及个大致的应用方式
    发表于 04-24 16:52 14次下载

    蓝牙5.2协议主从一体、低功耗、工业级蓝牙模组新品上市

    WH-BLE105是款基于蓝牙5.2协议主从一体模组,拥有主设备模式、从设备模式、广播模式、主从一体模式四种工作模式,可用于主从
    的头像 发表于 11-05 08:39 7581次阅读
    蓝牙5.2<b class='flag-5'>协议</b>、<b class='flag-5'>主从一体</b>、低功耗、工业级蓝牙模组新品上市

    ZX-D35主从一体蓝牙模块的数据手册

    ZX-D35主从一体蓝牙模块的数据手册
    发表于 12-30 14:46 18次下载

    BLE蓝牙模块功能应用① — 主从一体

    随着科技快速发展,蓝牙技术在各个行业应用中变得非常广泛。今天,我们来分享种非常热门的主从一体蓝牙模块。我们将对它的模式、概念、应用、选购等进行探讨,让读者深入了解这种蓝牙模块。蓝牙的工作模式蓝牙
    的头像 发表于 09-09 08:26 1217次阅读
    BLE蓝牙模块功能应用① — <b class='flag-5'>主从一体</b>

    BLE蓝牙模块主从一体功能应用场景详解

    蓝牙模块支持多种工作模式,如主设备模式、从设备模式、主从一体化工作模式、广播站模式、Mesh组网模式、广播模式和iBeacon模式。在众多工作模式中,主从一体工作模式是最常用的,也是目前较为流行
    的头像 发表于 01-04 09:19 1136次阅读
    BLE蓝牙模块<b class='flag-5'>主从一体</b>功能应用场景详解

    国产蓝牙模组 | 蓝牙主从一体功能应用

    随着科技快速发展,蓝牙技术在各个行业应用中变得非常广泛。今天,我们来分享种非常热门的主从一体蓝牙模块。我们将对它的模式、概念、应用、选购等进行探讨,让读者深入了解这种蓝牙模块。蓝牙的工作模式蓝牙
    的头像 发表于 06-21 08:25 376次阅读
    国产蓝牙模组 | 蓝牙<b class='flag-5'>主从一体</b>功能应用

    SGS授予AEC-Q100认证证书

    近日,国际公认的测试、检验和认证机构SGS为上海富微电子有限公司(以下简称“”) 型号为FR3038DQ的蓝牙MCU芯片颁发AEC
    的头像 发表于 08-07 17:43 668次阅读