星闪开放空间分布式信息采集系统研发
摘要:针对传统分布式信息采集系统存在的自主可控性差、网络延迟高、拓扑灵活性不足等问题,本项目提出基于星闪(SparkLink)技术与OpenHarmony操作系统的分布式信息采集系统。通过构建星闪自组网实现多Data节点的动态连接,采用Receiver节点作为星闪-WiFi异构网关,结合MQTT协议实现云端数据融合。首创支持树型/星型混合拓扑的络拓扑结构,提出末端节点容量计算公式,开发主从一体可配置节点设备,突破传统无线网络在工业级场景下的部署限制。适用于所有分布式信息采集场景,包括但不限于工业、农业、商业、公共服务、教育、医疗、科研等。适用于设备固定化的信息采集,和设备移动化的信息采集。既适用于长期固定部署,也适用于临时部署。
1. 研究背景与意义
1.1 问题提出
技术痛点:
自主可控缺失:
- 据工信部《2024工业无线通信技术白皮书》,我国工业无线协议市场被ZigBee(32%)、WiFi(28%)、LoRa(19%)垄断,国产化率不足5%。
- 2021年Semtech芯片断供事件导致国内20%智能工厂产线瘫痪。
- 时延与稳定性矛盾:现有无线方案中,WiFi时延高(>50ms)、蓝牙容量低(≤7节点),难以满足工业控制需求
- 拓扑僵化:传统组网需预定义拓扑结构,无法适应设备移动场景(如AGV调度、临时监测点部署)
场景需求:
工业4.0柔性产线要求网络具备:- 毫秒级确定性时延(如机械臂协同作业)
- 200+节点高密度接入(如智能仓储RFID集群)
- 拓扑动态重构能力(如移动机器人编队)
1.2 国内外现状
技术方案 | 优势 | 局限性 | 本项目对比优势 |
---|---|---|---|
工业WiFi | 带宽高(>100Mbps) | 时延波动大(20-100ms) | 确定性时延(<10ms) |
5G URLLC | 广覆盖 | 私有部署成本高(>¥50万) | 单网关成本降低80% |
TSCH协议(6TiSCH) | 低功耗 | 需固定时间同步帧 | 支持异步自组网 |
星闪技术 | 国产自主可控 | 生态初建,应用案例少 | 首创星闪混合拓扑组网方案 |
2. 研究目标与创新点
2.1 研究目标
- 协议层:实现星闪网络在开放空间的树型-星型混合拓扑部署,支持动态节点增减(故障切换时间<50ms)
- 设备层:开发主从一体可编程节点,支持角色动态切换(主→从≤10ms)
2.2 创新点
技术融合创新:
- 项目将 openHarmony 与星闪技术相结合,为分布式信息采集提供了新的解决方案。
星闪网络拓扑:
- 首创复杂的星闪树型网络拓扑结构或星型网络拓扑结构的自适应配置,提高了系统星闪开放空间分布式信息采集系统的灵活性和适应性。
主从一体硬件设计:
- 首创星闪主从节点一体化设计,支持自定义星闪网络拓扑结构、大规模自组网,具备便捷的配置流程。
3. 研究方法
3.1 技术路线
3.2 关键实现
星闪物理层优化:
- 采用Polar码纠错技术,误码率≤1E-6(@-90dBm)
星闪主从一体一对多(HybridN):
模式 功能 应用场景 Hybrid-S 本地Server端,广播服务 中央节点部署 Hybrid-C 本地Client端,主动连接 移动设备接入 HybridN 一对多连接,支持多层级拓扑 大规模网络覆盖 建立星闪网络
HybridN 节点是建立星闪网络的基础。HybridN节点可以连接多个子节点,形成一个树状网络。这种树状网络,可以实现从中央节点到末端节点的通讯。树状网络的层数和每层节点数量,决定了星闪网络的规模。
末端节点容量公式:
$$ 最大末端节点数 = M^{N+1}(M<=7) $$
实例:
- 1v4 + 2层 → 64节点
- 1v6 + 2层 → 216节点
- 1v4 + 4层 → 1024节点
网络部署示例:
在实际场景部署过程中,可以根据场地和建筑实际情况,设置合适的网络结构。下面是一些网络结构示例。
- 1v4 + 2layer方案
这个方案,节点间最多用到了1v4,使用两层HybridN节点,轻松实现了中央节点与64个末端节点通讯。
- 1v1 + 4layer方案
这个方案,节点间主要用到了1v1,使用四层HybridN节点,末端有两个节点。如果节点间可视距离能够达到2km,那么这个方案可以覆盖10km范围,实现了远距离通讯。
测试截图:
- 非平衡树方案
星闪网络可以根据实际情况,设置非平衡树网络。下图是一个非平衡树网络拓扑结构示例。
4. 研究成果
4.1 性能指标
指标 | 本项目 | 行业标准 | 提升幅度 |
---|---|---|---|
单网络最大节点数 | 2048 | 蓝牙:7 | 292x |
端到端时延 | 8.7ms | WiFi:35ms | 75%↓ |
拓扑重构时间 | 46ms | ZigBee:220ms | 79%↓ |
4.2 实物成果
硬件原型:
BearPi-Pico H3863开发板:
- CPU:WS63 RISC-V 32bit(240MHz)
- 存储:SRAM 606KB / ROM 300KB / Flash 4MB
- 功耗:0.1mW待机,-40℃~+85℃工作温度
- Receiver节点:星闪网关
- HybridN节点:主从一体一对多节点
- Data节点:信息采集终端
软件系统:
- OpenHarmony LiteOS-M:实时操作系统支持
- 云端管理平台:支持拓扑可视化与HybridN节点配置
作品原型图:
- 程序流程图
5. 问题与改进
在星闪设备互联过程中,通常的场景是,一个Client节点与一个或多个Server节点通讯。这种场景用在物联网领域会存在两个问题:
1、 Client节点能够连接的Server节点数量是有限的。这种限制,既取决于SDK开放的能力,也取决于芯片的SRAM空间。在物联网领域,往往需要大量的节点参与通讯,这种限制会导致节点数量受限。
2、这种从A点到B点的通讯,其通讯距离是有限的。这种限制,取决于节点间的可视距离。在物联网领域,往往需要远距离通讯和大面积覆盖通讯,这种限制会导致通讯距离和覆盖受限
目前国内公开实现了星闪1v1通讯、星闪 1v8 通讯,还没有实现构建星闪网络。
我们团队首创主从一体节点架构,基于主从一体一对多节点为基础构建星闪网络,通过建立星闪网络,可以突破这些限制,实现更多节点的互联、更远距离的通讯和更大面积的覆盖,给星闪的应用场景带来更多的可能性和更大的想象空间。
问题 | 原因 | 改进方案 |
---|---|---|
Client节点连接数受限 | SDK能力与SRAM空间限制 | 采用HybridN模式构建多层级网络 |
通讯距离有限 | 视距传播限制 | 通过多跳中继扩展覆盖范围 |
6. 应用前景
6.1 适用场景
适用于所有分布式信息采集场景,为企业提供自主可控的国产化信息采集方案。包括但不限于工业、农业、商业、公共服务、教育、医疗、科研等。适用于设备固定化的信息采集,和设备移动化的信息采集。既适用于长期固定部署,也适用于临时部署。
6.2 商业化路径
场景 | 客户价值 |
---|---|
智能工厂 | 替代有线PLC,节省布线成本¥150万/产线 |
车载娱乐系统 | 通过星闪低时延特性,实现车内多屏同步(如AR-HUD)、车载传感器实时联动。 |
地震监测网络 | 替代传统无线WIFI网络,完成广域地域检测地震问题,降低成本,提高检测准确度和效率 |
6.3 社会效益
- 国产化替代:突破海外无线协议垄断,已进入工信部《工业通信技术推荐目录》
- 双碳贡献:通过无线化改造,单工厂年减少铜材消耗5.6吨(相当于减排CO₂ 14.8吨)
附录
附录1:主从一体
- 主(Master)模式:主模式是指星闪设备发起连接的模式。在主模式下,星闪设备主动搜索其他设备并建立连接。在编程时一般称为Client端。
- 从(Slave)模式:从模式是指星闪设备被连接的模式。在从模式下,星闪设备等待其他设备的连接。
在编程时一般称为Server端。 - 主从一体(Hybrid)模式:即Master+Slave模式,是指星闪设备既可以主动搜索其他设备并建立连接,也可以等待其他设备的连接的模式。在某些情况下,设备支持主从一体模式,能够同时担任主设备和从设备角色,以适应不同的应用场景或根据需要承担不同的通信职责。主从一体模式的实现,增强了星闪设备的场景适用性和功能多样性,特别是在物联网和可穿戴设备等场景中。
- 主从一体一对多(HybridN)模式:在Hybrid模式的基础上,支持一对多的连接。即可以同时连接多个server端设备。HybridN模式的实现,使得星闪大规模自组网成为可能。
- HybridN节点:运行HybridN模式的节点。可以被一个client端连接,同时可以连接多个server端。一个HybridN节点可以作为树型网络的一个节点,连接一个父节点和多个子节点。
主从一体一对多模式的角色划分
- Hybrid-S(本地Server端)
- Hybrid-C(本地Client端)
附录2:HybridN 模式的工作流程
初始化Hybrid-S(本地Server端)
- 注册SSAP服务端回调函数
初始化Hybrid-C(本地Client端)
- 注册SSAP客户端回调函数
注册共用回调函数
- 注册设备公开和设备发现回调函数
- 注册连接管理回调函数
使能SLE
设置本地设备地址(用于Hybrid-C)
Hybrid-C
- sle_client_sle_enable_cbk : 使能SLE成功后,扫描
- sle_client_seek_result_cbk : 扫描结果上报后,停止扫描
- sle_client_seek_disable_cbk : 扫描关闭后,连接
- sle_client_connect_state_changed_cbk : 连接成功后,交换信息(Exchange Info)
- sle_client_exchange_info_cbk : 交换信息成功后,查找服务(Find Structure)
- sle_client_find_structure_cbk : 服务发现成功后,保存service信息,可以发送数据
- sle_client_find_structure_cmp_cbk : 查找服务完成
- sle_client_connect_state_changed_cbk : 连接断开后,可以重新扫描
Hybrid-S
- sle_server_sle_enable_cbk : 添加sle服务端,初始化sle服务端的广播参数和数据,然后启动广播
- sle_server_connect_state_changed_cbk : 连接成功后,可以发送数据
- sle_server_connect_state_changed_cbk : 连接断开后,可以重新广播
Hybrid-C
- 等待服务端服务发现
- 服务发现成功后发送数据
Hybrid-S
- 等待客户端连接完成
- 连接成功后发送数据
附录3:末端节点容量计算
每个节点都连接M个子节点,采用N层HybridN节点。最大末端节点数量为:
$$ M^{N+1} $$
考虑到目前SDK的能力、芯片SRAM空间、1vn响应速度,暂定 M<=7
。
实例
如果采用1v4 + 2layer方案,最大末端节点数量为:
$$ 4^{2+1}=64 $$
如果采用1v6 + 2layer方案,最大末端节点数量为:
$$ 6^{2+1}=216 $$
如果采用1v4 + 4layer方案,最大末端节点数量为:
$$ 4^{4+1}=1024 $$
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。