0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【藍(lán)牙組件】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-13 17:27 ? 次閱讀

簡(jiǎn)介

藍(lán)牙服務(wù)組件為設(shè)備提供接入與使用Bluetooth的相關(guān)接口,包括BLE設(shè)備gatt相關(guān)的操作,以及BLE廣播、掃描等功能。

目錄

/foundation/communication/bluetooth
├── interfaces                               # 接口代碼
│    └── innerkits                           # 系統(tǒng)服務(wù)接口存放目錄
│        ├── native_c                        # C接口存放目錄
│        │   └── include                     # C接口定義目錄
│        └── native_cpp                      # C++接口存放目錄
│── sa_profile                               # 藍(lán)牙服務(wù)定義目錄
│── services                                 # 藍(lán)牙服務(wù)代碼目錄
└── LICENSE                                  # 版權(quán)聲明文件

約束

藍(lán)牙服務(wù)組件使用C語(yǔ)言編寫(xiě)。

說(shuō)明

現(xiàn)在提供的是BLE相關(guān)接口及GAP基本開(kāi)關(guān)藍(lán)牙的接口,其它接口暫不提供。

標(biāo)準(zhǔn)系統(tǒng)使用說(shuō)明

標(biāo)準(zhǔn)系統(tǒng)提供C接口定義及服務(wù)和協(xié)議棧的代碼,目前提供的只有BLE相關(guān)的接口,包括BLE設(shè)備gatt相關(guān)的操作,以及BLE廣播、掃描等功能,其它A2DP,AVRCP,HFP等相關(guān)接口在后續(xù)增量發(fā)布。

標(biāo)準(zhǔn)系統(tǒng)使用目錄如下:

輕量或小型系統(tǒng)使用說(shuō)明

輕量或小型系統(tǒng)只提供C接口定義,目前只有BLE相關(guān)接口,包括BLE設(shè)備gatt相關(guān)的操作,以及BLE廣播、掃描等功能,其它A2DP,AVRCP,HFP等相關(guān)接口在后續(xù)增量發(fā)布。

輕量或小型系統(tǒng)使用目錄如下:

interfaces/innerkits/native_c/include

C接口使用說(shuō)明

  • 打開(kāi)/關(guān)閉藍(lán)牙:
/* 打開(kāi)傳統(tǒng)藍(lán)牙 */
bool EnableBt(void);
/* 關(guān)閉傳統(tǒng)藍(lán)牙 */
bool DisableBt(void);
/* 打開(kāi)低功耗藍(lán)牙 */
bool EnableBle(void);
/* 關(guān)閉低功耗藍(lán)牙 */
bool DisableBle(void);
  • 獲取藍(lán)牙狀態(tài)
/* 獲取傳統(tǒng)藍(lán)牙狀態(tài) */
int GetBtState();
/* 判斷低功耗藍(lán)牙狀態(tài) */
bool IsBleEnabled();
  • 獲取本端Mac地址
/* 獲取mac地址 */
bool GetLocalAddr(unsigned char *mac, unsigned int len);
  • 設(shè)置本端設(shè)備名稱
/* 設(shè)置本端設(shè)備名稱 */
bool SetLocalName(unsigned char *localName, unsigned char length);
  • 設(shè)備需要完成以下接口的開(kāi)發(fā)步驟,以使能Gatt server功能并開(kāi)啟服務(wù):
/* 初始化藍(lán)牙協(xié)議棧 */
int InitBtStack(void);
int EnableBtStack(void);
/* 注冊(cè)應(yīng)用,appUuid由應(yīng)用提供  */
int BleGattsRegister(BtUuid appUuid);
/* 添加服務(wù) */
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);
/* 開(kāi)始服務(wù) */
int BleGattsStartService(int serverId, int srvcHandle);
  • 設(shè)備需要完成以下接口的開(kāi)發(fā)步驟,以使能BLE廣播的發(fā)送:
/* 設(shè)置廣播數(shù)據(jù) */
int BleSetAdvData(int advId, const BleConfigAdvData *data);
/* 開(kāi)始發(fā)送廣播 */
int BleStartAdv(int advId, const BleAdvParams *param);
  • 若需要掃描功能,設(shè)備需要完成以下接口的開(kāi)發(fā)步驟,以使能BLE掃描功能:
