问题描述
我目前正在使用 Flutter Blue 进行一个项目,但在接收指示时遇到了一些问题。
设置如下:
- 手机写入特征
- 物联网设备接收写入,处理它并使用相同的特性进行指示
- 手机接收指示并显示接收到的数据
现在进入一些代码:
我正在做的是以下内容:
services.forEach((BluetoothService service) {
service.characteristics.forEach((BluetoothCharacteristic characteristic) {
if (characteristic.uuid == configurationGuid) {
_listenOnCharacteristic(characteristic);
} else if (characteristic.uuid == liveDataGuid) {
_listenOnCharacteristic(characteristic);
} else if (characteristic.uuid == firmwareUpdateGuid) {
configurationCharacteristic = characteristic;
_writeCharacteristic = characteristic;
_listenOnCharacteristic(characteristic);
} else if (characteristic.uuid == dataOutputGuid) {
_listenOnCharacteristic(characteristic);
}
});
});
因此,我为 Peripheral Gatt Server 用于输出其数据的每个特征设置了一个侦听器
监听器是通过characteristic.value.listen()函数创建的,监听器也是延迟设置的,避免I/O繁忙的问题
设置监听器后,我再次延迟以确保监听器已正确启动,然后我只是写入特性并等待响应。
但是,现在问题来了:
无法从 IoT 设备获取数据后,我尝试在第二部手机上设置 GATT 服务器,我将数据发送到该服务器以等待响应,但侦听器未获得任何指示数据
>但是,他们能够获得通知数据,这很奇怪,因为根据库的文档,两者的处理应该相同。
所以我希望这里有人对我的问题有一些意见。
提前致谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)