蓝牙
文章平均质量分 95
蓝牙相关的知识
初学者-Study
哪怕夜晚再黑暗,太阳照常升起。
展开
-
Android 低功耗蓝牙开发简述
低功耗蓝牙是在传统蓝牙的基础上开发的,但它与传统模块不同。最大的特点是降低了成本和功耗。可以快速搜索并快速连接。它保持连接并以超低功耗传输数据,低功耗蓝牙是专门针对基于物联网(IoT)设备构建的功能和应用程序设计的蓝牙版本。蓝牙BLE允许短期远程无线电连接并延长电池寿命。目前,蓝牙低功耗技术已被广泛使用,例如耳机、手环、电子秤、鼠标、键盘、灯、音箱等设备。蓝牙分为传统蓝牙和低功耗蓝牙。蓝牙4.0及更高版本被称为蓝牙低功耗,其中蓝牙4.0标准包括传统的蓝牙模块部分和蓝牙低功耗模块部分,这是双模式标准。原创 2022-09-15 22:45:00 · 5280 阅读 · 5 评论 -
Harmony Ble蓝牙App(四)描述符
上一篇中了解了特性和属性,同时显示设备蓝牙服务下的特性和属性,本文中就需要来使用这些特性和属性来完成一些功能。原创 2024-01-20 22:30:00 · 1170 阅读 · 0 评论 -
Harmony Ble蓝牙App(三)特性和属性
在上一篇中我们完成了连接和发现服务两个动作,那么再发现服务之后要做什么呢?发现服务只是让你知道设备有什么服务,可以做什么事情。原创 2023-12-04 20:00:00 · 826 阅读 · 0 评论 -
Harmony Ble蓝牙App(二)连接与发现服务
在上一篇中我们进行扫描设备的处理,本文中进行连接和发现服务的数据处理,运行效果图如下所示: 现在我们在扫描设备,选中一个设备进入,下面要对选中的设备进行处理,首先我们来做连接。 在之前我们写了一个BleCore,这里面是对扫描的封装,那么对于连接来说我们同样可以封装到这里,我们可以在中写一个 类,继承自, 代码如下所示: 因为本文要做的事情是连接和发现服务,所以我们就先重写这两个方法,注意一点的是,蓝牙的操作都是在子线程中进行的,如果我们需要知道当前是否连接,则需要写一个接口用于回调到中,在包原创 2023-11-23 20:00:00 · 706 阅读 · 2 评论 -
Harmony Ble 蓝牙App (一)扫描
关于Android的低功耗蓝牙,我做了很多介绍了,那么对于Harmony来说这一块我没有做过介绍,而实际中我确实做过一个Harmony的BLE项目,所以这里分享一些内容出来。//蓝牙设备真实名称//地址//信号强度//设备if (name!= null ||!这个Bean没有什么好说的,下面要做的就是列表Item的渲染,在Android中我们使用的是适配器Adapter,而在Harmony中使用的是提供者Provider。原创 2023-11-20 21:15:00 · 1154 阅读 · 0 评论 -
Android Ble蓝牙App(七)扫描过滤
在上一篇文章中了解了MTU的相关知识以及对于设备操作信息的展示,本篇文章中将增加扫描设备的过滤功能让你更方便的扫描想要找的低功耗蓝牙设备。原创 2023-09-06 19:00:00 · 2293 阅读 · 0 评论 -
Android Ble蓝牙App(六)请求MTU与显示设备信息
在上一篇文章中已经了解了数据操作的方式,而数据交互的字节长度取决于我们手机与蓝牙设备的最大支持长度。原创 2023-08-17 18:16:44 · 3866 阅读 · 3 评论 -
Android Ble蓝牙App(五)数据操作
关于低功耗蓝牙的服务、特性、属性、描述符都已经讲清楚了,而下面就是使用这些知识进行数据的读取、写入、通知等操作。原创 2023-08-14 20:15:00 · 5197 阅读 · 6 评论 -
Android Ble蓝牙App(四)UI优化和描述符
上一篇中了解了特性和属性,同时显示设备蓝牙服务下的特性和属性,本文中就需要来使用这些特性和属性来完成一些功能。原创 2023-08-14 20:00:00 · 1401 阅读 · 0 评论 -
Android Ble蓝牙App(三)特性和属性
在上一篇中我们完成了连接和发现服务两个动作,那么再发现服务之后要做什么呢?发现服务只是让你知道设备有什么服务,可以做什么事情。原创 2023-08-07 18:55:05 · 3065 阅读 · 0 评论 -
Android Ble蓝牙App(二)连接与发现服务
在上一篇中我们进行扫描设备的处理,本文中进行连接和发现服务的数据处理,运行效果图如下所示: 现在我们从MainActivity进入到ScanActivity,选中一个设备返回到MainActivity,下面要对选中的设备进行处理,首先我们来做连接。 在之前我们写了一个BleCore,这里面是对扫描的封装,那么对于连接来说我们同样可以封装到这里,我们可以在BleCore中写一个BleGattCallback 类,代码如下所示: 因为本文要做的事情是连接和发现服务,所以我们就先重写这两个函数,注意原创 2023-08-04 22:00:00 · 3438 阅读 · 2 评论 -
Android Ble蓝牙App(一)扫描
关于低功耗的蓝牙介绍我已经做过很多了,只不过很多人不是奔着学习的目的去的,拿着源码就去运行,后面又发现连接设备后马上断开,然后不会自己看问题,这个现象就是快餐式的,你不了解里面的知识内容,自然就不知道是怎么回事,重复的问题我回答了好多次了。而我也是觉得写的有问题,本意上来说我是希望读者可以参考来写,能看一看文章内容,而结果绝大多数,看个标题看个运行效果,下载源码就运行,运行有问题就问你,没有什么思考。 针对这个情况,我决定做了系列性的Ble蓝牙App,尽可能的避免在你运行的时候出现bug,所以这是一原创 2023-07-31 22:15:00 · 6035 阅读 · 8 评论 -
Android 12 蓝牙适配 Java版
本身已经写过一篇关于蓝牙适配的文章了,不过因为是Kotlin,很多读者看不懂,对此我深感无奈,一开始也没有想过再写Java版本的,但是后面发现看不懂的越来越多了,我意识到不对劲了,因此我觉得再写一个Java版本的。 在Android系统版本中,蓝牙的变化有,但是不多,这里简要说明一下。 在Android12.0中新增加了三个运行时权限,我们依次来说明一下,这里我们依然创建一个项目来说明,新建一个Android12Bluetooth-Java项目,如下图所示:点击Finish,完成项目的创建。然后原创 2023-01-06 21:00:00 · 6050 阅读 · 20 评论 -
Android 连接低功耗蓝牙出现 Caught a RuntimeException from the binder stub implementation.
最近在做低功耗蓝牙开发的时候突然遇到这样一个问题,出现这个情况的时候是我的一个App在Android12、和鸿蒙系统的手机上都正常的情况下,我用Android10去进行测试,然后出现这个问题,问题异常日志描述如下。此时手机连接蓝牙,处于连接中,一直在连接中,新鲜出炉的Bug,得好好记录一下,并且说明一下解决过程。我尝试过的方法:重启大法好,你值得拥有!...原创 2022-06-08 15:27:25 · 1698 阅读 · 0 评论 -
Android 12 蓝牙适配
Android 12.0蓝牙适配前言正文一、Android版本中蓝牙简介二、新建项目① 配置settings.gradle和build.gradle② 配置AndroidManifest.xml三、打开蓝牙① 打开蓝牙意图② 请求BLUETOOTH_CONNECT权限意图四、蓝牙扫描① 扫描者② 扫描回调③ 扫描方法④ 执行扫描前言 在我的申请下,公司终于购买了一台基于Android12.0的手机,然后我就开心的拿去安装测试了,发现程序崩溃了,于是我这里就写下来,Android12.0的蓝牙适配方法。原创 2022-04-26 23:00:00 · 12903 阅读 · 40 评论 -
Android 低功耗蓝牙开发 (扫描过滤、自定义服务与特性)Kotlin版
扫描过滤、自定义服务与特性前言正文一、扫描过滤① 页面设计② 添加菜单③ 过滤设置弹窗前言 之前写过Kotlin版的低功耗蓝牙的扫描连接交互的文章,后面我在实践过程了也发现了一些问题,那就是当我从一个设备换到另一个设备时,需要去改动代码才行,这无疑给调试带了很大的困扰,因此我想对这个App做进一步的优化,有可能会做成一个低功耗蓝牙的通用调试App,最好能满足所有的调试需求,当然这是我的一个想法,下面开始吧。正文 毫无疑问,这也是一个续作,想要结果的直接滑动到底部看源码即可,想了解具体过程的,可以原创 2021-10-15 19:37:58 · 2724 阅读 · 0 评论 -
Android 低功耗蓝牙开发(扫描、连接、数据交互)Kotlin版
低功耗蓝牙开发(扫描、连接、数据交互)Kotlin版前言正文一、配置项目二、页面设计前言 写这篇文章是因为有读者想看看Kotlin中怎么操作低功耗蓝牙,再加上我也想写一些关于Kotlin的内容,对于低功耗蓝牙的Java版的,我写了两篇,一个是扫描、连接,另一篇就是数据交互,而这篇Kotlin文章我会减少讲解的环节,更多的注重业务逻辑和UI以及Kotlin的语法。正文创建项目一、配置项目 配置项目常规来说两个环节,AndroidManifest.xml和build.gradle。Andro原创 2021-09-16 19:23:50 · 4147 阅读 · 10 评论 -
Android 低功耗蓝牙开发(数据交互)
Android 低功耗蓝牙开发(数据交互)前言正文一、BluetoothGattCallback1.前言 在上一篇低功耗蓝牙开发文章中,我讲述了扫描和连接,本篇文章讲述数据的交互。当了解了数据交互后就可以开始进行低功耗蓝牙硬件和手机App软件相结合的项目,例如蓝牙音箱、蓝牙灯、蓝牙锁等等。正文 因为本篇文章会接着上一篇文章进行一个续写,上一篇文章 Android 低功耗蓝牙开发(扫描、连接),没看过的可以先看看,这样可以平稳过度,当然如果对扫描和连接都没有问题的可以直接从本篇文章开始看。一、B原创 2021-09-09 12:08:45 · 6666 阅读 · 36 评论 -
Android 蓝牙开发(扫描设备、绑定、解绑)Kotlin版
Kotlin版 蓝牙开发 (扫描设备、绑定、解绑)前言正文① 配置项目② 布局和样式前言 之前写了一个蓝牙的小Demo,看的人还是有一些的,也有人私信我说,在学Kotlin,能不能出一版Kotlin的博客讲述这个蓝牙开发,这个想法还是不错的,不过就怕写了没有人看,因为在国内Kotlin是受众群体确实比较少,当然了也是有大的方向在往这边推动的,但是小公司依然不会去用Kotlin,如果你看不惯我这个说法也不要告诉我。我只是把这个博客当成是笔记而已,如果能在写作的时候帮助到别人也是乐意的,不能就自勉吧。原创 2020-11-18 16:06:10 · 6098 阅读 · 10 评论 -
Android 低功耗蓝牙开发(扫描、连接)
Android 低功耗蓝牙开发(扫描、连接)前言正文一、项目配置二、权限请求三、扫描低功耗蓝牙四、显示扫描设备五、连接设备六、源码前言 之间我写过蓝牙开发的文章,只不过是针对于经典蓝牙,可以理解为普通蓝牙,连接的对象是经典蓝牙,列如手机蓝牙、蓝牙耳机等设备。而也有读者说在学习低功耗蓝牙,因此就有了这篇文章,一方面是为了丰富蓝牙的使用,一方面也是为了帮助看我文章的读者,我会讲的很细,很多人也说我在记流水账,不过这不重要,重要的是你从流水账里学到了什么。正文 首先明白低功耗蓝牙是什么? 蓝牙低能原创 2021-07-21 19:56:12 · 12745 阅读 · 96 评论 -
Android 蓝牙开发(扫描设备、绑定、解绑)
前言公司最近给我丢了一个蓝牙开发的项目,不了解怎么办呢,那当然是从最基础的开始了,所以这里相当于做笔记了。正文话不多说,创建一个项目才是首要的任务,创建一个名为MyBluetooth的Android项目...原创 2020-07-03 11:01:15 · 12835 阅读 · 57 评论