最近在做一个ble midi的智能硬件项目,现把一些知识点记录如下:
首先由 bluetoothAdapter.startLeScan(leScanCallback) 去搜索,该方法接受一个callback去让开发者设置相应的代码。一旦有结果就运行callback里面的代码
我们来从log中看看是如何一步步执行的
BluetoothAdapter: startLeScan(): null
BluetoothAdapter: onClientRegistered() - status=0 clientIf=5
//扫描得到了结果发现了一个设备
BluetoothAdapter: onScanResult() - Device=C8:FD:19:9F:F4:BB RSSI=-59
//开始连接设备
BluetoothGatt: connect() - device: C8:FD:19:9F:F4:BB, auto: true
//注册该运行的app,这一步应该和之前的蓝牙配对一样
BluetoothGatt: registerApp()
//注册得到了一个uuid
BluetoothGatt: registerApp() - UUID=88590452-d8e7-4f6d-9ab7-aef15c6d4e62
BluetoothGatt: onClientRegistered() - status=0 clientIf=6
BluetoothGatt: onClientConnectionState() - status=0 clientIf=6 device=C8:FD:19:9F:F4:BB
由上面可以发现用的是蓝牙的 GATT协议进行通信
分享到:
相关推荐
在Android Studio中,开发者可以使用`BluetoothGatt`类来处理BLE连接,`BluetoothLeScanner`用于扫描BLE设备,而`BluetoothGattCallback`则用来处理连接状态变化和数据传输的回调。 开发BLE应用时,首先需要获取...
Android-BLE 是一个专为Android平台设计的蓝牙低功耗(Bluetooth Low Energy,简称BLE)框架,它简化了蓝牙设备的交互过程,提供了丰富的功能,包括设备扫描、连接管理、数据传输、特性配置以及固件更新(OTA升级)...
在Android平台上,开发一个能够连接多个蓝牙低功耗(Bluetooth Low Energy, 简称BLE)设备的应用是一项挑战。本文将深入探讨如何实现这个功能,主要基于提供的标题和描述,我们将重点关注以下知识点: 1. **蓝牙4.0...
在Android平台上进行蓝牙低功耗(BLE,Bluetooth Low Energy)开发是移动应用中常见的功能,尤其是在物联网(IoT)设备的交互中。"Android-ble-master.zip" 是一个包含完整示例代码的压缩包,专注于Android 4.3及...
**Android BLE(Bluetooth Low Energy)搜索连接** 在Android平台中,BLE(Bluetooth Low Energy),也称为蓝牙智能,是一种低功耗、高效的无线通信技术,广泛应用于物联网设备、健康监测、智能家居等领域。Android...
- 连接BLE设备使用`BluetoothGatt`类。调用`BluetoothDevice.connectGatt()`方法,传入上下文、是否需要自动重连和回调对象,开始连接过程。 4. **BluetoothGattCallback**: - 自定义`BluetoothGattCallback`...
- Android设备不仅可以作为BLE中央设备,连接其他BLE外围设备,还可以通过实现BLE外围设备功能,发布自己的服务和特性,允许其他设备连接。 2. **BluetoothGattServer API**: - Android L引入了`...
由于BLE协议的复杂性和不同Android设备间的差异,服务端需要考虑兼容性问题,例如连接超时、重连策略等。同时,为了提高性能,需要合理设置数据传输的大小和频率,避免因数据量过大或过于频繁导致的连接中断。 ### ...
12. **连接BLE设备**:找到目标设备后,使用`BluetoothDevice`的`connectGatt()`方法建立连接。连接过程是异步的,成功与否会在`BluetoothGattCallback`的`onConnectionStateChange()`方法中通知。 13. **服务发现*...
本资源"android 很牛的蓝牙连接,ble,spp,欢迎下载学习"显然聚焦于这两种蓝牙协议在Android应用开发中的实践。下面我们将深入探讨蓝牙连接的基本概念、工作原理以及如何在Android上实现BLE和SPP(Serial Port ...
总的来说,Android开发者需要理解如何正确连接BLE设备、读取RSSI值以及如何解析和利用这些数据来改善蓝牙通信。在实际项目中,还可以考虑结合设备制造商提供的特定API或库来进一步优化RSSI的读取和分析。对于更深入...
本项目“android-ble蓝牙封装lib”是针对这种技术的一个实用库,旨在简化开发者的使用过程,提供更高效、便捷的方式来处理BLE设备的搜索、连接和数据交换。 首先,关于BLE的基础知识:BLE是一种优化的蓝牙协议,...
Android 蓝牙 BLE gatt协议连接(connect)数据流程图(java-framework),将Android 源码使用流程图的形式画了出来,使Android 蓝牙开发者更清楚数据收发走向,代码流程更加形象生动,能够很快的熟悉Android 蓝牙...
在Android 4.3系统中,蓝牙低功耗(Bluetooth Low Energy, 简称BLE)技术得到了广泛的应用,这主要是因为其相较于传统蓝牙技术在功耗和连接稳定性上的优势。BLE是蓝牙4.0规范的一部分,适用于各种物联网设备,如健康...
对于Android应用开发者,尤其是那些正在构建与BLE设备交互的应用,此工具可以方便地测试BLE设备的兼容性、连接稳定性以及数据传输效率。开发者可以通过它来调试设备的服务配置、特征值处理逻辑,确保应用在实际使用...
3. **连接BLE设备**:找到目标设备后,使用`BluetoothGatt.connect()`方法建立连接。连接过程是异步的,成功与否会通过`BluetoothGattCallback`的`onConnectionStateChange()`方法通知。 4. **获取BLE服务和特征**...
2.1 Android BluetoothGatt:这是处理BLE连接的核心类,包含了连接、断开、读写服务和特征值等功能。 2.2 BluetoothAdapter:蓝牙适配器,用于管理设备的蓝牙功能,包括扫描、连接和发现设备。 2.3 ...
- **连接BLE设备**: 找到目标设备后,通过`BluetoothDevice.connectGatt()`建立连接。 ```java BluetoothGatt gatt = device.connectGatt(this, false, gattCallback); ``` - **定义`BluetoothGattCallback`**:...
Android 蓝牙 BLE 连接(connect)数据流程图(协议栈),非常详细的从btif-bta-btm-hci 数据流程走向,以及从controller收到数据到btm层,将Android 源码使用流程图的形式画了出来,使Android 蓝牙开发者更清楚数据...