首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 蓝牙开发(2)——低功耗蓝牙

低功耗蓝牙官方文档 本文章是参考官网,然后加入自己实践中的理解完成!没有看上一篇的读者,可以先阅读一下前一篇,这是一个系列。...(API 18 )引入了低功耗蓝牙,应用可以查询周围设备、查询设备的服务、传输信息。...目前所有低功耗应用配置文件基本都是基于 GATT Bluetooth SIG (蓝牙技术联盟) 是为低功耗设备定义了许多配置文件。配置文件是设备在特定应用程序中的工作方式的规范。...确定了两个设备建立连接后如何进行相互通信 BLE 权限 应用在使用蓝牙设备的时候必须要声明蓝牙权限 BLUETOOTH 需要这个权限才可以进行蓝牙通信,例如:请求连接、接受连接、和传输数据。...完成后要记得关闭设备 bluetoothGatt.close(); 关于蓝牙框架的一个库:https://github.com/Alex-Jerry/Android-BLE

2.2K10

Android低功耗蓝牙总结

这里只列出重点原理内容,更加细节的内容请阅读前面文章 首先要搞清楚一点,我们在 Android 中通过 SDK 获得的蓝牙广播包是经过底层的 SDK 给我们处理过的,是一个长度为 62 的字节数组...首先我们要搞清楚一点,蓝牙在向外发送数据的时候是分成两个部分的一个就是普通的广播包还有一个叫做应答包。...这是蓝牙协议的规定内容,针对于所有的蓝牙设备(iBeacon 只是蓝牙设备的一种) 普通的广播包格式是定义好的,长度为 30 byte 应答包中的内容是可以由 蓝牙的各个制造厂商自己向里面放数据的。...首先我们来看一下第一个蓝牙广播包(来自 iBeacon 设备),一共 59 个字节 04 3e 38 0d 01 13 00 01 8b 03 00 b0 01 c2 01 00 ff 7f af 00...就是 蓝牙广播包第二行(30 byte) + 蓝牙应答包第二行(最多 32 byte,数目不确定),如果位数不够的话就用 0 补充。

1K10
您找到你想要的搜索结果了吗?
是的
没有找到

BLE低功耗蓝牙与经典蓝牙(持续更新)

