簡介
藍牙服務組件為設備提供接入與使用Bluetooth的相關接口,包括BLE設備gatt相關的操作,以及BLE廣播、掃描等功能。
目錄
/foundation/communication/bluetooth
├── interfaces # 接口代碼
│ └── innerkits # 系統服務接口存放目錄
│ ├── native_c # C接口存放目錄
│ │ └── include # C接口定義目錄
│ └── native_cpp # C++接口存放目錄
│── sa_profile # 藍牙服務定義目錄
│── services # 藍牙服務代碼目錄
└── LICENSE # 版權聲明文件
約束
藍牙服務組件使用C語言編寫。
說明
現在提供的是BLE相關接口及GAP基本開關藍牙的接口,其它接口暫不提供。
標準系統使用說明
標準系統提供C接口定義及服務和協議棧的代碼,目前提供的只有BLE相關的接口,包括BLE設備gatt相關的操作,以及BLE廣播、掃描等功能,其它A2DP,AVRCP,HFP等相關接口在后續增量發布。
標準系統使用目錄如下:
輕量或小型系統使用說明
輕量或小型系統只提供C接口定義,目前只有BLE相關接口,包括BLE設備gatt相關的操作,以及BLE廣播、掃描等功能,其它A2DP,AVRCP,HFP等相關接口在后續增量發布。
輕量或小型系統使用目錄如下:
interfaces/innerkits/native_c/include
C接口使用說明
- 打開/關閉藍牙:
/* 打開傳統藍牙 */
bool EnableBt(void);
/* 關閉傳統藍牙 */
bool DisableBt(void);
/* 打開低功耗藍牙 */
bool EnableBle(void);
/* 關閉低功耗藍牙 */
bool DisableBle(void);
- 獲取藍牙狀態
/* 獲取傳統藍牙狀態 */
int GetBtState();
/* 判斷低功耗藍牙狀態 */
bool IsBleEnabled();
- 獲取本端Mac地址
/* 獲取mac地址 */
bool GetLocalAddr(unsigned char *mac, unsigned int len);
- 設置本端設備名稱
/* 設置本端設備名稱 */
bool SetLocalName(unsigned char *localName, unsigned char length);
- 設備需要完成以下接口的開發步驟,以使能Gatt server功能并開啟服務:
/* 初始化藍牙協議棧 */
int InitBtStack(void);
int EnableBtStack(void);
/* 注冊應用,appUuid由應用提供 */
int BleGattsRegister(BtUuid appUuid);
/* 添加服務 */
int BleGattsAddService(int serverId, BtUuid srvcUuid, bool isPrimary, int number);
/* 添加特征值 */
int BleGattsAddCharacteristic(int serverId, int srvcHandle, BtUuid characUuid, int properties, int permissions);
/* 添加描述符 */
int BleGattsAddDescriptor(int serverId, int srvcHandle, BtUuid descUuid, int permissions);
/* 開始服務 */
int BleGattsStartService(int serverId, int srvcHandle);
- 設備需要完成以下接口的開發步驟,以使能BLE廣播的發送:
/* 設置廣播數據 */
int BleSetAdvData(int advId, const BleConfigAdvData *data);
/* 開始發送廣播 */
int BleStartAdv(int advId, const BleAdvParams *param);
- 若需要掃描功能,設備需要完成以下接口的開發步驟,以使能BLE掃描功能:
/* 設置掃描參數 */
int BleSetScanParameters(int clientId, BleScanParams *param);
/* 開始掃描 */
int BleStartScan(void);
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
接口
+關注
關注
33文章
8961瀏覽量
153265 -
藍牙
+關注
關注
116文章
6042瀏覽量
173282 -
鴻蒙
+關注
關注
59文章
2534瀏覽量
43803 -
Harmony
+關注
關注
0文章
64瀏覽量
2904
發布評論請先 登錄
相關推薦
熱點推薦
鴻蒙5開發寶藏案例分享---Swiper組件性能優化實戰
鴻蒙寶藏:Swiper組件性能優化實戰,告別卡頓丟幀!
大家好!最近在鴻蒙開發時,偶然發現了官方文檔里埋藏的 性能優化寶藏案例 ,尤其是&l
發表于 06-12 17:53
鴻蒙5開發寶藏案例分享---瀑布流優化實戰分享
以下是根據鴻蒙官方瀑布流優化案例整理的非官方技術分享,結合開發實戰經驗重新解讀,加入更多場景分析和代碼示例:
?** 鴻蒙瀑布流性能優化實戰
發表于 06-12 17:41
鴻蒙5開發寶藏案例分享---Web加載時延優化解析
當然可以!下面是一篇詳細、易懂的文章,結合鴻蒙官方案例和實際代碼,幫你深入理解Web加載完成時延的優化技巧?
?** 鴻蒙開發寶藏:Web加載完成時延優化實戰**
大家好呀!今天在翻
發表于 06-12 17:11
鴻蒙5開發寶藏案例分享---性能優化案例解析
鴻蒙性能優化寶藏指南:實戰工具與代碼案例解析
大家好呀!今天在翻鴻蒙開發者文檔時,意外挖到一個 性能優化寶藏庫 ——原來官方早就提供了超多實用工具和案例,但很多小伙伴可能沒發現!這篇就
發表于 06-12 16:36
鴻蒙5開發寶藏案例分享---埋點開發實戰指南
鴻蒙埋點開發寶藏指南:官方案例實戰解析,輕松搞定數據追蹤!
大家好呀!我是HarmonyOS開發路上的探索者。最近在折騰應用埋點時,意外發現了鴻蒙
發表于 06-12 16:30
鴻蒙5開發寶藏案例分享---切面編程實戰揭秘
鴻蒙切面編程(AOP)實戰指南:隱藏的寶藏功能大揭秘!
大家好!今天在翻鴻蒙開發者文檔時,意外發現了官方埋藏的「切面編程」寶藏案例!實際開發
發表于 06-12 16:21
鴻蒙5開發寶藏案例分享---應用架構實戰技巧
鴻蒙應用架構實戰:分層設計與線程通信詳解
大家好! 今天咱們聊聊鴻蒙開發中那些“官方文檔提了但實際開發難找”的架構設計技巧。結合官方文檔(鏈
發表于 06-12 16:14
鴻蒙5開發寶藏案例分享---一多分欄開發實踐
?【HarmonyOS開發者的寶藏指南】一次搞定多設備分欄布局,原來還能這么玩!
大家好呀!今天在鴻蒙社區挖到一個超實用的大寶藏——原來官方早就藏了一堆分欄布局的實戰案例!作為被多端適配折磨
發表于 06-03 12:03
開源啦!!!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來一起共創
的地方請大家高抬貴手,寬容一下,謝謝。
這次主要是給大家帶來一個重磅消息,就是我自己使用鴻蒙ArkTS語法開發的圖表組件今日正式開源了。為什么?原因有兩點吧!
鴻蒙是國產的操作系統,
發表于 03-15 15:21
鴻蒙Flutter實戰:14-現有Flutter 項目支持鴻蒙 II
分別安裝官方的3.22版本,以及鴻蒙社區的 3.22.0 版本
3.搭建 Flutter鴻蒙開發環境
參考文章《鴻蒙Flutter實戰:0
發表于 12-26 14:59
鴻蒙Flutter實戰:11-使用 Flutter SDK 3.22.0
# 使用 Flutter SDK 3.22.0
## SDK 安裝
參考[鴻蒙Flutter實戰:01-搭建開發環境]文章的說明,首先安裝 Flutter SDK 3.22.0。
目前鴻
發表于 11-01 15:03
鴻蒙Flutter實戰:09-現有Flutter項目支持鴻蒙
# 鴻蒙Flutter實戰:現有Flutter項目支持鴻蒙
## 背景
原來使用Flutter開發的項目,需要適配鴻蒙。
## 環境搭
發表于 10-23 16:36
鴻蒙Flutter實戰:08-如何調試代碼
# 鴻蒙Flutter實戰:如何調試代碼
## 1.環境搭建
參考文章[鴻蒙Flutter實戰:01-搭建開發環境](https://g
發表于 10-23 16:29
鴻蒙Flutter實戰:07混合開發
# 鴻蒙Flutter實戰:混合開發
鴻蒙Flutter混合開發主要有兩種形式。
## 1.基于har
將flutter module
發表于 10-23 16:00
評論