精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

簡析開源鴻蒙藍牙能力

系統 OpenHarmony
在開源鴻蒙的源碼里和系統功能相關的部分大多都放在Foundation這個文件夾里,而通訊相關的部分則是在Communication這個文件夾內。


??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

藍牙功能是無線短距的重要能力,在工作、生活中有很多藍牙設備,比如車載藍牙設備,藍牙耳機,藍牙鍵盤。1994年由電信商愛立信發展出這個技術,最初藍牙的設計是系統創建出一個RS-232數據線的無線通信技術替代版,能夠鏈接多個設備并克服同步問題。目前藍牙技術由藍牙技術聯盟(SIG Special Interest Group)來負責維護其技術標準,IEEE曾經將藍牙技術標準化為IEEE 802.15.1,但是這個標準已經不再繼續使用。接下來我們就深入分析下開源鴻蒙的藍牙結構和各層作用及工作內容。

概述

在開源鴻蒙的源碼里和系統功能相關的部分大多都放在foundation這個文件夾里,而通訊相關的部分則是在communication這個文件夾內。我們本篇要分析的藍牙功能就是在foundation/communication/bluetooth路徑下,具體目錄結構如下:

.
├── bundle.json
├── frameworks //框架層
├── inner
└── js
├── hisysevent.yaml
├── interfaces //接口層
├── inner_api
└── kits
├── LICENSE
├── README.md
├── README_zh.md
├── sa_profile //系統能力配置
├── 1130.xml
└── BUILD.gn
├── services //服務層
├── bluetooth
└── bluetooth_lite
└── test 測試代碼
├── example
├── fuzztest
├── moduletest
└── unittest

架構簡析

  • 根據目錄結構和內部文件及編譯框架總結架構如下:
  • 接口層:對外提供js接口,采用d.ts定義,藍牙文件夾內位置interfaces/kits/js具體存放路徑在interface/sdk-js/api/@ohos.bluetooth.d.ts;對內提供c接口,可以供softbus,netmanager,audioframework三個子系統調用,藍牙文件夾內位置interfaces/inner_api/include。
  • 框架層:分兩個子層,NAPI框架實現層,藍牙文件夾內位置foundation/communication/bluetooth/frameworks/js/napi,實現所有js層代碼接口適配并調用innerapi的實現;藍牙接口實現層,使用IPC架構同藍牙服務層通信,將從NAPI收到的命令,或者別的子系統收到的命令經由IPC架構發送給服務層,并注冊服務層observer,收聽由服務層上報的事件。
  • 服務層:分三個子層,系統能力層,藍牙文件夾內位置foundation/communication/bluetooth/services/bluetooth/server,實現藍牙系統能力服務,接收從框架層經由IPC發送下來的命令,并收聽藍牙service傳上來的消息并回傳給藍牙框架層;藍牙服務層,藍牙文件夾內位置foundation/communication/bluetooth/services/bluetooth/service,實現不同藍牙能力的adapter(包括classic_adapter和ble_adapter),通過調用藍牙協議棧實現藍牙業務的邏輯能力;藍牙協議棧,藍牙文件夾內位置foundation/communication/bluetooth/services/bluetooth/stack,實現藍牙協議包解析,打包以及藍牙協議流程的處理,實現藍牙host,藍牙profile以及藍牙鏈路和hci接口,最后通過使用藍牙硬件驅動收發藍牙原始數據。
  • 硬件驅動:預編譯包,通過dlopen提供hci的底層接口,注冊回調以及發送數據。

功能簡析

