首先要搭建QT for Andorid环境,忘记怎么弄了,基本是要装NDK、JDK、ANDROID STUDIO。

先做测试


QT on Android 编写蓝牙使用HC-05blog.csdn.net


android studio蓝牙权限 android studio蓝牙连接_怎么查看蓝牙uuid


遇到的坑

这份代码是没问题的。由于我没有蓝牙串口下位机,所以我就用这个程序扫描出来蓝牙设备,然后连接我的电脑;此时,电脑上能显示手机已经连接,然而,过几秒就掉了。

手机蓝牙各类服务对应的UUID - 百度文库wenku.baidu.com


由于我使用的UUID,即服务代码是串口服务,那么就告诉电脑我要进行串口读写的操作,可能电脑的蓝牙不支持;在电脑上用软件可以的手机连接进行音频的交互,我考虑试试文件传输服务。

修改UUID为文件传输后可以连接,且不掉线。

后期规划

后期可以测试文件传输,如果测试成功后可以用电脑通过代码把数据按文件发送过来;也可以发送图片;如果测试不成功,则买一个HC-05蓝牙转串口模块,把数据通过该模块发送,图片也可以用串口发送。

进展

  1. 如果知道蓝牙设备的MAC号,则可以直接连接,所以,把配对好的设备MAC+NAME保存下来,后面可以不用再搜索设备;
  2. windows中可以在蓝牙的更多蓝牙设置中把蓝牙设置成串口模式;此时,PC把蓝牙虚拟出来的串口打开,用手机就可以心串口模式连接这个蓝牙了,连接后可以收发数据;
  3. 收发数据目前使用的是异步模式,APP随时可以给PC发数据;手机蓝牙收到PC发来的数据时,对数据进行读取,并解析其中的内容,当有特定的动作时发送特定的“信号”;
  4. 目前已经实现了所有功能;
  5. 买了一个HC-05模块,插入到电脑上就是个串口;需要注意的是,要用电脑串口给该模块发送指令AT+ROLE=0,开启从机模式(波特率为9600),发送时要按住模块上的按键,成功后模块返回OK,模块重新上电,即可连接该模块(PIN为1234)。