Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我也是可以开发安卓蓝牙应用的男人了

我也是可以开发安卓蓝牙应用的男人了

作者头像
用户2366192
发布于 2021-05-31 07:07:13
发布于 2021-05-31 07:07:13
1.2K00
代码可运行
举报
文章被收录于专栏:TopSemic嵌入式TopSemic嵌入式
运行总次数:0
代码可运行

上一篇写了尝鲜1.6元的蓝牙芯片KT6368A,还没完,今天的主题是实现手机端的测试软件。手机端大家通常会用LightBlue或者Nordic的nRF Connect软件做测试,但是作为干嵌入式的攻城狮,我相信肯定有不少人会有兴趣想自己弄一个可以修改的软件,难不成今天要介绍安卓编程了吗?不,因为我不会!我觉得也没必要专门为了这个去学安卓,毕竟我们也不是专门从事安卓开发的。有一种方法可以搞定,那就是使用QT,大家知道QT可以跨平台运行,并且用的也是嵌入式工程师熟悉的C++语言,所以可以用QT整一个在安卓系统里运行的蓝牙软件。

下面介绍实现方法:

第一步:QT安卓开发环境搭建

我用的QT 5.13,具体环境搭建大家可以参考:https://blog.csdn.net/tanglei1224/article/details/104820485

搭建完安卓环境,如果想编译安卓平台的程序,编译的时候只选择如下Kit就可以,其它都不用变

如果手机通过USB连接电脑的话,点击运行,手机端就会提示你安装应用程序。当然也可以把编译后生成的apk放到手机里安装,编译生成的apk在如下目录:

第二步:找QT 安卓BLE程序

我喜欢用前人造好的轮子,在网上找到了这篇文章:https://blog.csdn.net/rsd102/article/details/112453131 ,恰巧还认识该作者小哈哥,我把他的公众号原文也放到这里:Qt编程实例:基于Android的BLE通信软件,文中有代码的解释,感谢小哈哥的分享,让我很快实现了自己的想法。

为了证明我也干了一点事情,我实际上做了几处小小的改动:

1. 修改UUID。因为原作者用的蓝牙模块和我不一样,不改动是没法正常使用的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
static const QLatin1String serviceUuid("{00010203-0405-0607-0809-0a0b0c0d1910}");

改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
static const quint16 serviceUuid = (quint16)0xfff0;

KTA6368A默认是16位UUID 0xFFF0,这个在芯片的使用手册里有说明

  1. 增加了发送区,可以发送自己手动输入的内容。原来例程是点击发送,发送一个Hello World。
  2. 增加了接收区,将接收区和日志输出区分开了。原来例程是一起的。
  3. 把原作者的广告信息换成了新的广告信息,这个是重点?。

第三步:实际测试

  1. 手机安装完之后,打开APP,自动搜索周围的蓝牙,显示在蓝牙列表里
  1. 点击需要连接的KTA6368A对应的蓝牙,点击连接按钮

连接成功后,日志如下

不知道为什么,我经常需要点击两次连接按钮才能连接成功,后面再研究研究是什么原因。

  1. 测试手机发送数据给KTA6368A
  1. 测试KTA6368A发送数据给手机

这样就初步实现了我们的目标,以后也可以出去吹牛自己也是可以开发安卓程序的人了。

