OpenHarmony软总线总体功能简要介绍

一、软总线介绍


        设备间可以通过以太网、WiFi、蓝牙等方式通信。网络通信下,需要在两个设备端分别执行常用的socket通信流程;蓝牙通信也是需要分别执行蓝牙通信步骤,配对,通信等。而且在通信建立之前,对于通信安全、设备认证等操作都需要单独的系统来处理。
        软总线的主要目标就是简化、统一上述过程。在软总线中管理设备认证、组网、通信。开发者不再需要处理设备信任问题,处理创建socket、考虑事件循环等网络编程底层逻辑,不同通信方式差异等,只需要简单调用软总线提供的接口即可。

二、软总线整体架构图

 

sdk:按软总线模块划分为discovery, bus_center, transmission, frame四个大的部分

  •   discovery 发布发现
  •   bus_center 组网
  •   transmission 传输
  •   frame 初始化管理客户端,以及ipc回调stub实现

core:软总线服务端,同样也划分了discovery, bus_center, transmission, authentication, frame, connection等部分

  • frame 服务端初始化,以及ipc stub实现
  • discovery 发布发现
  • bus_center 组网、网络节点信息、通信链路信息、拓扑信息管理等
  • transmission 传输
  • authentication 认证
  • connection 通用连接api实现

三、软总线代码通用套路

  1. 在每个ipc目录下面都包括mini、small、standard三个目录,分别对应轻量系统、小型系统和标准系统中ipc通信处理逻辑。L2系统对应查看standard下代码。
  2. sdk目录中通常包含service和manager,其中service为对外接口的实现,manager为具体的逻辑实现。
  3. 软总线代码中包含很多以virtual命名的源文件,virtual中函数大部分是空函数。实现virtual文件的目的就是用来做逻辑适配,在编译文件gn中根据当前配置设备能力选择编译virtual文件。这样做省掉了宏定义,简化代码。


四、软总线代码整体介绍


├─adapter  软总线调用其他系统能力的接口适配层
│  ├─common
│  │  ├─bus_center
│  │  │  ├─driver  与驱动交互适配
│  │  │  ├─include
│  │  │  ├─network  监听网络状态变化,eth0/wlan0通过netlink监听,蓝牙则监听蓝牙状态变化
│  │  │  ├─platform  获取设备信息
│  │  │  ├─screenstate 监听屏幕状态变化
│  │  │  └─wlan 监听WiFi状态变化
│  │  ├─dfx
│  │  ├─include
│  │  │  └─OS_adapter_define
│  │  │      └─linux
│  │  ├─kernel
│  │  │  └─liteos_a
│  │  ├─log  软总线日志处理
│  │  ├─mbedtls  加解密
│  │  ├─net
│  │  │  ├─bluetooth  蓝牙ble处理适配,广播,gatt client / server
│  │  │  │  ├─ble
│  │  │  │  ├─common
│  │  │  │  └─include
│  │  │  ├─hdi
│  │  │  │  ├─common
│  │  │  │  └─include
│  │  │  └─wifi  WiFi处理适配
│  │  │      ├─common
│  │  │      └─include
│  │  ├─openssl 加解密
│  │  └─range
│  └─default_config  软总线配置信息处理
│      ├─feature_co

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

togolife

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值