低功耗蓝牙是不能兼容经典蓝牙的,需要兼容,只能选择双模蓝牙。一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。...android Ble开发的那些事(一) 低功耗蓝牙(BLE):字如其名,第一特点就是低功耗蓝牙4.0以上的;一个纽扣电池可以支持其运行数月至数年,至于怎么实现低功耗,看下文。...蓝牙堆栈可提供实现蓝牙低功耗 (BLE) 的功能,在 Android 8.0 中,原生蓝牙堆栈完全符合蓝牙 5.0 的要求。...一、低功耗蓝牙介绍 开发步骤如下: 获取BluetoothAdapter,然后扫描,获取蓝牙驱动Device,然后连接蓝牙驱动,监听连接回调,获取一个驱动Device下的所有不同功能的service...read就是读取设备上的数据(如读取外设电量),write就是发送数据(如发送关闭命令关闭蓝牙灯),notify/indicate 字面意思就是通知/指示, 是用来接收设备主动上报的数据的(如手环可以每隔

8.1K10

Android 低功耗蓝牙开发简述

低功耗蓝牙简述 一、什么是低功耗蓝牙? 二、怎么做低功耗蓝牙应用? ① 之前有没有接触Android蓝牙开发? ② 蓝牙设备固件是公司自己的吗? ③ 有没有蓝牙固件和蓝牙应用的文档和Demo?...一、什么是低功耗蓝牙?   ...它保持连接并以超低功耗传输数据,低功耗蓝牙是专门针对基于物联网(IoT)设备构建的功能和应用程序设计的蓝牙版本。蓝牙BLE允许短期远程无线电连接并延长电池寿命。...目前,蓝牙低功耗技术已被广泛使用,例如耳机、手环、电子秤、鼠标、键盘、灯、音箱等设备。   蓝牙分为传统蓝牙低功耗蓝牙。...蓝牙4.0及更高版本被称为蓝牙低功耗,其中蓝牙4.0标准包括传统的蓝牙模块部分和蓝牙低功耗模块部分,这是双模式标准。

1.3K10

Windows 8.1 低功耗蓝牙开发

概述 在蓝牙4.0发布以前,给大家的直观印象就是蓝牙耳机,它就是用来满足短距离内中等带宽的音频通信需求。...为什么蓝牙4.0的用途广泛了呢?首先归功于低功耗,运行Bluetooth Low Energy的设备,一节纽扣电池可以支持其半年的时间;其次是低成本,如TI公司的CC2540蓝牙SoC售价是1美元。...LE 枚举器”的话,如下图1所示,就说明是支持蓝牙4.0 LE的,如果没有的话,是无法搜索到蓝牙4.0 LE设备的,这时候就需要去更新系统和蓝牙驱动了。...图1 注意,在进行这一步以前,最好先去“设置”->“更改电脑设置”->“电脑和设备”->“蓝牙”中,把蓝牙打开。...因为在我测试的时候发现,Surface Pro 2在蓝牙关闭的时候,不会出现“Microsoft Bluetooth LE 枚举器”这一项,如下图2所示,只有在蓝牙打开的情况下才会出现。 ?

2.3K50

低功耗蓝牙(BLE) 和 经典蓝牙(SPP) 的区别

低功耗蓝牙(BLE) vs 经典蓝牙(SPP)区别项低功耗蓝牙(BLE)经典蓝牙(SPP 串行端口协议)蓝牙版本蓝牙版本 >= 4.0,又称蓝牙低功耗蓝牙智能经典蓝牙2.0 或更早版本,经典配对模式在两台蓝牙设备之间建立虚拟串口数据连接...蓝牙功耗极低功耗:可达数月或几年的电池续航时间较高功耗:通常不及BLE省电,电池续航时间较短。经典蓝牙设计注重速度和传输容量,而忽略了功耗的优化。硬件成本低成本:BLE芯片和模块价格低廉。...蓝牙打印机、蓝牙串口替代、蓝牙POS机、蓝牙耳机、高速数据交换(图像传输、文件传输)等。...App Inventor 2 组件BlueToothLE拓展无需配对,直接出现在设备列表中,连接后即可使用蓝牙客户端 / 蓝牙服务端必须事先配对(手机设置 -> 蓝牙)成功后,才能出现在设备列表中BLE...看应用场景:BLE适用于低功耗、轻量级的应用,例如穿戴设备、传感器网络等。而SPP适用于需要大容量数据传输的应用,例如音频设备、文件传输等。

1.3K10

MASA MAUI Plugin IOS蓝牙低功耗(三)蓝牙扫描

介绍 之前两篇文章我们实现了安卓蓝牙BLE的相关功能,本文我们将IOS的BLE功能实现一下。...该状态一共有如下枚举,从字面意思很好理解 Unknown, //手机没有识别到蓝牙 Resetting, //手机蓝牙已断开连接 Unsupported, //手机蓝牙功能没有权限 Unauthorized..., //手机蓝牙功能没有权限 PoweredOff,//手机蓝牙功能关闭 PoweredOn //蓝牙开启且可用 权限检查这里和安卓有一些区别,在重写的RequiredInfoPlistKeys方法中指定了需要检查的蓝牙权限...蓝牙扫描的效果和安卓机是完全一样的,这里就不展示了。...可以点击以下链接滑倒最后查看演示效果 MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描 iOS调试及错误排查 目前在windows的vs环境调试MAUI的ios程序,是不需要mac电脑支持的

1.5K10

低功耗蓝牙(BLE)攻击分析

低功耗蓝牙(BLE)是蓝牙4.0规范的一部分,其包括传统蓝牙蓝牙高速协议。相较于传统蓝牙,BLE旨在使用更低的功耗,并保持同等距离的通信范围。...BLE只在需要时传输少量数据,而除此之外则会保持关闭状态,这大大降低了其功耗,也使其成为了在低数据速率下需要长久连接使用的理想选择。...虽然,所有低功耗蓝牙设备开发的主要动机都是为了增强用户体验。但与此同时,我们需要思考的是安全性是否也已同步? 下面,让我们看看影响BLE安全性的三个主要漏洞: 1....利用 BLE 的工具 Linux为BLE提供了最好的支持。想要使用BLE,我们需要安装blueZ。...在开始使用它之前,我们需要满足以下软硬件条件: 硬件 运行Linux的电脑最好是Ubuntu系统 智能BLE灯泡或任何其他蓝牙智能设备 蓝牙适配器 软件 Python 2.7(已在Ubuntu上默认安装

4.7K61

Android蓝牙开发—经典蓝牙和BLE(低功耗蓝牙的区别

最近在做蓝牙开发,刚接触时傻傻的分不清经典蓝牙低功耗蓝牙的区别,一直用开发低功耗蓝牙的方法去连接经典蓝牙设备,最后当然是一直连接不上了。在此记录下经典蓝牙低功耗蓝牙的区别和联系。...,取而代之的是经典蓝牙低功耗蓝牙(BLE)这两种区别。...这里提到的低功耗蓝牙也会有很多人会误解为就是蓝牙4.0,但是完整的蓝牙4.0规范中实际上包括有经典蓝牙低功耗蓝牙这两个部分,大家看看如下这张分类表就能够明白这其中的关系了。...最后,使用获取到的BluetoothDevice调用其方法connect()就建立了经典蓝牙设备之间的连接通道。 低功耗蓝牙低功耗蓝牙则用了一种看起来比较怪异的方式建立连接。...很多智能电视配的遥控器带有语音识别,需要用经典蓝牙才能传输声音 传大数据量的,用经典蓝牙: 如某些工控场景,使用Android或Linux主控,外挂蓝牙遥控设备的,可以使用经典蓝牙里的SPP协议

4.5K20

Android 低功耗蓝牙开发(数据交互)

Android 低功耗蓝牙开发(数据交互) 前言 正文 一、BluetoothGattCallback 1. onPhyUpdate 2. onPhyRead 3. onServicesDiscovered...读取特性、描述符、RSSI 三、源码 前言   在上一篇低功耗蓝牙开发文章中,我讲述了扫描和连接,本篇文章讲述数据的交互。...当了解了数据交互后就可以开始进行低功耗蓝牙硬件和手机App软件相结合的项目,例如蓝牙音箱、蓝牙灯、蓝牙锁等等。...正文   因为本篇文章会接着上一篇文章进行一个续写,上一篇文章 Android 低功耗蓝牙开发(扫描、连接),没看过的可以先看看,这样可以平稳过度,当然如果对扫描和连接都没有问题的可以直接从本篇文章开始看...之前在进行低功耗蓝牙连接的时候使用的是Gatt连接,不知道你是否还记得。

1.9K30

MASA MAUI Plugin 安卓蓝牙低功耗(二)蓝牙通讯

介绍 上一篇文章我们实现了蓝牙BLE的扫描功能,这里我们继续实现通讯功能。...写入蓝牙指令 官方文档示例中没有给出特征值写入的示例,这里我们自己实现。...想对蓝牙进行写入操作,当然需要先找到蓝牙设备的服务id和特征值id才行。...打开蓝牙监听 以上一系列操作我们已经可以拿到具体的这个设备的服务和具体的特征值了,对于BLE设备,大部分都是通过Notify属性进行广播的。...一个BLE设备如果有通知的属性,那么他一定会有描述符,打开或者关闭通知都需要通过描述符写入指令来控制,所有对特征值的操作然后通过WriteValueAsync->PlatformWriteValue来实现

2.1K20

Android低功耗蓝牙BLE开发小结

BLE及相关协议 BLE是蓝牙4.0标准的一部分,旨在解决传统蓝牙连接慢、能耗大的问题,Google在Android 4.3(API 18)中引入了对BLE的支持。...Android BLE相关类 BluetoothAdapter:Android设备的蓝牙适配器,可执行基本的蓝牙任务,如启动、停止设备发现,查询已配对设备,获取蓝牙适配器状态,使用MAC地址实例化蓝牙设备类...BluetoothGatt:该类提供了蓝牙的GATT功能,以实现与BLE设备的通信。如连接、发现服务、读写特征、设置通知等。...BluetoothGattService:蓝牙GATT服务,包含了BluetoothGattCharacteristic的集合。...若获取到的值为null,则该设备不支持蓝牙。 打开蓝牙 - 可直接使用BluetoothAdapter对象的enable()方法打开蓝牙。 - 也可构建intent,请求用户打开蓝牙

5.6K561

MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描

介绍 微软的MAUI并没有提供蓝牙低功耗设备的相关功能,而物联网开发中蓝牙低功耗是十分常见的,所以我们今天自己集成一个。...由于蓝牙功能设计的内容比较多,篇幅有限,本文只集成一个最基本的蓝牙扫描功能,意在抛砖引玉。后续会陆续更新其他蓝牙通讯功能的文章。...本文蓝牙低功耗简称为BLE 如果你对BLE的相关概念不了解,可以参考 开发者官网链接: 蓝牙低功耗-安卓(https://developer.android.google.cn/guide/topics...在应用中使用蓝牙功能,必须声明 BLUETOOTH 蓝牙权限,需要此权限才能执行任何蓝牙通信,例如请求连接、接受连接和传输数据等。...Masa.Maui.Plugin.Bluetooth项目的Platforms_Android下新建MasaMauiBluetoothService类,并添加一个内部类BluetoothPermissions ,MAUI的默认权限没有包含蓝牙低功耗

1.3K20

BLECTF:低功耗蓝牙CTF挑战(上)

在实习摸鱼的时候发现了这个: https://github.com/hackgnar/ble_ctf 玩玩看看,首先得把环境弄好,你得有一块 ESP32 的板子,淘宝买就行了,笔记本自带的蓝牙适配器如果不行的话...(后面会说怎么判断)也得自己买一个蓝牙适配器,我用的是 CSR4.0 这个,直接去淘宝搜就行 配置环境 首先得安装 esptool 用来烧录 esp32 sudo apt-get install esptool...:hciconfig 激活:hciconfig hci0 up 查看蓝牙信息:sudo hciconfig hci0 lestates,如果返回:Read LE supported states on...hci0 returned status 1 表示你的蓝牙适配器不支持 BLE,正常的应该是这样的 # hciconfig hci0 up Can't init device hci0: Operation...not possible due to RF-kill (132) 另外,出现上面的情况运行 rfkill unblock all 再 hciconfig hci0 up 即可解决 扫描周围低功耗设备

1K30

Android 低功耗蓝牙开发(扫描、连接)

正文   首先明白低功耗蓝牙是什么?   ...蓝牙低能耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标Bluetooth Smart)也称低功耗蓝牙,是蓝牙技术联盟设计和销售的一种个人局域网技术,旨在用于医疗保健...相较经典蓝牙低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。   概念已经了解了,下面创建一个名为BleDemo的项目来写这篇文章。 ?...三、扫描低功耗蓝牙   扫描低功耗蓝牙,首先要有触发的地方,其次要有显示结果的地方,这些都需要进行UI的处理,那么下面进行布局的修改和增加,修改activity_main.xml,代码如下: <?...运行之后点击开始扫描按钮,就会扫描附近的低功耗蓝牙设备,(请在附近有已打开低功耗蓝牙时进行扫描)可以在日志栏处进行打印。 ? 这里很明显,扫描到了一些蓝牙设备,并且很多设备没有设备名称。

2.6K40

【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)

概述 BLE 概述 :  -- 版本支持 : Android 4.3 (API Level 18) 内置框架引入了 蓝牙低功耗方案 (Bluetooth Low Energy, BLE) 支持;  --...: 与传统的蓝牙对比, 蓝牙低功耗方案 (Bluetooth Low Energy) 是出于更低的电量消耗考虑而设计的....GATT 规范制定的. -- 制定者 : 蓝牙技术联盟 (Bluetooth SIG) 为低功耗设备定义了许多规范, 一个 规范 (Profile) 就是 设备如何在特定的应用中工作的详述.  --...: 如果 Android 手机不支持 BLE 功能, 你应该优雅的 关闭 BLE 相关功能.  -- 支持 BLE 打开蓝牙 : 如果 BLE 支持 BLE 功能, 但是设备的蓝牙关闭的, 你可以在应用中请求打开设备的蓝牙模块...关闭 APP 中的 BLE 连接 关闭 BLE 设备连接 :  -- 关闭方法 : 一旦结束了 BLE 设备的使用, 调用 BluetoothGatt 的 close() 方法, 关闭 BLE 连接,

5.8K30

Android BlueToothBLE入门(一)——低功耗蓝牙介绍

本身就是随身设备,所以最好的通讯方式就是蓝牙,以前做PDA和蓝牙打印机倒是做过通讯,不过那个是传统的蓝牙模式,也比较简单,研究了下还是觉得蓝牙BLE不错,但是和传统的蓝牙通讯方式差异很大,所以也是边学习边研究...BlueTooth BLE 微卡智享 简介 BLE全称为Bluetooth Low Energy,低功耗蓝牙技术,它比起传统蓝牙更省电,能够在安卓设备之间进行短距离通信。...而在Android 10 需要你开启gps,否则蓝牙不可用。 Google为了防止Android7中的BLE扫描滥用,从而做了一些限制,即不要在30s内对蓝牙扫描 重复开启-关闭超过5次。...关于UUID UUID 即为“Universally Unique Identifier”用于标识蓝牙服务以及通讯特征访问属性,不同的蓝牙服务和属性使用不同的访问方法。...所以我们自己在蓝牙通讯时,可以自行定义上面xxxx部分,用于识别自己的蓝牙方式,并且在扫描蓝牙时可能通过定义好的UUID来过滤掉没有必要的蓝牙广播。

63840

Android蓝牙BLE低功耗相关简单总结

本文总结来源于百度多篇文章,欢迎转载,分享交流 BLE蓝牙概念 BLE:Bluetooth low Energy  低能耗蓝牙,实现低成本,短距离的无线传输,传输速率于传统蓝牙相同位2.4GHZ,采用非常快速的连接方式...,适用于发送数据量少而且发送次数较少的蓝牙通信 相比于传统蓝牙 BLE蓝牙设备的传输距离最远可达100米 发送数据所需时间短(<3ms) 响应延时时间短(6ms) 低能耗 主要应用于只能穿戴,汽车,家用电子等...目前所使用的Android手机只能作为中央使用和处理数据,接下来介绍下如何去创建一个中央 创建中央(Central) 在配置文件中添加蓝牙的权限 获取本地蓝牙适配器mBluetoothAdapter =...BluetoothAapter.getDefaultAdapter() 扫描附近可用的BLE蓝牙设备mBluetoothAdapter.startLeScan(mLeScanCallback);传入的参数对象为...第一个参数为上下文,context *第二个参数为autoConnect,布尔值 *第三个参数为BluetoothAdapter.LeScanCallback对象,连接后回调,在回调中可以获取到手机的蓝牙连接状态

99410
领券