当然这个QT程序还有很多可以改进的地方,比如UI的美化、和不同尺寸手机的适配、更加丰富的功能等,感兴趣的朋友可以拿源代码自由发挥,需要修改后源代码的可以在文章下方留言。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TopSemic嵌入式 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
蓝牙芯片----BK34341开发笔记------快速入门(2)
编译成功后在目录\output\app下,会生成几个bin文件,用联机下载器烧录带CRC的bin文件,如图的bin
心跳包
2020/08/31
2.5K0
蓝牙芯片----BK34341开发笔记------快速入门(2)
关于KT6368A双模蓝牙芯片的BLE在ios的lightblue大数量数据测试
关于KT6368A双模蓝牙芯片的BLE在ios的lightblue app大数量数据测试
清月电子
2024/01/17
2010
关于KT6368A双模蓝牙芯片的BLE在ios的lightblue大数量数据测试
kt6368A双模蓝牙芯片无法透传 可能是什么问题呢
KT6368A蓝牙芯片,在使用上还是非常的简单,总共也就8个腿,焊接也是很容易的事情
清月电子
2023/11/15
2130
kt6368A双模蓝牙芯片无法透传 可能是什么问题呢
QT应用编程: 编写HC05串口蓝牙调试助手(Android系统APP)
完整工程源码下载地址(包含APK文件): https://download.csdn.net/download/xiaolong1126626497/19051787
DS小龙哥
2022/01/07
2.6K0
QT应用编程: 编写HC05串口蓝牙调试助手(Android系统APP)
一个蓝牙实战项目的掏肺总结
前不久一个在深圳的大学好友联系到我,他们公司需要做一个USB蓝牙接收器,功能大体如下:
用户2366192
2021/05/31
1.2K0
KT6368A蓝牙芯片发送指令设置中文蓝牙名是乱码 这个要如何处理
一、KT6368A蓝牙芯片为什么发送at指令设置中文spp蓝牙名,是乱码 这个要如何处理
清月电子
2023/11/15
2470
KT6368A蓝牙芯片发送指令设置中文蓝牙名是乱码 这个要如何处理
APP与硬件交互-蓝牙连接测试
7. UUID:蓝牙上的唯一标示符,为了区分不同服务和特征,就用UUID来表示。
用户5521279
2019/07/30
5.6K0
鸿蒙开发实战案例:蓝牙实现服务端和客户端通讯
本示例分为服务端和客户端两个功能模块。 服务端创建蓝牙服务实例,添加心率跳动服务。以心率跳动值作为特征值,通过notifyCharacteristicChanged接口将心率跳动特征值广播发送给连接到本服务端并订阅了该特征值变动通知的蓝牙客户端设备。
小帅聊鸿蒙
2025/02/23
1000
鸿蒙开发实战案例:蓝牙实现服务端和客户端通讯
R-Plan 手把手教你开发BLE微信小程序
背景 最近在测试BLE模块,本来想用别家的产品来测试我的BLE模块,经过一番询问,别家的BLE的MASTER模式只能配对自家的SLAVE模式。也就是说他不能配对我的BLE模块,这就让我郁闷了。绝望。 手机的BLE调试助手又不能自动化测试,需要手动调试。太麻烦。 之前我也写过一篇文章《Android BLE 开发》--初学者,这个安卓原生APP,对于一个没有任何安卓基础的我,花了3天的时间干了这个四不像的BLE安卓调试工具。原生的APP搭建环境就非常痛苦了,更何况开发。想要再次开发,想想还是算了。 所以想了想
Rice加饭
2022/05/10
1.3K0
R-Plan 手把手教你开发BLE微信小程序
用BW21-CBV-Kit做一个蓝牙温湿度计
本文介绍了安信可 BW21-CBV-Kit 开发板实现蓝牙温湿度计的DIY制作流程。
安信可科技
2025/03/19
970
Android BLE 蓝牙开发,连接蓝牙设备进行通讯
讲解如何通过 UUID 连接蓝牙设备。如果你针对 GATT 服务不太了解。那么这篇应该能够稍微帮助到你。
zinyan.com
2023/07/14
6K1
Android BLE 蓝牙开发,连接蓝牙设备进行通讯
QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)
完整工程源码下载地址(包含APK文件): https://download.csdn.net/download/xiaolong1126626497/19051696
DS小龙哥
2022/01/07
4.1K0
QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)
MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描
MAUI的出现,赋予了广大Net开发者开发多平台应用的能力,MAUI 是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并不完整。
JusterZhu
2022/12/07
1.5K0
MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描
零基础开发蓝牙设备
现在几乎每个人的手机都具备蓝牙功能,所以如果你的硬件设备也具备蓝牙通信功能,那么便可以很容易和手机建立通信,从而具备IOT物联网属性。但我们也知道蓝牙Ble(目前已发展到5.2版本)协议极其复杂,并不是所有人都需要去详细了解它,我们更多的需求是能够使用它就足够了。所以这里我们可以用shineblink.com提供的core物联网核心板,基于core我们能够在短短几分钟内只用几行代码就可以定制出我们自己的蓝牙设备,并且基于core配套的《免开发App》,我们甚至连手机端App开发的工作都省掉了。
shineblink
2020/11/29
1.2K0
零基础开发蓝牙设备
如何使用蓝牙实现OTA固件升级
作为一种低成本的近距离无线连接协议,蓝牙在现实生活中的应用非常广泛,各种嵌入式、物联网设备随处可见。基于这一特性,我们今天讲一下如何使用蓝牙实现OTA固件升级。
xiangzhihong
2022/10/31
3.7K0
微信小程序蓝牙开发,微信小程序 蓝牙通讯
客户的需求如下:通过微信小程序控制蓝牙ble设备(电子面膜),通过不同指令控制面膜的亮度和时间。
高久峰
2023/07/02
1.2K0
基于51设计的宠物防丢系统(蓝牙+Android上位机)
手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解)
DS小龙哥
2022/01/21
1K0
基于51设计的宠物防丢系统(蓝牙+Android上位机)
Arduino 入门项目系列 (5) - Android 手机通过蓝牙语音控制 LED
为了加快 Arduino 的学习,决定周一这一天的上午也用来学习 Arduino。今天还是继续学习蓝牙模块的使用。实现通过蓝牙模块,在手机端语音控制 LED 的功能。这种思路后续再扩宽的话,加上动手能力强的话,完全自己搭建智能家居系统。
caoqi95
2019/03/28
2.3K0
Arduino 入门项目系列 (5) - Android 手机通过蓝牙语音控制 LED
物联网来了,你还不会蓝牙开发?
随着物联网时代的到来,越来越多的智能硬件设备开始流行起来,比如智能手环、心率检测仪、以及各式各样的智能家具和玩具类产品。安卓4.3(API 18)为BLE的核心功能提供平台支持和API,App可以利用它来发现设备、查询服务和读写特性。相比传统的蓝牙,BLE更显著的特点是低功耗。本文主要讲解Android低功耗蓝牙的api使用以及蓝牙扫描、连接、发送数据、接收数据等一系列操作,并主要介绍本人封装的BleLib蓝牙库,非常适合蓝牙初学者使用,只需要一行代码注入就OK了,而且用法也极其简单,下面会专门讲解BleLib库的使用。
陈宇明
2020/12/15
1K0
物联网来了,你还不会蓝牙开发?
App Inventor 2 低功耗蓝牙(BLE) 硬件接入、数据通信及IO控制
低功耗蓝牙(BLE)以低功耗、低成本、开发简便逐渐被广泛应用,本文主要介绍一款较为通用、价格低廉的BLE设备从零开始如何利用App Inventor 2开发一款自己专属的手机蓝牙App应用。
用户10956490
2024/01/31
1K0
App Inventor 2 低功耗蓝牙(BLE) 硬件接入、数据通信及IO控制
推荐阅读
相关推荐
蓝牙芯片----BK34341开发笔记------快速入门(2)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验