蓝牙之-----------BluetoothChat

来源:互联网 发布:氰化氢淘宝有卖吗 编辑:程序博客网 时间:2024/06/08 01:06

前段时间,做了个东西,通过蓝牙spp服务,将手机与蓝牙模块HC-06连接起来,利用了android自带的BluetoothChat聊天软件。


蓝牙spp服务:

蓝牙众多服务中的一种,它定义了如何设置虚拟串行端口以及如何连接两个蓝牙设备。两个设备通过虚拟串行端口连接,也就是把蓝牙当做串口线来使用,这样能够在蓝牙设备之间创建串口数据传输。因为android封装了接口,所以我们只需要通过UUID来调用这个服务就可以了。


BluetoothChat代码分析:

主要有三个文件:1、BluetoothChat  主界面,显示聊天信息;2、BluetoothChatService  定义的一个后台服务类,用来进行蓝牙连接(其中有三个线程:服务端监听线程AcceptThread,客户端主动连接线程ConnectThread,连接成功后的通信线程ConnectedThread);3、DeviceListActivity 蓝牙扫描选择界面,主要用来扫描选择设备。

具体的代码就不分析了,可以阅读这篇文章Android 通过samples\android-x\BluetoothChat学习蓝牙操作。

具体的实现:

1、在这种情况下,HC-06作为一个固定的服务端,我们的手机作为客户端主动去连接,所以监听线程AcceptThread不需要;

2、每一个HC-06的扫描设备地址是固定的,在家电等实际应用中如果需要选择设备这不现实,所以打开蓝牙后,直接遍历判断设备地址,得到正确的服务端设备;

3、因为使用的是spp服务,所以需要将UUID设置为00001101-0000-1000-8000-00805F9B34FB;

注:如果代码实现没有问题,但是不能通信,可以看看收发端口有没有接错,另外看看波特率是否正确。(HC-06波特率默认9600,可以通过串口调试助手修改)

0 0
原创粉丝点击