`
薇拉Rachel
  • 浏览: 14163 次
文章分类
社区版块
存档分类
最新评论

【开发技巧】再见,BLE的那些坑!

阅读更多
蓝牙,平常你用的多吗?
上班路上戴着蓝牙耳机听音乐、看视频
打开蓝牙分享个人热点给小伙伴们
解锁共享单车时,打开蓝牙就能迅速解锁
......

BLE—蓝牙低能耗技术,方便了我们的生活,但是开发者在开发过程中却遇到了不少坑,尤其对小白用户来说坑真的太多了,都是安卓、iOS系统惹的祸。


今天,给大家分享一个解决BLE那些坑的经验,希望能帮助更多人。

项目中用到BLE模块时,要注意以下问题:

❶ 用示例代码安卓系统扫描蓝牙设备就无法成功,而苹果则没问题。

✓ 解决办法:将serviceUUIDs: ['', '']改为serviceUUIDs: []即可。一次扫描不出来可以多扫描几次。

❷ 安卓和苹果的设备UUID不一样,安卓为xx:xx:xx:xx:xx:xx格式,苹果为GUID格式。

✓ 解决办法:以你扫描获取的UUID访问设备就行了。
❸ 安桌和苹果的服务UUID和服务特征CharacteristicsUUID不一样(服务UUID和服务特征CharacteristicsUUID是父子关系)。
安卓为GUID格式,苹果为短格式。两者扫描出的服务数也不一样,苹果只扫描出用户能调用的,安卓会把系统级的也扫描出来,安卓一般第3个服务是用户能调用的。
✓ 解决办法:以你扫描获取的获取的服务UUID的服务特征CharacteristicsUUID访问就行了。

❹ 最重要的一点,也是为什么调用老不对的问题。

✓ 解决办法:不管你是否知道设备UUID,服务UUID,蓝牙是否打开。请一定要按步骤调用:扫描设备->连接设备->获取所有服务UUID

->服务UUID对应的所有服务特征CharacteristicsUUID。这些步骤走完了,才能调用服务UUID和对应的服务特征CharacteristicsUUID。
分享到:
评论

相关推荐

    linux下ble开发

    在探讨Linux下的蓝牙低功耗(BLE)开发时,我们需要理解BLE的特性和Linux平台上支持BLE开发的软件架构。本文将深入探讨Linux下的BLE开发,包括BLE技术简介、Linux蓝牙协议栈架构、GAP(包括扫描、广播、配对等)和...

    BLE软件开发指南

    《BLE软件开发指南》是一份详尽的软件开发文档,由Texas Instruments(德州仪器)公司发布,主要针对使用CC2540/41芯片进行蓝牙低功耗(Bluetooth Low Energy,简称BLE)开发的软件开发者。该文档详细说明了BLE的...

    BLE蓝牙4.0开发完全手册-物联网开发技术实战.pdf

    蓝牙BLE4.0开发完全手册 物联网开发技术实战

    Android 蓝牙BLE全面解析以及智能车锁开发实例

    Android 蓝牙BLE全面解析以及智能车锁开发实例一、蓝牙BLE产生背景——蓝牙的发展历程 二、蓝牙BLE的基本概念 三、蓝牙BLE的架构介绍 1. 蓝牙BLE架构概览 2. 简述BLE如何发送数据包 2.1 广播方式 2.2 连接方式 四、...

    Qt开发windows平台蓝牙的ble(低功耗蓝牙)

    在Windows平台上,Qt提供了一套API和工具,可以方便地开发BLE(低功耗蓝牙)应用程序。 BLE是一种低功耗蓝牙技术,广泛应用于智能家居、物联网等领域。Qt提供了一些功能和类,可以帮助开发者在Windows平台上实现BLE...

    windows visual studio C++ 蓝牙BLE客户端(蓝牙调试工具)的完整源码和例子,可用于调试蓝牙BLE的开发

    在本文中,我们将深入探讨如何使用Windows上的Visual Studio C++进行蓝牙低功耗(Bluetooth Low Energy,简称BLE)客户端的开发。此项目提供了一个完整的源码示例,可以帮助开发者调试基于BLE的硬件设备,例如ESP32...

    Android BLE开发总结

    在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下: - 设备(Device):指BLE设备,如蓝牙耳机、传感器等。 - 服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一...

    BLE-CC254x-1.3.rar_BLE开发_C++ 蓝牙ble_CC2541 Bluetooth_ble蓝牙_蓝牙源码

    这个"BLE-CC254x-1.3.rar"压缩包包含了针对该芯片进行BLE开发所需的源码和资源,对于想要深入了解或开发BLE应用的工程师来说非常有价值。 BLE,即Bluetooth Low Energy,是一种低功耗的蓝牙技术,旨在为物联网设备...

    BLE 开发 快速开始

    BLE的特点主要在于低功耗和较低的数据传输速率,它适合于短距离通信,特别适用于那些对功耗要求非常严格的场合,比如健康监测设备、智能穿戴设备等。其最大的数据传输速率大约在4~5K字节每秒,这限制了它在音频传输...

    BleScan_连接_Windows编程_ble_win10ble开发_win10ble_

    标题"BleScan_连接_Windows编程_ble_win10ble开发_win10ble_"涉及的核心技术是Windows 10上的蓝牙低功耗(Bluetooth Low Energy, BLE)开发,具体包括BLE设备的扫描、连接以及属性查询。这个项目是在64位Windows 10...

    蓝牙4.0 BLE开发完全手册

    蓝牙4.0 BLE开发完全手册 物联网开发技术实战.pdf

    ble软件开发指南

    《BLE软件开发指南》是一份详细介绍了如何使用Texas Instruments(TI)的CC2540/41芯片进行蓝牙低功耗(BLE)软件开发的文档。本指南以TI最新的文档版本1.3.2为参考,其中包含了软件开发所需的项目配置、API使用方法...

    蓝牙BLE全面最详细解析以及BLE智能车锁开发实例

    在开发BLE智能车锁等应用时,通常会涉及以下几个步骤: 4. **应用开发流程**: - **准备**:确保开发环境、工具链和SDK已安装并配置好。 - **配置权限**:在Android等系统的清单文件中添加必要的蓝牙访问权限。 ...

    BLE蓝牙开发文档1

    在Android应用开发中,BLE主要通过蓝牙GATT(Generic Attribute Profile)协议进行交互,该协议定义了如何发现、连接和交换数据。 首先,BLE设备中的核心单元是Service,它代表了一组相关功能的集合。每个Service都...

    安卓蓝牙BLE客户端开发

    **安卓蓝牙BLE客户端开发详解** 蓝牙低功耗(Bluetooth Low Energy, 简称BLE或Bluetooth LE)在近年来被广泛应用于各种智能设备的通信中,特别是在安卓系统中,BLE客户端的开发是许多开发者关注的重点。本文将深入...

    ble5.0开发环境搭建MDK5(nRF52832)

    ble5.0开发环境搭建MDK5(nRF52832) ble5.0开发环境搭建 BLE(Bluetooth Low Energy)是一种低功率蓝牙技术,ble5.0是最新的BLE技术标准,具有更高的数据传输速度和更长的传输距离。 nRF52832芯片 nRF52832是...

    Android BLE 开发官方示例

    谷歌官方提供的Android平台上的关于低功耗蓝牙开发的示例代码,该示例包含了Android低功耗蓝牙开发的完整过程:(低功耗蓝牙可简称“BLE”) 1、声明蓝牙权限 2、设置BLE 3、扫描BLE 4、连接到GATT服务器(即低...

    安卓BLE LED灯控制!给予TI BLE

    在Android端,开发小程序需要使用到Android BluetoothGatt API来实现BLE通信。首先,开发者需要扫描附近的BLE设备,找到我们的CC2540设备并建立连接。连接建立后,可以查找服务和特征值,这些服务和特征值定义了设备...

Global site tag (gtag.js) - Google Analytics