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

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

3天内不再提示

【鸿蒙】OpenHarmony 4.0蓝牙代码结构简析

王程 来源:jf_75796907 作者:jf_75796907 2024-02-26 16:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OpenHarmony 4.0蓝牙代码结构简析前言

OpenHarmony 4.0上蓝牙仓和目录结构进行一次较大整改,本文基于4.0以上版本对蓝牙代码进行分析,便于读者快速了解和学习OpenHarmony蓝牙模块

代码仓和目录结构

当前蓝牙完整的代码涉及多个代码仓
代码路径
说明

应用接口https://gitee.com/openharmony/interface_sdk-js/tree/master/api当前所有应用层接口统一归并到interface仓;api 10中蓝牙接口按照profile拆分了多个d.ts文件

框架层https://gitee.com/openharmony/communication_bluetooth该仓之前包含框架层和系统服务层代码;架构拆分后只保留框架层代码

系统服务层https://gitee.com/openharmony/communication_bluetooth_service

驱动https://gitee.com/openharmony/drivers_peripheral/bluetoothIDL模式,蓝牙驱动接口实现;接口定义在https://gitee.com/openharmony/drivers_interface/bluetooth;完整的代码还应该包括vendor(蓝牙芯片)代码,如dayu200的vendor代码在https://gitee.com/openharmony/vendor_hihope/tree/master/rk3568

系统服务层代码仓目录相对较多,目录划分原则和功能描述如下

wKgZomXcRo6AFtQ8AAIhJd6EgqI689.png

架构及进程部

wKgZomXcRpaAdtGNAADRUxpX_CU918.png


1、蓝牙模块按照OpenHarmony系统架构分层原则进行分层
2、框架层分为JSAPI和NativeAPI,JSAPI用于用户APP调用;NativeAPI生成btframework.so,供其它系统服务(net_manager…)调用;部署在调用者进程
3、系统服务层内部分为5层,分别对应目录结构中描述的5个目录;部署在蓝牙系统服务进程
4、驱动进程中部署Hdi和Vendor模块;和蓝牙芯片对接,在蓝牙系统服务进程和蓝牙芯片间处理报文收发

版本间差异

1、原来蓝牙框架层和系统服务层都在bluetooth代码仓,现在拆分成了bluetooth和bluetooth_service两个仓;主要理念是考虑可以方便替换或升级蓝牙系统服务层的实现;比如厂商可以使用私有的蓝牙协议实现,只需要框架层接口保持一致即可
2、为了减少应用程序的运行内存和程序加载速度,JSAPI按照profile拆分出了多个so;应用程序可以按需最小引用蓝牙模块功能

总结

本文基于OpenHarmony 4.0版本对蓝牙代码架构/目录分层原则做了简单分析,同时分析了4.0版本的重要改动点

为了能让大家更好的学习鸿蒙 (OpenHarmony) 开发技术,这边特意整理了《鸿蒙 (OpenHarmony)开发学习手册》,希望对大家有所帮助:

《鸿蒙(Harmony OS)开发学习手册》

入门必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.应用开发导读(ArKTS)
2.……

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系统定义
2.技术框架
3.技术特性
4.系统安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入门:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.构建第一个ArkTS应用
3.…

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

开发基础知识:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于ArkTS 开发:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16………

wKgZomXW6RKATahiAAKz-zSMnR4040.png


