Android BLE 蓝牙学习总结(一):手机作为周边BluetoothGattServer的实现

本文介绍了Android BLE中手机作为周边设备的角色,解析了Android 5.0后手机作为BLE周边设备的功能。文章详细阐述了创建周边设备的关键步骤,包括构建BluetoothGattServer、服务、特征和描述,以及如何广播和设置服务。此外,还提到了使用BluetoothLeAdvertiser进行广播的相关操作。最后,提供了案例代码链接供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

低功耗蓝牙的基本概念:
在BLE协议中,有两个角色,周边(Periphery)和中央(Central)。周边是数据的提供者,中央是数据的使用和处理者。在Android SDK里面,Android4.3以后手机可以作为中央使用;Android5.0以后手机才可以作为周边使用,即此时的手机可以作为BLE设备(如可穿戴设备、手环、智能锁、心率测量仪等)来为中央提供数据。
一个中央可以同时连接多个周边,但一个周边某一时刻只能连接一个中央。
Android BLE SDK的四个关键类如下:
1、BluetoothGattServer作为周边来提供数据,BluetoothGattServerCallback返回周边的状态,更通俗的说,当中央有请求时,系统调用该抽象类的相应方法传递数据给周边。
2、BluetoothGatt作为中央来使用和处理数据,BluetoohGattCallback返回中央的状态和周边提供数据,即周边反馈的数据通过该抽象类的相应方法传递到中央。
该篇文章主要总结手机作为周边的实现
一、创建一个周边所需的类,如下图
这里写图片描述
说明:每个周边BluetoothGattServer包含多个服务,每个服务包含多个特征,每个特征又可以包含多个描述
1、new一个描述:descriptor=new BluetoothGattDescriptor(UUID_DESCRIPTOR,
BluetoothGattCharacteristic.PERMISSION_WRITE);
2、new 一个特征:characteristicRead=new BluetoothGattCharacteristic(
UUID_CHARREAD,
BluetoothGattCharacteristic.PROPERTY_READ,
3、把描述添加到特征:characteristicRead.addDescriptor(descriptor);
4、new 一个服务: service=new BluetoothGattService(UUID_SERVER,
BluetoothGattService.SERVICE_TYPE_PRIMARY);
5、把特征添加到服务:service.addCharacteristic(characteristicWrite);
6、获取BluetoothManager:mBluetoothManager=(BluetoothManager)
getSystemService(Context.BLUETOOTH_SERVICE);
7、获取周边:mBluetoothGattServer=mBluetoothManager.openGattServer(
context,bluetoothGattServerCallback);
8、把服务添加到周边: mBluetoothGattServer.addService(service

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值