簡析開源鴻蒙藍牙能力-開源基礎軟件社區

  1. NAPI功能
  • HAP應用層通過@ohos.bluetooth.d.ts引用調用藍牙接口,藍牙接口包括bluetooth接口,BLE接口,profile接口。bluetooth接口包括經典藍牙接口,BLE接口接口,和profile接口;目前支持的profile有A2dpSourceProfile,HandsFreeAudioGatewayProfile,HidHostProfile和PanProfile。
  • NAPI框架接口均通過DECLARE_NAPI_FUNCTION,js的回調也通過此接口經由傳入回調函數指針實現。
  • NAPI層通過調用藍牙框架層的BluetoothHost實現功能,通過將g_bluetoothHostObserver注冊到框架層內部實現來獲得消息回調;同時NAPI層提供g_Observer存儲js層的回調函數,在收到框架層的回調后在g_Observer里查找對應的回調函數來實現應用通知;此對象因為是map結構體,所以一個應用只能注冊一個并在應用內部自己處理。
  1. 藍牙框架功能
  • 藍牙框架提供cadapter接口和藍牙框架具體實現(藍牙NAPI層調用的BluetoothHost即在具體實現層)。
  • cadapter實現c接口,通過BluetoothHost實現功能,其他外部模塊均通過cadapter提供的c接口調用藍牙能力。
  • 藍牙框架內部實現層提供接口一一對應cadapter和NAPI接口。BluettoothHost內部通過SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager()接口得到samgr,然后通過BLUETOOTH_HOST_SYS_ABILITY_ID標識獲取藍牙服務對象,然后通過藍牙服務對象通過IPC接口調用藍牙服務功能。
  • 藍牙框架內部提供RegisterObserver方式,允許其他層應用(比如軟總線層通過調用cadapter接口GapRegisterCallbacks收聽藍牙的回調事件)收聽藍牙回調事件。
  • 藍牙框架因為是動態庫實現,所以如果有多處依賴則會生成多份實例,如NAPI和軟總線都依賴藍牙框架庫,所以在系統里會有兩份實例同時若產生藍牙通知也會有兩個進程同時收到消息。
  1. 藍牙系統能力
  • 藍牙系統能力通過繼承SystemAbility,BluetoothHostStub兩個類實現藍牙服務能力并實現IPC進行通信;IPC通信部分的代碼在藍牙文件夾foundation/communication/bluetooth/services/bluetooth/ipc內,提供proxy和stub實現,即btipc_static.a靜態庫。
  • 藍牙系統能力可視作藍牙服務進程,提供包括藍牙狀態機,藍牙adapter(classic,ble),藍牙profile服務實例。
  • 藍牙系統配置在foundation/communication/bluetooth/services/bluetooth/etc/init目錄內,此部分內容會在制作鏡像包時打包到系統文件內去;在藍牙服務啟動的時候會讀取藍牙配置(AdapterConfig::GetInstance()->Load(),ProfileConfig::GetInstance()->Load())并確定藍牙的snooplog(協議棧輸出文件)。
  • 藍牙系統能力內部使用Dispatcher模型執行任務事務,在Dispatcher對象內部它通過線程加任務隊列的方式處理多條任務命令,目前實現方法為但線程依次處理隊列內的事務。
  • 藍牙系統能力層通過permission_utils提供應用權限保護能力,服務調用功能時首先調用PermissionUtils::VerifyXXXBluetoothPermission(XXX包括,Use,Discover,Manage,Location),然后調用AuthCenter對應功能,最后調用PermissionHelper對應接口確認權限;在AuthCenter里內部定義了g_permissionAlwaysGrant全局變量,可以方便調試時擁有所有權限。
  1. 藍牙協議棧
  • 藍牙協議棧通過c接口對藍牙服務層提供接口。
  • 藍牙協議棧內部他提供任務隊列方式處理藍牙命令(GapRunTaskBlockProcess, GapRunTaskUnBlockProcess),分別對于藍牙協議棧同步接口和異步接口。
  • 藍牙協議棧內部也有層級,對上的是gap,中間是btm,對下的是hci,中間部分和其他藍牙協議站定義的內容一致,如:att,avctp,avdtp,l2cap,rfcomm,sdp,smp。
  • HCI層它通過g_hdiLib加載藍牙驅動庫libbluetooth_hdi_adapter.so,并通過加載藍牙驅動接口(HdiInit,HdiSendHciPacket,HdiClose)實現藍牙數據發送,藍牙數據接收(g_hdiCallacks)。

總結

  1. 藍牙服務的結構也是所有開源鴻蒙的結構能力,大致流程均為:NAPI框架,系統服務框架,IPC框架,Observer框架,原生driver框架(其實可以采用HDF框架)。
  2. 目前開源鴻蒙用的藍牙協議站不是android,bluez,btstack這三種主流藍牙協議棧,根據注釋可得其參考《BLUETOOTH SPECIFICATION Version 5.0》實現;目前官方最新的協議棧是v5.3,參考鏈接如下:https://www.bluetooth.com/specifications/specs/core-specification-5-3/。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2010-09-10 09:52:44

開源協議棧

2022-11-08 15:43:45

開源鴻蒙藍牙協議棧

2022-11-28 15:42:39

分布式軟總線鴻蒙

2022-11-22 15:15:46

Wi-Fi鴻蒙

2012-05-29 13:43:36

