📜  关于HC-05蓝牙模块|与安卓的连接(1)

📅  最后修改于: 2023-12-03 15:22:33.782000             🧑  作者: Mango

关于 HC-05 蓝牙模块与安卓的连接

简介

HC-05 是一种常见的蓝牙模块,可以方便地实现无线数据传输。本文将介绍如何将 HC-05 蓝牙模块与安卓设备进行连接,并实现数据传输功能。

准备工作
硬件准备
  • HC-05 蓝牙模块一块
  • USB 转 TTL 模块一块
  • 杜邦线若干
软件准备
  • Arduino IDE 编程环境
  • Android Studio 编程环境
HC-05 的连接方式
连接电路

将 HC-05 蓝牙模块与 USB 转 TTL 模块连接起来,连接方式如下:

| HC-05 | USB 转 TTL | | :---: | :--------: | | VCC | 5V电源 | | GND | GND | | TXD | RX | | RXD | TX |

配置 HC-05

在 Arduino IDE 编程环境中打开串口监视器,将波特率设置为 38400,发送 AT 命令进行配置。HC-05 蓝牙模块默认波特率为 9600,需通过 AT 命令进行修改。

以下为常用 AT 命令:

AT+NAME=设备名称 // 设置设备名称
AT+ROLE=1 // 设置为主机
AT+CMODE=0 // 设置通信模式,0 为普通模式,1 为兼容模式
AT+INIT // 初始化 HC-05
Android 应用程序开发
添加权限

在 AndroidManifest.xml 文件中添加以下权限:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
连接蓝牙设备

使用 BluetoothAdapter 类获取蓝牙适配器,并搜索蓝牙设备。搜索到设备后,可以使用 BluetoothSocket 建立与设备的连接。

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
BluetoothDevice device = null;
for (BluetoothDevice pairedDevice : pairedDevices) {
    if (pairedDevice.getName().equals("设备名称")) {
        device = pairedDevice;
        break;
    }
}
if (device != null) {
    BluetoothSocket socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
    socket.connect();
}
读写数据

连接成功后,使用 InputStream 和 OutputStream 可以进行数据的读写操作。

InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
byte[] buffer = new byte[1024];
int len;
outputStream.write("Hello World".getBytes());
len = inputStream.read(buffer);
String text = new String(buffer, 0, len);
总结

本文介绍了如何将 HC-05 蓝牙模块与安卓设备进行连接,并实现了数据传输功能。希望本文对大家有所帮助。