uniapp连接蓝牙设备

uni蓝牙
现在还没有设备 先研究文档简单实现手机连手机 然后试着发送文件
然后真机调用uni.onBluetoothDeviceFound搜不到另一台安卓测试机是正常的吗
能搜到公司的小米电视也连接不上 报超时的问题
能搜到一堆没名称的 试着连接成功搜索服务列表也为空 卡住进行不下去了
请问问题是出现在设备上吗
有无有经验者帮忙解答一下 感激不尽 五体投地

Uniapp蓝牙模块的开发需要注意以下几点:

  1. 需要在manifest.json文件中开启蓝牙权限。

  2. 在真机上调试时,请确保您的手机支持BLE协议,并且已经开启了蓝牙功能。在测试设备之间进行蓝牙通信时,两个设备都需要支持BLE协议。

  3. 在调用uni.onBluetoothDeviceFound方法之前,需要先调用uni.openBluetoothAdapter方法开启蓝牙适配器。在调用uni.onBluetoothDeviceFound方法之后,需要调用uni.stopBluetoothDevicesDiscovery方法停止蓝牙设备的发现过程。

  4. 在连接蓝牙设备之前,需要先调用uni.createBLEConnection方法建立蓝牙连接。在建立连接之后,可以调用uni.getBLEDeviceServices方法获取蓝牙设备的服务列表,然后调用uni.getBLEDeviceCharacteristics方法获取服务的特征值列表。通过这些特征值,可以实现蓝牙数据的读写操作。

  5. 在进行蓝牙通信时,需要遵循BLE协议的通信格式。通常情况下,先发送一个请求,然后等待蓝牙设备的回应。如果回应正确,就可以进行下一步操作。

在您的问题中,如果您的测试设备没有开启蓝牙功能或者不支持BLE协议,那么可能会导致无法搜索到其他设备。另外,如果您的测试设备距离过远,也可能会导致搜索不到其他设备。如果您能够搜索到其他设备,但是无法建立连接或者无法读写数据,那么可能是通信格式不正确或者通信过程中出现了错误。

需要注意的是,由于蓝牙通信涉及到硬件设备的操作,因此在进行蓝牙开发时可能会遇到各种各样的问题。如果您无法解决问题,可以查阅Uniapp官方文档或者相关的开发者社区来获取帮助。