OpenHarmony 实战开发——软总线解析

分布式软总线是 OpenHarmony 的重要能力,设计目标是实现多设备间的通信方式。分布式软总线是分布式硬件和分布式软总线的重要基础,分布式软总线提供一种不区分链路的设备间发现、组网和传输的能力:

  • 发现:应用 WiFi,蓝牙相关协议实现设备发现能力;
  • 组网:提供统一的设备组网和拓扑管理能力;
  • 传输:提供数据传输能力,支持消息、字节、流,文件的数据传输能力;
概述

在 OpenHarmony 的源码里和系统功能相关的部分大多都放在 foundation 这个文件夹里,而通讯相关的部分则是在 communication 这个文件夹内。我们本篇要分析的软总线功能就是在 foundation/communication/dsoftbus 路径下,具体目录结构如下:

.
├── adapter									//适配层		
│   ├── BUILD.gn
│   ├── common								//适配层管理,网络适配,协议适配等
│   └── default_config						//适配层配置
├── BUILD.gn
├── bundle.json
├── check_sub_module.py
├── components								//依赖组件
│   ├── mbedtls								//开源ssl库,在三方库里
│   └── nstackx								//tcp/ip协议管理模块
├── config.py
├── core									//核心层
│   ├── adapter								//适配接口	
│   ├── authentication						//认证接口
│   ├── BUILD.gn
│   ├── bus_center							//组网代码
│   ├── common								//通用代码
│   ├── connection							//连接代码
│   ├── discovery							//发现代码
│   ├── frame								//框架代码
│   └── transmission						//传输代码
├── dsoftbus.gni
├── figures
│   ├── dsoftbus-architecture.png
│   └── dsoftbus-architecture_zh.png
├── hisysevent.yaml
├── interfaces								//对外头文件
│   ├── inner_kits
│   └── kits
├── Kconfig
├── LICENSE
├── OAT.xml
├── README.md
├── README_zh.md
├── sdk										//对外应用sdk
│   ├── BUILD.gn
│   ├── bus_center							//组网
│   ├── discovery							//发现
│   ├── frame								//框架
│   └── transmission						//传输
├── tests
│   ├── adapter
│   ├── BUILD.gn
│   ├── core
│   ├── include
│   └── sdk
└── tools									//工具
    ├── BUILD.gn
    └── device_info
  • 约束:
    • 设备发现需要在同二层网络中(即同交换机,同 WiFi 路由或者近场通信范围内)
    • 组网前需要有设备认证过程(绑定)
架构简析
  • 根据目录结构和内部文件及编译框架总结架构如下:

  • SDK:为其他业务提供软总线的能力接口,如发现设备,发布服务,设备连接,远端设备信息获取,时间同步,注册回调接收设备上下线消
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值