/* 設(shè)置掃描參數(shù) */
int BleSetScanParameters(int clientId, BleScanParams *param);
/* 開(kāi)始掃描 */
int BleStartScan(void);

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8366

    瀏覽量

    150550
  • 藍(lán)牙
    +關(guān)注

    關(guān)注

    114

    文章

    5724

    瀏覽量

    169139
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2294

    瀏覽量

    42633
  • Harmony
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    2576
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼

    # 鴻蒙Flutter實(shí)戰(zhàn):如何調(diào)試代碼 ## 1.環(huán)境搭建 參考文章[鴻蒙Flutter實(shí)戰(zhàn):01-搭建開(kāi)發(fā)環(huán)境](https://g
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實(shí)戰(zhàn):07混合開(kāi)發(fā)

    # 鴻蒙Flutter實(shí)戰(zhàn):混合開(kāi)發(fā) 鴻蒙Flutter混合開(kāi)發(fā)主要有兩種形式。 ## 1.基于har 將flutter module
    發(fā)表于 10-23 16:00

    HarmonyOS實(shí)戰(zhàn)開(kāi)發(fā)-深度探索與打造個(gè)性化自定義組件

    今天分享一下 什么是自定義組件?及其自定義組件實(shí)戰(zhàn)。 做過(guò)前端或者android開(kāi)發(fā)的都知道自定義組件,
    發(fā)表于 05-08 16:30

    HarmonyOS實(shí)戰(zhàn)開(kāi)發(fā)-如何使用全局狀態(tài)保留能力彈窗來(lái)實(shí)現(xiàn)評(píng)論組件

    開(kāi)發(fā)有幫助,我想邀請(qǐng)大家?guī)臀胰齻€(gè)小忙: 點(diǎn)贊,轉(zhuǎn)發(fā),有你們的 『點(diǎn)贊和評(píng)論』,才是我創(chuàng)造的動(dòng)力。 關(guān)注小編,同時(shí)可以期待后續(xù)文章ing?,不定期分享原創(chuàng)知識(shí)。 更多鴻蒙最新技術(shù)知識(shí)點(diǎn),請(qǐng)關(guān)注作者博客:鴻蒙
    發(fā)表于 05-07 15:06

    OpenHarmony實(shí)戰(zhàn)開(kāi)發(fā)-如何實(shí)現(xiàn)組件動(dòng)畫(huà)。

    ArkUI為組件提供了通用的屬性動(dòng)畫(huà)和轉(zhuǎn)場(chǎng)動(dòng)畫(huà)能力的同時(shí),還為一些組件提供了默認(rèn)的動(dòng)畫(huà)效果。例如,List的滑動(dòng)動(dòng)效,Button的點(diǎn)擊動(dòng)效,是組件自帶的默認(rèn)動(dòng)畫(huà)效果。在組件默認(rèn)動(dòng)畫(huà)效
    的頭像 發(fā)表于 04-28 15:49 ?515次閱讀
    OpenHarmony<b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>開(kāi)發(fā)</b>-如何實(shí)現(xiàn)<b class='flag-5'>組件</b>動(dòng)畫(huà)。

    鴻蒙實(shí)戰(zhàn)開(kāi)發(fā)學(xué)習(xí)【FaultLoggerd組件

    Faultloggerd部件是OpenHarmony中C/C++運(yùn)行時(shí)崩潰臨時(shí)日志的生成及管理模塊。面向基于 Rust 開(kāi)發(fā)的部件,F(xiàn)aultloggerd 提供了Rust Panic故障日志生成能力。系統(tǒng)開(kāi)發(fā)者可以在預(yù)設(shè)的路徑下找到故障日志,定位相關(guān)問(wèn)題。
    的頭像 發(fā)表于 03-17 20:39 ?405次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>開(kāi)發(fā)</b>學(xué)習(xí)【FaultLoggerd<b class='flag-5'>組件</b>】

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【性能調(diào)優(yōu)組件

    性能調(diào)優(yōu)組件包含系統(tǒng)和應(yīng)用調(diào)優(yōu)框架,旨在為開(kāi)發(fā)者提供一套性能調(diào)優(yōu)平臺(tái),可以用來(lái)分析內(nèi)存、性能等問(wèn)題
    的頭像 發(fā)表于 03-13 15:12 ?349次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【性能調(diào)優(yōu)<b class='flag-5'>組件</b>】

    鴻蒙實(shí)戰(zhàn)開(kāi)發(fā):【FaultLoggerd組件】講解

    Faultloggerd部件是OpenHarmony中C/C++運(yùn)行時(shí)崩潰臨時(shí)日志的生成及管理模塊。面向基于 Rust 開(kāi)發(fā)的部件,F(xiàn)aultloggerd 提供了Rust Panic故障日志生成能力。系統(tǒng)開(kāi)發(fā)者可以在預(yù)設(shè)的路徑下找到故障日志,定位相關(guān)問(wèn)題。
    的頭像 發(fā)表于 03-12 16:22 ?908次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>開(kāi)發(fā)</b>:【FaultLoggerd<b class='flag-5'>組件</b>】講解

    鴻蒙實(shí)戰(zhàn)開(kāi)發(fā)Camera組件:【相機(jī)】

    相機(jī)組件支持相機(jī)業(yè)務(wù)的開(kāi)發(fā),開(kāi)發(fā)者可以通過(guò)已開(kāi)放的接口實(shí)現(xiàn)相機(jī)硬件的訪問(wèn)、操作和新功能開(kāi)發(fā),最常見(jiàn)的操作如:預(yù)覽、拍照和錄像等。
    的頭像 發(fā)表于 03-08 16:20 ?515次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>開(kāi)發(fā)</b>Camera<b class='flag-5'>組件</b>:【相機(jī)】

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開(kāi)發(fā):【短信服務(wù)】

    、OpenHarmony 多媒體技術(shù)、Napi組件、OpenHarmony內(nèi)核、Harmony南向開(kāi)發(fā)、鴻蒙項(xiàng)目實(shí)戰(zhàn)等等)鴻蒙(Harmon
    發(fā)表于 03-03 21:29

    鴻蒙ArkUI開(kāi)發(fā)-Tabs組件的使用

    鴻蒙ArkUI開(kāi)發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1600次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI<b class='flag-5'>開(kāi)發(fā)</b>-Tabs<b class='flag-5'>組件</b>的使用

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn)-(ArkUI)List組件和Grid組件的使用

    一系列相同寬度的列表項(xiàng),連續(xù)、多行呈現(xiàn)同類數(shù)據(jù),例如圖片和文本。常見(jiàn)的列表有線性列表(List列表)和網(wǎng)格布局(Grid列表): 為了幫助開(kāi)發(fā)者構(gòu)建包含列表的應(yīng)用,ArkUI提供了List組件和Grid
    發(fā)表于 01-18 20:18

    鴻蒙開(kāi)發(fā)OpenHarmony組件復(fù)用案例

    ) } }, item => item) } } } 本文主要是對(duì)鴻蒙開(kāi)發(fā)基礎(chǔ)當(dāng)中的OpenHarmony技術(shù)組件復(fù)用示例, 更多鴻蒙開(kāi)發(fā)
    發(fā)表于 01-15 17:37

    鴻蒙開(kāi)發(fā)基礎(chǔ)-Web組件之cookie操作

    }) ... } ... 本文章主要是對(duì)鴻蒙開(kāi)發(fā)當(dāng)中ArkTS語(yǔ)言的基礎(chǔ)應(yīng)用實(shí)戰(zhàn),Web組件里的cookie操作。更多的鴻蒙應(yīng)用
    發(fā)表于 01-14 21:31

    鴻蒙基礎(chǔ)開(kāi)發(fā)實(shí)戰(zhàn)-(ArkTS)像素轉(zhuǎn)換

    的使用。通過(guò)像素轉(zhuǎn)換案例,向開(kāi)發(fā)者講解了如何使用像素單位設(shè)置組件的尺寸、字體的大小以及不同像素單位之間的轉(zhuǎn)換方法。更多鴻蒙4.0的學(xué)習(xí),可以前往主頁(yè)學(xué)習(xí)或前往《鴻蒙4.0
    發(fā)表于 01-11 16:53