Flutter_Blue 无法扫描我的设备。 (我的蓝牙音箱)Android
Flutter_Blue can't scan my device. (My BT speaker) Android
我是 Flutter 的新手,我正在从事一个需要蓝牙连接到我的硬件的项目。
据我所知,Flutter_Blue 是这样工作的:
- 获取Flutter_Blue个实例
- 使用
scan()
开始扫描,同时挂接一个侦听器以侦听新设备。 (这将 return ScanedDevice,然后将其添加到我的列表中。)
- 从我的列表中选择一个我想连接的设备,
await device.connect()
- 连接成功后,通过
device.discoverServices()
发现其服务
for characteristics in service.characteristics
从该设备获取特征。
- 使用
characteristic.read().listen((value){//do something with value});
而且我在扫描设备的第 2 阶段一直失败。
我无法通过 scan()
找到我的 Bluetooth_Speaker,我尝试使用不同的扫描模式(低延迟、低能量、平衡)。
我可以很容易地找到不是我的其他设备(但它们不知何故没有名称,所有 ID 都是唯一的)。
我已经尝试使用我朋友的 phone 作为我的应用扫描的设备,但仍然没有结果。
在我的android蓝牙设置页面,我可以在扫描新设备页面找到蓝牙音箱(也是我朋友的phone)。
请告诉我哪里出了问题,我将不胜感激。谢谢。
环境:
- 索尼XZ2(Android版本:9)
- 颤动版本:2.0.5
- 飞镖版本:2.12.3
- sdk: ">=2.7.0 <3.0.0"
- flutter_blue: 0.6.3+1
- IDE: VSCode
编译方式:flutter 运行
查看回复后学习的课程:
- Bluetooth_Low_Energy(BLE) 不能 discover/connect 到经典蓝牙。也不是其他方式(经典 -> BLE)。
你能试试 flutterBlue.startScan();
而不是 scan()
吗?
蓝牙有两种类型
- 经典
- 低能耗(LE)
Bluetooth_Low_Energy(BLE) 是一种能耗较低的技术,但传输速度较慢。
经典设备可以提供 24Mbps,其中 Low_Energy 仅提供 1Mbps。
这两种蓝牙不能互相连接
在这种情况下,Flutter的Flutter_Blue库使用了Low_Energy服务,蓝牙音箱作为Classic设备使用,所以Flutter_Blue不能scan/discover演讲者。
我是 Flutter 的新手,我正在从事一个需要蓝牙连接到我的硬件的项目。 据我所知,Flutter_Blue 是这样工作的:
- 获取Flutter_Blue个实例
- 使用
scan()
开始扫描,同时挂接一个侦听器以侦听新设备。 (这将 return ScanedDevice,然后将其添加到我的列表中。) - 从我的列表中选择一个我想连接的设备,
await device.connect()
- 连接成功后,通过
device.discoverServices()
发现其服务
for characteristics in service.characteristics
从该设备获取特征。- 使用
characteristic.read().listen((value){//do something with value});
而且我在扫描设备的第 2 阶段一直失败。
我无法通过 scan()
找到我的 Bluetooth_Speaker,我尝试使用不同的扫描模式(低延迟、低能量、平衡)。
我可以很容易地找到不是我的其他设备(但它们不知何故没有名称,所有 ID 都是唯一的)。 我已经尝试使用我朋友的 phone 作为我的应用扫描的设备,但仍然没有结果。
在我的android蓝牙设置页面,我可以在扫描新设备页面找到蓝牙音箱(也是我朋友的phone)。
请告诉我哪里出了问题,我将不胜感激。谢谢。
环境:
- 索尼XZ2(Android版本:9)
- 颤动版本:2.0.5
- 飞镖版本:2.12.3
- sdk: ">=2.7.0 <3.0.0"
- flutter_blue: 0.6.3+1
- IDE: VSCode
编译方式:flutter 运行
查看回复后学习的课程:
- Bluetooth_Low_Energy(BLE) 不能 discover/connect 到经典蓝牙。也不是其他方式(经典 -> BLE)。
你能试试 flutterBlue.startScan();
而不是 scan()
吗?
蓝牙有两种类型
- 经典
- 低能耗(LE)
Bluetooth_Low_Energy(BLE) 是一种能耗较低的技术,但传输速度较慢。 经典设备可以提供 24Mbps,其中 Low_Energy 仅提供 1Mbps。
这两种蓝牙不能互相连接
在这种情况下,Flutter的Flutter_Blue库使用了Low_Energy服务,蓝牙音箱作为Classic设备使用,所以Flutter_Blue不能scan/discover演讲者。