简介
蓝牙服务组件为设备提供接入与使用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文章
9443浏览量
156127 -
蓝牙
+关注
关注
119文章
6221浏览量
177515 -
鸿蒙
+关注
关注
60文章
2858浏览量
45346 -
Harmony
+关注
关注
0文章
108浏览量
3489
发布评论请先 登录
相关推荐
热点推荐
【HarmonyOS 5】鸿蒙页面和组件生命周期函数
【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财
鸿蒙5开发宝藏案例分享---一多开发实例(音乐)
各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接
鸿蒙5开发宝藏案例分享---Swiper组件性能优化实战
鸿蒙宝藏:Swiper组件性能优化实战,告别卡顿丢帧!
大家好!最近在鸿蒙开发时,偶然发现了官方文档里埋藏的 性能优化宝藏案例 ,尤其是&l
发表于 06-12 17:53
鸿蒙5开发宝藏案例分享---瀑布流优化实战分享
鸿蒙瀑布流性能优化实战:告别卡顿的宝藏指南!
大家好!最近在鸿蒙文档里挖到一个 性能优化宝藏库 ,原来官方早就准备好了各种场景的最佳实践!今天重点分享「瀑布流加载慢丢帧」的解决方案,附完整代码解析
发表于 06-12 17:41
鸿蒙5开发宝藏案例分享---性能优化案例解析
鸿蒙性能优化宝藏指南:实战工具与代码案例解析
大家好呀!今天在翻鸿蒙开发者文档时,意外挖到一个 性能优化宝藏库 ——原来官方早就提供了超多实用工具和案例,但很多小伙伴可能没发现!这篇就
发表于 06-12 16:36
鸿蒙5开发宝藏案例分享---埋点开发实战指南
鸿蒙埋点开发宝藏指南:官方案例实战解析,轻松搞定数据追踪!
大家好呀!我是HarmonyOS开发路上的探索者。最近在折腾应用埋点时,意外发现了鸿蒙
发表于 06-12 16:30
鸿蒙5开发宝藏案例分享---切面编程实战揭秘
鸿蒙切面编程(AOP)实战指南:隐藏的宝藏功能大揭秘!
大家好!今天在翻鸿蒙开发者文档时,意外发现了官方埋藏的「切面编程」宝藏案例!实际开发
发表于 06-12 16:21
鸿蒙5开发宝藏案例分享---应用架构实战技巧
大家好! 今天咱们聊聊鸿蒙开发中那些“官方文档提了但实际开发难找”的架构设计技巧。结合官方文档,我会用 真实代码案例+通俗讲解 ,帮你把分层架构和线程通信落地到项目里,告别“理论会了,代码不会
发表于 06-12 16:14
鸿蒙5开发宝藏案例分享---Pura X开发案例分享
?** 鸿蒙宝藏案例分享:Pura X 外屏开发实战解析**
大家好!我是你们的鸿蒙开发小伙伴。今天在翻阅官方文档时,意外发现了华为藏着的\
发表于 06-12 11:47
鸿蒙5开发宝藏案例分享---一多开发实例(即时通讯)
✨鸿蒙\"一多\"开发宝藏指南:原来官方案例还能这么玩!✨
大家好呀!我是刚在鸿蒙开发路上踩完坑的某不知名码农,今天要给大家分享一个重大发现——原来HarmonyOS官方早就给我
发表于 06-03 16:01
鸿蒙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

鸿蒙开发实战:【蓝牙组件】
评论