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

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

上一篇写了尝鲜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因为原作者用的蓝牙模块和我不一样,不改动是没法正常使用的。

static const QLatin1String serviceUuid("{00010203-0405-0607-0809-0a0b0c0d1910}");

改为:

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的美化、和不同尺寸手机的适配、更加丰富的功能等,感兴趣的朋友可以拿源代码自由发挥,需要修改后源代码的可以在文章下方留言。

今天就到这里,下篇文章再见。

相关文章
|
21小时前
|
设计模式 前端开发 网络协议
Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂
Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂
|
21小时前
|
缓存 网络协议 Java
挑战全网,史上最全Android开发进阶,跳槽复习指南(1),掌握这6大技能体系
挑战全网,史上最全Android开发进阶,跳槽复习指南(1),掌握这6大技能体系
|
22小时前
|
缓存 JSON Java
Android 深入Http(5)从Retrofit源码来看Http,最新Android开发面试解答
Android 深入Http(5)从Retrofit源码来看Http,最新Android开发面试解答
|
22小时前
|
Android开发
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
|
23小时前
|
XML Dart Java
Flutter插件开发之APK自动安装,字节跳动Android岗面试题
Flutter插件开发之APK自动安装,字节跳动Android岗面试题
|
23小时前
|
Android开发
Android通讯录开发之通讯录联系人搜索功能最新实现
Android通讯录开发之通讯录联系人搜索功能最新实现
|
1天前
|
缓存 Java Android开发
大厂首发,Android开发社招面试总结
大厂首发,Android开发社招面试总结
大厂首发,Android开发社招面试总结
|
传感器 XML 物联网
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
原文:Android项目实战(三十四):蓝牙4.0 BLE 多设备连接   最近项目有个需求,手机设备连接多个蓝牙4.0 设备 并获取这些设备的数据。   查询了很多资料终于实现,现进行总结。   ------------------------------------------------...
1420 0
|
传感器 XML 物联网
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
  最近项目有个需求,手机设备连接多个蓝牙4.0 设备 并获取这些设备的数据。   查询了很多资料终于实现,现进行总结。   ---------------------------------------------------------------------------------------...
1136 0
|
1天前
|
Android开发 缓存 双11
android的基础ui组件,Android开发社招面试经验
android的基础ui组件,Android开发社招面试经验
android的基础ui组件,Android开发社招面试经验