首先要搭建QT for Andorid环境,忘记怎么弄了,基本是要装NDK、JDK、ANDROID STUDIO。
先做测试
QT on Android 编写蓝牙使用HC-05blog.csdn.net
遇到的坑
这份代码是没问题的。由于我没有蓝牙串口下位机,所以我就用这个程序扫描出来蓝牙设备,然后连接我的电脑;此时,电脑上能显示手机已经连接,然而,过几秒就掉了。
手机蓝牙各类服务对应的UUID - 百度文库wenku.baidu.com
由于我使用的UUID,即服务代码是串口服务,那么就告诉电脑我要进行串口读写的操作,可能电脑的蓝牙不支持;在电脑上用软件可以的手机连接进行音频的交互,我考虑试试文件传输服务。
修改UUID为文件传输后可以连接,且不掉线。
后期规划
后期可以测试文件传输,如果测试成功后可以用电脑通过代码把数据按文件发送过来;也可以发送图片;如果测试不成功,则买一个HC-05蓝牙转串口模块,把数据通过该模块发送,图片也可以用串口发送。
进展
- 如果知道蓝牙设备的MAC号,则可以直接连接,所以,把配对好的设备MAC+NAME保存下来,后面可以不用再搜索设备;
- windows中可以在蓝牙的更多蓝牙设置中把蓝牙设置成串口模式;此时,PC把蓝牙虚拟出来的串口打开,用手机就可以心串口模式连接这个蓝牙了,连接后可以收发数据;
- 收发数据目前使用的是异步模式,APP随时可以给PC发数据;手机蓝牙收到PC发来的数据时,对数据进行读取,并解析其中的内容,当有特定的动作时发送特定的“信号”;
- 目前已经实现了所有功能;
- 买了一个HC-05模块,插入到电脑上就是个串口;需要注意的是,要用电脑串口给该模块发送指令AT+ROLE=0,开启从机模式(波特率为9600),发送时要按住模块上的按键,成功后模块返回OK,模块重新上电,即可连接该模块(PIN为1234)。