审核编辑 黄宇

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

    关注

    119

    文章

    6433

    浏览量

    179609
  • 鸿蒙
    +关注

    关注

    60

    文章

    3075

    浏览量

    46285
  • OpenHarmony
    +关注

    关注

    33

    文章

    3990

    浏览量

    21498
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开源鸿蒙开发者大会 | 匠芯创OpenHarmony轻智能方案,让带屏开发告别繁琐

    5月28日,以“AI@OpenHarmony”为主题的开源鸿蒙开发者大会2026在广州隆重举行。大会汇聚全球顶尖开发者、生态伙伴与行业专家,共探AI时代下开源操作系统的技术演进与生态建设之路。作为
    的头像 发表于 05-28 19:12 129次阅读
    开源<b class='flag-5'>鸿蒙</b>开发者大会 | 匠芯创<b class='flag-5'>OpenHarmony</b>轻智能方案,让带屏开发告别繁琐

    喜报!深开鸿五大项目入选“2026 年度OpenHarmony领先商用实践案例”

    OpenHarmony领先商用实践案例”,分别为基于开源鸿蒙的智慧隧道(冀鸿)、基于开源鸿蒙的(华东)自主生态培育与应用创新示范项目、基于开鸿1+1安全数字底座的
    的头像 发表于 05-26 19:41 256次阅读
    喜报!深开鸿五大项目入选“2026 年度<b class='flag-5'>OpenHarmony</b>领先商用实践案例”

    拓维信息亮相鸿蒙生态峰会,开源鸿蒙产业生态发展全面提速

    4月28日,第九届数字中国建设峰会召开之际,鸿蒙生态峰会在福州海峡国际会展中心同期举行。本次峰会聚焦OpenHarmony(开源鸿蒙)生态建设与落地实践,共同探讨OpenHarmony
    的头像 发表于 04-29 18:33 313次阅读
    拓维信息亮相<b class='flag-5'>鸿蒙</b>生态峰会,开源<b class='flag-5'>鸿蒙</b>产业生态发展全面提速

    触觉智能Purple Pi OH开发板率先适配OpenHarmony6.0 Release,鸿蒙明星开发板

    2025年9月19日,在官网上线开源鸿蒙OpenHarmony6.0Release仅13天,触觉智能宣布旗下PurplePiOH开发板成功完成OpenHarmony6.0Release系统适配。这一
    的头像 发表于 10-29 08:00 1243次阅读
    触觉智能Purple Pi OH开发板率先适配<b class='flag-5'>OpenHarmony</b>6.0 Release,<b class='flag-5'>鸿蒙</b>明星开发板

    【置顶公告】视美泰开源鸿蒙系列产品业务咨询与商务合作通道正式开启!

    尊敬的电子发烧友社区成员、合作伙伴及行业同仁: 视美泰作为开源鸿蒙OpenHarmony)生态的积极推动者,始终致力于为行业提供高性能、高可靠性的智能硬件解决方案及生态赋能服务。为进一步深化
    发表于 10-20 16:23

    开源鸿蒙6.0 Release版本重磅发布

    近日,在长沙国际会议中心举办的开源鸿蒙技术大会2025上,开放原子开源鸿蒙(即OpenAtom OpenHarmony,简称“开源鸿蒙”)项目群正式发布开源
    的头像 发表于 10-10 16:49 3259次阅读

    触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例

    本文介绍OpenHarmony开源鸿蒙系统的USB控制传输功能实现及相关代码示例,基于触觉智能RK3576开发板PurplePiOH2演示。OpenHarmony的USB通信介绍实现
    的头像 发表于 09-30 16:31 1937次阅读
    触觉智能RK3576开发板<b class='flag-5'>OpenHarmony</b>开源<b class='flag-5'>鸿蒙</b>系统USB控制传输功能示例

    鸿蒙6.0系统星闪蓝牙入口合并

    有数码博主爆料称在华为鸿蒙 HarmonyOS 6.0 系统 Beta3 版本的部分场景操作视频中可以看到,星闪和蓝牙的功能入口和功能页面已经合并。  
    的头像 发表于 09-01 16:59 1139次阅读

    视美泰受邀出席2025鸿蒙生态大会,共绘OpenHarmony商业显示新图景

    OpenHarmony)的创新解决方案惊艳亮相,以技术深度与落地实力引发行业关注。更有视美泰国产化事业部总经理柏威先生发表主题演讲,揭秘企业在开源鸿蒙领域的战略布局与技术突破。鸿蒙
    的头像 发表于 09-01 16:02 5966次阅读
    视美泰受邀出席2025<b class='flag-5'>鸿蒙</b>生态大会,共绘<b class='flag-5'>OpenHarmony</b>商业显示新图景

    知乎开源“智能预渲染框架” 几行代码实现鸿蒙应用页面“秒开”

    近日,知乎在Gitee平台开源了其自研的鸿蒙“智能预渲染框架”,并将该框架的Har包上架到OpenHarmony三方库中心仓。该框架在鸿蒙平台首创“智能预渲染”技术,旨在破解应用复杂页面加载缓慢
    的头像 发表于 08-29 14:32 783次阅读
    知乎开源“智能预渲染框架” 几行<b class='flag-5'>代码</b>实现<b class='flag-5'>鸿蒙</b>应用页面“秒开”

    开源鸿蒙共建地图4.0重磅发布

    近日,在2025开放原子开源生态大会开源鸿蒙主题演讲活动上,《开源鸿蒙共建地图4.0》重磅发布,标志着开源鸿蒙在技术体系、系统能力和生态共建方面迈入全新阶段。活动现场,开放原子开源基金
    的头像 发表于 07-28 17:45 1047次阅读

    Modbus与MQTT的区别

    Modbus和MQTT是工业领域中两种不同的通信协议,在设计目标、应用场景、通信模式等方面存在显著差异,以下从多个维度两者的区别: 1.设计目标与起源 Modbus 诞生于1979年,由施耐德
    的头像 发表于 07-10 14:10 1356次阅读

    迅为RK3568开发板基本工程目录-OpenHarmony APP工程结构

    在进行 OpenHarmony 应用/服务开发前,我们应该掌握 OpenHarmony 应用/服务的逻辑结构OpenHarmony 应用/服务发布形态为 APP Pack
    发表于 07-07 15:04

    开源鸿蒙开发必备!OpenHarmony替换Full SDK全攻略

    本文介绍开源鸿蒙OpenHarmony替换FullSDK的方法,演示设备为触觉智能PurplePiOH鸿蒙开发板获取FullSD
    的头像 发表于 06-06 18:11 1134次阅读
    开源<b class='flag-5'>鸿蒙</b>开发必备!<b class='flag-5'>OpenHarmony</b>替换Full SDK全攻略

    触觉智能鸿蒙开发板率先通过OpenHarmony5.0认证(生态产品兼容性证书)

    触觉智能PurplePiOH鸿蒙开发板继4.1版本XTS认证火速出圈后,再次狂飙!成功通过OpenHarmony5.0ReleaseXTS认证,成为首批开放原子基金会生态产品之一。这一认证标志着其在
    的头像 发表于 06-06 17:54 1555次阅读
    触觉智能<b class='flag-5'>鸿蒙</b>开发板率先通过<b class='flag-5'>OpenHarmony</b>5.0认证(生态产品兼容性证书)