紫光清華掃描儀

2024-06-20 13:00:26

2011-07-12 14:04:58

2023-06-25 12:17:44

2010-09-13 16:58:13

2010-09-08 16:25:39

SIP協議棧

2009-06-08 21:25:29

Java聲音技術

2013-12-05 10:13:25

iOS圖標

2010-04-19 12:28:57

2010-04-12 15:39:37

無線接入技術應用

2010-05-07 12:39:05

SQL Server負載均衡

2010-06-21 14:05:08

Linux APM

2009-08-13 15:48:57

C#指針

2011-07-20 10:20:04

2011-07-22 11:05:15

光纖通信

2022-06-04 16:11:14

勒索軟件加密Nokoyawa
點贊
收藏

51CTO技術棧公眾號

日本美女久久久| 区一区二区三区中文字幕| 国产免费美女视频| 91精品久久久久久综合五月天| 亚洲一区二区在线观看视频| 久久99蜜桃综合影院免费观看| 狠狠人妻久久久久久| 日韩免费视频| 精品欧美一区二区三区精品久久| 国产在线观看福利| 成人在线播放免费观看| 成人精品视频.| 国产97在线|亚洲| 久久久精品视频免费观看| 欧美调教在线| 欧美一级高清片| 一本大道熟女人妻中文字幕在线| 91啦中文在线| 成人精品亚洲人成在线| 国产精品福利网| 欧美日韩精品一区二区三区视频播放 | 中文字幕福利视频| 一区在线播放| 色播久久人人爽人人爽人人片视av| 伊人影院在线观看视频| se69色成人网wwwsex| 亚洲一区在线观看视频| 一区二区不卡在线观看| 激情在线视频| 91年精品国产| 国产精品视频在线免费观看| 国产精品久久久久久久久久久久久久久久久久 | 亚洲国产精品久久久久久6q | 香蕉网在线视频| 国产精品字幕| 狠狠色狠色综合曰曰| 91网站在线观看免费| 中文字幕在线播放| 国产日韩欧美不卡| 麻豆成人在线播放| 国产 日韩 欧美 综合| 国内精品视频666| 国产精品高潮呻吟久久av无限| 日韩在线视频免费播放| 国产精品hd| 欧美精品一区二区三区国产精品 | 欧美独立站高清久久| 亚洲精品在线免费观看视频| 麻豆精品国产传媒| 欧美性www| 欧美日韩视频专区在线播放| 欧美日韩亚洲一二三| 日韩伦理三区| 日韩欧美亚洲综合| av动漫免费看| 黄色亚洲网站| 欧洲一区二区三区免费视频| 久久久久久久久久久久久国产精品 | 亚洲欧美激情在线观看| 国产不卡在线视频| av一区和二区| 国产 日韩 欧美 综合| 成人精品视频.| 精品国产91亚洲一区二区三区www| 亚洲精品久久久蜜桃动漫| 成人性生交大片免费看中文| 成人av资源| 黄色一级大片在线免费看国产一| 粉嫩一区二区三区在线看| 国产精品久久久久久久久久久久冷| 朝桐光av在线一区二区三区| 懂色av一区二区夜夜嗨| 国精产品一区二区| 婷婷婷国产在线视频| 久久久久亚洲综合| 神马一区二区影院| 麻豆传媒在线观看| 亚洲制服丝袜av| 国产在线精品91| 久久精品女人天堂av免费观看| 欧美亚洲日本国产| 国产在线观看中文字幕| 97品白浆高清久久久久久| 日韩精品久久久久久福利| 丰腴饱满的极品熟妇| 久久精品不卡| 久久久久久久爱| 青青视频在线免费观看| 久久99国内精品| 成人免费观看网站| 人成在线免费视频| 自拍偷拍亚洲欧美日韩| 被灌满精子的波多野结衣| 芒果视频成人app| 337p亚洲精品色噜噜狠狠| 亚洲美女在线播放| blacked蜜桃精品一区| 久久av红桃一区二区小说| 久草国产在线观看| 日韩av在线免费观看不卡| 成人自拍性视频| 性猛交xxxx| 国产精品国产三级国产| www.日本在线播放| 色8久久久久| 日韩高清有码在线| 免费高清在线观看电视| 国产精品色网| 99re在线播放| 91社区在线观看播放| 午夜精品免费在线观看| 爱爱爱爱免费视频| 日韩黄色网络| 欧美疯狂做受xxxx高潮| 精人妻无码一区二区三区| 粉嫩久久99精品久久久久久夜| 日韩午夜视频在线观看| 男插女视频久久久| 在线观看国产精品网站| 三级视频网站在线观看| 一精品久久久| 国产精品久久久久77777| 欧美自拍第一页| 中文字幕亚洲不卡| 欧美污视频网站| 欧美偷窥清纯综合图区| 欧美国产一区二区三区| 一级做a爱片性色毛片| 久久综合资源网| av日韩在线看| 最新日韩免费视频| 日本电影全部在线观看网站视频| 亚洲国产成人av| 国产高清999| 日韩不卡一区| 国产精品旅馆在线| 国产玉足榨精视频在线观看| 亚洲成人动漫在线观看| 伦伦影院午夜理论片| 欧美残忍xxxx极端| 国产精品一二三视频| 国产福利片在线| 色婷婷激情久久| 中文字幕在线观看的网站| 激情国产一区| 国产99视频精品免费视频36| 91中文在线| 91精品国产欧美一区二区| 战狼4完整免费观看在线播放版| 久久永久免费| 日韩高清dvd| 欧洲一级精品| 中文国产成人精品久久一| 日韩电影在线观看一区二区| 久久久精品免费观看| 国产男女无遮挡| 精品日本12videosex| 国产成人avxxxxx在线看| 国产女人在线视频| 欧美最猛性xxxxx直播| 亚洲第一综合网| 麻豆91在线观看| 午夜啪啪福利视频| 日韩欧美久久| 97视频在线播放| 精品成人一区二区三区免费视频| 色婷婷激情久久| 亚洲欧洲综合网| 搡老岳熟女国产熟妇| 成人中文字幕电影| 日本人体一区二区| 色爱综合av| 国产精品高潮呻吟视频| 在线视频1区2区| 这里只有精品99re| 国产精品99无码一区二区| 国产999精品久久久久久绿帽| 国产一区二区视频播放| 青草久久视频| 国产精品男人的天堂| 国产cdts系列另类在线观看| 欧美不卡在线视频| 天天操天天摸天天干| 久久免费偷拍视频| 亚洲色图 在线视频| 中文字幕一区二区三区乱码图片 | 日本国产精品| 国产精品久久久av| 午夜小视频福利在线观看| 亚洲精品国产福利| 自拍偷拍第八页| 伊人色综合久久天天人手人婷| 男女一区二区三区| 日韩成人免费在线| 91免费版看片| 国产精品嫩模av在线| 91最新在线免费观看| missav|免费高清av在线看| 亚洲视频在线观看视频| 精品国自产在线观看| 色综合天天狠狠| 天天操天天操天天操天天操天天操| 91在线国产福利| 九九九九九国产| 亚洲自啪免费| 久久福利一区二区| 欧美精品一二| 国产九色精品| 精品999日本久久久影院| 91av视频在线观看| 国产激情在线观看| 亚洲一区第一页| 蜜臀av午夜精品| 欧美高清激情brazzers| www.久久久久久久| 亚洲国产精品欧美一二99| 国产精品成人在线视频| 91视频精品在这里| 日本一级大毛片a一| 久久精品国产精品青草| 美女网站免费观看视频| 伊人精品视频| 红桃一区二区三区| 色135综合网| 日韩精品一区二区三区色偷偷| 国产亚洲成av人片在线观黄桃| 91在线观看免费| 黄色成人在线观看网站| 日本一区二区不卡| 小草在线视频免费播放| 久久久中文字幕| 美女网站视频在线| 麻豆成人在线看| 免费在线你懂的| 中文字幕亚洲欧美日韩高清| 日韩一二三四| 精品国产1区二区| 国产成人三级在线播放| 欧美二区在线观看| 91精品视频免费在线观看| 色哟哟一区二区在线观看| 精品无码久久久久久久| 中文字幕一区三区| 无码人妻精品中文字幕| 中文字幕亚洲精品在线观看| 女教师淫辱の教室蜜臀av软件| 国产精品嫩草影院av蜜臀| 色哟哟精品观看| 国产日韩亚洲欧美综合| 在线观看日本中文字幕| 国产无一区二区| 波多野结衣家庭教师在线观看| 国产精品无遮挡| 国产三级精品三级观看| 中文字幕在线免费不卡| 四虎精品免费视频| 亚洲美女屁股眼交3| 在线免费日韩av| 亚洲一区二区三区美女| 国产一级视频在线观看| 五月天激情综合| 在线观看 亚洲| 欧美日韩一区不卡| 国产毛片久久久久| 精品久久久久一区| 桃花色综合影院| 国产亚洲a∨片在线观看| 亚洲麻豆精品| 欧美另类精品xxxx孕妇| sm久久捆绑调教精品一区| 91精品国产自产91精品| 91精品店在线| 18成人在线| 日韩av三区| 亚洲第一导航| 欧美国产精品| 日本一本二本在线观看| 蜜臀久久99精品久久久画质超高清| 在线视频一二区| 99久久久久久| 日本猛少妇色xxxxx免费网站| 亚洲欧美另类久久久精品2019| 国产一级在线播放| 色婷婷久久久久swag精品| 99热精品在线播放| 日韩精品一区二区三区第95| 国产福利在线| 久久久久久美女| 日韩毛片一区| 超碰97在线资源| 国产中文字幕一区二区三区 | 在线亚洲观看| 亚洲 国产 图片| 91视视频在线观看入口直接观看www | 9191国语精品高清在线| 黄色一级片播放| 国产综合久久久久久鬼色| free性中国hd国语露脸| 亚洲欧美日韩国产手机在线 | 韩国成人免费视频| 国产精品久久久91| 国产精品45p| 自拍亚洲欧美老师丝袜| 新狼窝色av性久久久久久| 91视频福利网| 国产日韩欧美a| 国产女同在线观看| 91精品国产手机| 成人午夜在线观看视频| 国自产精品手机在线观看视频| jizzyou欧美16| 免费看国产精品一二区视频| 欧美阿v一级看视频| 中文字幕在线观看第三页| 北条麻妃一区二区三区| 永久免费看片视频教学| 欧美在线观看视频一区二区| 五月激情婷婷网| 欧美风情在线观看| 国产精品久久久久久久久久辛辛| 欧美在线激情| 亚洲高清网站| 中文字幕久久久久久久| 亚洲欧洲精品一区二区三区| 国产熟妇一区二区三区四区| 亚洲国产精品久久精品怡红院| 中日韩高清电影网| 国产在线视频欧美| 日本一区二区三区视频| 色综合av综合无码综合网站| 99国产精品国产精品久久| 国产精彩视频在线观看| 欧美一区二区三区在线| 久久久久久久久免费视频| 国产精品成人播放| 精品日韩一区| 成人免费无码av| 国产日产欧美一区二区视频| 亚洲精品男人的天堂| 精品一区电影国产| 9999精品成人免费毛片在线看| www.成人三级视频| 欧美一区二区| 午夜性福利视频| 亚洲愉拍自拍另类高清精品| 精品美女www爽爽爽视频| 久久综合亚洲社区| 24小时成人在线视频| 一本一生久久a久久精品综合蜜| 奇米一区二区三区av| eeuss中文字幕| 欧美精品v日韩精品v韩国精品v| 欧美一区二区三区在线观看免费| 国产欧美va欧美va香蕉在| 青青草综合网| 日本高清一区二区视频| 亚洲免费观看高清完整版在线观看| 精品久久久免费视频| 欧美黄色性视频| 日本福利一区| 手机看片福利盒子久久| 中文字幕免费在线观看视频一区| 中文字幕久久网| 久久在线免费视频| 97久久超碰| 亚洲成熟丰满熟妇高潮xxxxx| 国产欧美日韩在线| 一级爱爱免费视频| 久久影院中文字幕| 成人h动漫免费观看网站| 精品少妇一区二区三区在线| 久久婷婷色综合| 在线视频免费观看一区| 亚洲一区二区三区爽爽爽爽爽 | 久久国产免费视频| 亚洲主播在线播放| 深夜福利视频在线观看| 国产精品第一区| 伊人久久大香线蕉综合四虎小说 | 久久久精品麻豆| 亚洲少妇中出一区| 蜜桃av噜噜一区二区三区麻豆| 欧美在线欧美在线| 日韩三级在线| 超碰caoprom| 欧美日韩黄视频| av2020不卡| 亚洲欧洲日韩综合二区| 国产成人aaa| 日本欧美www| 欧美激情2020午夜免费观看| 国产区精品区| 黑人无套内谢中国美女| 精品久久久一区| 黄色一级片在线观看| 久久久亚洲综合网站| 精品在线播放午夜| 99热在线观看免费精品| 久久久国产一区二区三区| 欧洲亚洲一区二区三区|