我认为您正在遵循这样的教程:https ://www.electronicshub.org/hc-05-bluetooth-module/
我不知道你到底有什么应用程序以及它发送什么数据。这很可能是问题所在。像这里使用的应用程序不是很复杂,Android中的任何BT通信都是基于BluetoothAdapter
类的。您可以按照https://www.youtube.com/watch?v=iFtjox9_zAI轻松编写自己的应用程序或从网上复制代码。
要添加发送和接收功能,请参阅Android 示例蓝牙代码以通过蓝牙发送简单字符串
发送和接收是使用RfcommSockets
附加的OutputStream
,这是在代码中
if(bondedDevices.size() > 0) {
Object[] devices = (Object []) bondedDevices.toArray();
BluetoothDevice device = (BluetoothDevice) devices[position];
ParcelUuid[] uuids = device.getUuids();
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuids[0].getUuid());
socket.connect();
outputStream = socket.getOutputStream();
inStream = socket.getInputStream();
和
public void write(String s) throws IOException {
outputStream.write(s.getBytes());
或者从 PlayStore 加载应用程序蓝牙终端 HC-05并尝试使用它https://play.google.com/store/apps/details?id=project.bluetoothterminal&hl=de
如果您想发送整个.apk文件而不是简单的命令字符串,您必须使用另一个协议/蓝牙配置文件选项(FTP、OPP 或 OBEX)。为此获取应用蓝牙文件传输 https://www.androidpit.com/how-to-send-apps-with-bluetooth
为了能够发送整个文件,您必须在 STM32 上实现文件系统,否则您只能使用从蓝牙接收缓冲区读取数据然后将其作为原始二进制数据复制到内存的程序将二进制文件写入内存。
(使用蓝牙传输文件背后的技术在http://www.diva-portal.org/smash/get/diva2:1020079/FULLTEXT01.pdf - File Transfer Using Bluetooth中有解释)