0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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ǔ)言編寫。

說(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)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    8949

    瀏覽量

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

    關(guān)注

    116

    文章

    6035

    瀏覽量

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

    關(guān)注

    59

    文章

    2526

    瀏覽量

    43787
  • Harmony
    +關(guān)注

    關(guān)注

    0

    文章

    64

    瀏覽量

    2896
收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙5開(kāi)發(fā)案例分享揭秘---一多開(kāi)發(fā)實(shí)例(商務(wù)辦公)

    ?【鴻蒙開(kāi)發(fā)寶藏案例大揭秘】原來(lái)官方文檔里藏了這么多好東西! 大家好呀~最近在肝鴻蒙項(xiàng)目時(shí)意外扒出了官方文檔里的\"藏寶庫(kù)\"!原來(lái)那些讓人頭禿的跨端適配難題,官方早就準(zhǔn)備好
    發(fā)表于 06-03 16:24

    鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(旅行訂票)

    ? 鴻蒙開(kāi)發(fā)寶藏大發(fā)現(xiàn)!一多開(kāi)發(fā)實(shí)戰(zhàn)案例解析(旅行訂票篇) 大家好!今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),意
    發(fā)表于 06-03 16:16

    鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(即時(shí)通訊)

    ?鴻蒙\"一多\"開(kāi)發(fā)寶藏指南:原來(lái)官方案例還能這么玩!? 大家好呀!我是剛在鴻蒙開(kāi)發(fā)路上踩完坑的某不知名碼農(nóng),今天要給大家分享一個(gè)重大發(fā)現(xiàn)——原來(lái)HarmonyOS官方早就給我
    發(fā)表于 06-03 16:01

    鴻蒙5開(kāi)發(fā)寶藏案例分享---一多分欄開(kāi)發(fā)實(shí)踐

    ?【HarmonyOS開(kāi)發(fā)者的寶藏指南】一次搞定多設(shè)備分欄布局,原來(lái)還能這么玩! 大家好呀!今天在鴻蒙社區(qū)挖到一個(gè)超實(shí)用的大寶藏——原來(lái)官方早就藏了一堆分欄布局的實(shí)戰(zhàn)案例!作為被多端適配折磨
    發(fā)表于 06-03 12:03

    2025開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)圓滿落幕

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025,簡(jiǎn)稱“大會(huì)”)在深圳隆重開(kāi)幕。大會(huì)正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,舉行了開(kāi)源鴻蒙應(yīng)用技術(shù)
    的頭像 發(fā)表于 05-26 17:03 ?338次閱讀

    開(kāi)源啦!??!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來(lái)一起共創(chuàng)

    的地方請(qǐng)大家高抬貴手,寬容一下,謝謝。 這次主要是給大家?guī)?lái)一個(gè)重磅消息,就是我自己使用鴻蒙ArkTS語(yǔ)法開(kāi)發(fā)的圖表組件今日正式開(kāi)源了。為什么?原因有兩點(diǎn)吧! 鴻蒙是國(guó)產(chǎn)的操作系統(tǒng),
    發(fā)表于 03-15 15:21

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.56】極速探索HarmonyOS NEXT:純血鴻蒙應(yīng)用開(kāi)發(fā)實(shí)踐

    開(kāi)發(fā)的核心技術(shù),以及鴻蒙應(yīng)用在實(shí)際開(kāi)發(fā)中的應(yīng)用方法。 本書(shū)共分為四篇,共計(jì)16章,分別為鴻蒙開(kāi)發(fā)基礎(chǔ)篇、
    發(fā)表于 01-20 16:53

    LwIP應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)指南—基于野火STM32

    LwIP應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)指南—基于野火STM32—20210122
    發(fā)表于 01-17 14:34 ?8次下載

    鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II

    分別安裝官方的3.22版本,以及鴻蒙社區(qū)的 3.22.0 版本 3.搭建 Flutter鴻蒙開(kāi)發(fā)環(huán)境 參考文章《鴻蒙Flutter實(shí)戰(zhàn):0
    發(fā)表于 12-26 14:59

    鴻蒙原生開(kāi)發(fā)手記:01-元服務(wù)開(kāi)發(fā)

    簡(jiǎn)介 元服務(wù)是鴻蒙中的一種輕量應(yīng)用形態(tài),無(wú)需下載,直接運(yùn)行。類似于微信小程序,但與小程序不同的是,元服務(wù)更加輕量。 元服務(wù)使用原生開(kāi)發(fā),是系統(tǒng)級(jí)提供的,無(wú)論從易用性、性能、體驗(yàn)上,都要比小程序好
    發(fā)表于 11-14 17:28

    鴻蒙Flutter實(shí)戰(zhàn):11-使用 Flutter SDK 3.22.0

    # 使用 Flutter SDK 3.22.0 ## SDK 安裝 參考[鴻蒙Flutter實(shí)戰(zhàn):01-搭建開(kāi)發(fā)環(huán)境]文章的說(shuō)明,首先安裝 Flutter SDK 3.22.0。 目前
    發(fā)表于 11-01 15:03

    鴻蒙Flutter實(shí)戰(zhàn):09-現(xiàn)有Flutter項(xiàng)目支持鴻蒙

    # 鴻蒙Flutter實(shí)戰(zhàn):現(xiàn)有Flutter項(xiàng)目支持鴻蒙 ## 背景 原來(lái)使用Flutter開(kāi)發(fā)的項(xiàng)目,需要適配鴻蒙。 ## 環(huán)境搭
    發(fā)表于 10-23 16:36

    鴻蒙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

    鴻蒙Flutter實(shí)戰(zhàn):05-使用第三方插件

    # 鴻蒙Flutter 實(shí)戰(zhàn):使用第三方插件 在鴻蒙Flutter開(kāi)發(fā)中,如果涉及到使用原生功能,就要使用插件。使用插件有兩種方式,一種是自己編寫原生ArkTS代碼,在Dart側(cè)調(diào)用
    發(fā)表于 10-22 21:54

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品