文章目录前言一、材料准备二、蓝牙模块初始化三、App开发过程4.1 搜索设备4.2 连接设备4.3 获取服务列表和其特征列表4.4 主动订阅通知4.5 如何接受设备发来的数据4.6 如何发送数据到设备另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!前言 工作了三年,职业之路不能偏离方向,当海浪掀起,周围会有
本文旨在提供一个方便没接触过Android上低功耗蓝牙(Bluetooth Low Energy)的同学快速上手使用的简易教程,因此对其中的一些细节不做过分深入的探讨,此外,为了让没有Ble设备的同学也能模拟与设备的交互过程,本文还提供了中央设备(central)和外围设备(peripheral)的示例代码,只需2部手机大家就可以愉快的“左右互搏”了。准备工作角色上面我们提到了中央设备(centr
目录1. 功能部分1.1 BLE简介1.2. 详细流程1.3 几个注意点:2. 界面部分3. 遇到的坑:4. 推荐学习资料即将迈入新阶段,贼开心,总结下。如果有误,麻烦指出。先看下最终效果(图中的“刷新”只是方便测试,表明从硬件接收到了新的数据包而已):1. 功能部分1.1 BLE简介核心功能使用的是Android官方提供的BLE SDK。在BLE协议中,有两个角色——周边和中央。周边用来提供数据
转载
2023-07-09 15:20:03
125阅读
这是系列文章的第二篇,第一篇 Android BLE开发指南(一)入门基础 主要介绍了BLE开发的一些基础知识。那么接下来的 这篇文章主要讲解BLE中心设备端程序的开发流程,让你的Android设备可以通过 BLE 进行数据的收发。1. 权限配置<uses-permission android:name="android.permission.BLUETOOTH"/>
<
转载
2023-07-25 18:56:57
253阅读
这篇博客主要讲解AndroidBLE蓝牙4.0的基本概念,以及基础用法。 BLE 即 Bluetooth Low Energy,蓝牙低功耗技术,是蓝牙4.0引入的新技术,在安卓4.3(API 18)以上为BLE的核心功能提供平台支持和API。与传统的蓝牙相比,BLE更显著的特点是低功耗,所以现在越来越多的智能设备使用了BLE,比如满大街的智能手环,还有体重秤、血压计、心电计等很多BLE设备都使用
转载
2023-08-20 20:51:42
392阅读
一、前言在上一篇文章Android 蓝牙BLE开发从官方源码demo开始(一)我们已经看了官方的demo,知道了怎么开始配置Android蓝牙4.0,并且也成功地进行扫描并获取回调的蓝牙设备参数,然后对参数进行处理展示,其中第一个参数device,表示一个远程蓝牙设备,里面有它独有的蓝牙地址Address和Name;我们要拿到这个设备Address进行蓝牙连接和读写操作。谷歌给我们提供了官方源码d
转载
2023-10-25 11:42:56
535阅读
Bluetoth学习笔记前言 蓝牙技术其实包括BR/EDR、LE以及AMP三种。其中BR是传统的蓝牙技术,也是我们最常用的一种。LE是低功耗模式,是目前流行的模式。三种模式RF都使用2.4GHz ISM(Industrial Scientific Medical) 频段,频率范围是2.400-2.4835 GHz。1、BR/EDR(Basic Rate/Enhanced
# Android BLE开发教程
## 1. 介绍
在这篇教程中,我将向你介绍如何在Android应用程序中实现BLE(蓝牙低功耗)功能。我将带你了解整个开发流程,并提供每一步所需的代码示例。
## 2. 流程概述
接下来,我将用表格展示整个实现Android BLE的流程:
| 步骤 | 描述 |
| --- | --- |
| 1 | 初始化BLE适配器 |
| 2 | 扫描BLE设备
知识点:经典蓝牙(Classic Bluetooth)& 低功耗蓝牙(Bluetooth Low Energy)经典蓝牙可以用与数据量比较大的传输,如语音,音乐,较高数据量传输等。BLE 特点就如其名,功耗更低的同时,对数据包做出了限制。所以适用于实时性要求比较高,但是数据速率比较低的产品,如鼠标,键盘,传感设备的数据发送等。蓝牙 4.0 支持单模和双模两种部署方式,其中单模即是我们说的
转载
2023-07-09 15:19:18
726阅读
文章目录1、BLE Mesh与BLE 的关系2、应用领域3、网络拓扑和中继4、中继实现5、Mesh传输6、降低能量消耗7、寻址8、GATT代理9、模型和元素(Model / Element)10、配置(Provision)11、配置网络12、安全(Security)13、认证(Authentication)14、邮件加密15、隐私(Privacy)16、重播保护(Replay)17、示例场景:灯
为什么会在RocketMQ系列里面参杂一篇ByteBuffer的文章呢?因为RocketMQ存储消息,是存储在文件中的,而且刚好使用的是ByteBuffer。这个属于Java NIO的内容,平时用到的非常少,如果像我一样没有相关的知识做铺垫,强行看RocketMQ消息存储相关的代码会比较头疼。为了减少学习难度,这里很有必要先介绍一下ByteBuffer相关的知识。Buffer就是缓冲区的意思。如果
文章目录Android BLE开发总结基本知识开发流程详细操作权限申请是否支持蓝牙BLE蓝牙是否开启开启蓝牙搜索BLE设备连接BLE设备断开连接监听连接状态监听蓝牙广播发现BLE服务订阅通知、读、写监听读特征、写特征、特征变化关闭Gatt连接释放资源重启手机蓝牙连不上问题CSDN源码代码下载 Android BLE开发总结基本知识在Android BLE开发中,设备、服务、特征和描述它们之间的关
转载
2023-07-10 10:24:12
88阅读
前言: 连接采用nordicsemi库,其中nRF Connect也是使用该库。蓝牙连接库、nordicsemi官网、nRF Connect apk使用教程、nRF Connect apk下载地址、蓝牙UUID介绍效果图:首先app\build.gradle加入://蓝牙库
implementation 'no.nordicsemi.android:ble:2.2.4'快捷找ID路径如上:id
转载
2023-09-24 10:25:39
125阅读
BLE简介ble是指低功耗蓝牙,谷歌在Android4.3版本的时候加入了低功耗蓝牙的api,随着蓝牙的发展,低功耗成为了主要的方向。低功耗蓝牙的出现让市面上的电子产品越来越人性化,出现了智能手环,也使得我们的生活越来越离不开低功耗蓝牙,废话不多说,直接看BLE的开发步骤吧1.需要的权限<uses-permission android:name="android.permission.BLU
转载
2023-07-09 15:08:38
183阅读
android是一个坑,蓝牙是android的坑中坑,BLE是蓝牙的坑中坑,而20字节数据包的限制是BLE中最不合理的坑,只要开发的APP需要与BLE通信,就绕不开这个坑,因为20字节的数据包的确太小了。如何跳出这个坑几乎是每一个开发者都要面临的问题。无论是网上还是论坛里关于跳这个坑的博文很多,当我也成为一个跳坑者的时候看了很多这样的博文,但
转载
2023-08-16 12:57:12
70阅读
1、开篇本文将主要讲述Android应用开发中对BLE API的使用。Android 4.3(API 18)开始支持蓝牙4.0,但此时Android手机只能作为中心设备或者说主设备,不能作为从设备。Android 5.0(API 21)以后,Android开始支持从设备模式。Android 4.3和5.0以后的API会有一些差别,本文实例会使用5.0以后的API。本文会分别讲解主设备和从设备两种模
转载
2023-07-26 04:20:41
330阅读
前言这段时间参与了一款与蓝牙外设交互的项目, 以前没有涉及过数据传输方面的开发, 踩了不少坑, 同时也学到了很多东西. 此时, 项目也即将进入尾声, 有时间把这些记录一二. 本人才疏学浅, 如有错误,大佬轻喷.BLE4.0开发这方面网上的Demo一大堆, 暂时不做太多的赘述, 只对坑点做一个摘要.需求使然, 要对设备的接近远离有一个比较精确的计算, 使用的方案是对蓝牙的信号强度进行分析. 然而,
转载
2023-07-05 23:15:34
160阅读
一.BLE和BT区别其实我知道许多程序员不太喜欢阅读除了代码以外的文档,因为有时这些过于冗长的文档对编程并没有更多的好处,有了协议,接口,demo差不多很多人就能写出很好质量的代码了。但其实更深入的编程是少了阅读的,阅读文档可以解决很多编程中遇到的困难,比如在大数据大流量情况下,很多正常的程序会表现...
转载
2015-07-25 10:14:00
254阅读
2评论
Mesh设计出来的目的主要是为了解决什么呢?在我看来比较适合的场景为数据量小,对可靠性或者实时性要求不高,但规模较大的场景。 我们知道BLE 5.0出现的多连接理论上可以支持一个蓝牙设备连接无限制个设备,但实际上由于芯片资源限制,一个设备能连接10个设备就算极限了,而且对于成本来说极不划算。在这种情况下,mesh的优势之一就在于不需要建立连接,因此发送消息的步骤相对来说要少一点,可以试着比较一下广
上节我们已经可以连接上蓝牙设备了。本节我们就要获取手环的电池电量和计步啦。在介绍这个之前我们需要先了解下什么是 服务 什么是 UUID我们记得上节中我们item监听事件的回调的返回值是BluetoothGatt 类型的,还记得么?嘿嘿。返回的bluetoothgatt中包含一个或多个BluetoothGattService(服务)每个service包含一个或多个characteristic(特征值