上一篇写了尝鲜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,这个在芯片的使用手册里有说明
增加了发送区,可以发送自己手动输入的内容。原来例程是点击发送,发送一个Hello World。
增加了接收区,将接收区和日志输出区分开了。原来例程是一起的。
把原作者的广告信息换成了新的广告信息,这个是重点
关注公众号,扫码加入嵌入式交流群: