基于GATT的Windows库,在Windows 10c++中开发界面。

我们成功地完成了解锁过程,直到重新获得txnonce和rxnonce。
我们成功地发送了加密的本地AT帧,并通过指示回调获得了正确的应答。

如果我们随后发出一个新的Local AT命令(使用相同的txnonce加密),则不再触发指示。
这看起来应该在应用层面得到确认,但在解锁过程中却没有必要这么做;这是正确的行为吗?
我们经历了其他几个GATT指示回调示例,似乎即使对于指示也会自动发出确认,而不需要在APP级别进行确认。
设备看起来仍然连接,但没有响应:我们可以用一个新的本地AT命令加密帧成功地写入特征(没有任何错误),但没有指示被触发。

在需要确认的情况下:我们没有找到有关如何确认指示收据的任何信息。

尝试以下操作,但没有成功:

  • 尝试重复解锁过程,但它看起来保持解锁到设备断开连接
  • 收到指示后,在描述符上更新指示标志
  • 收到指示后重新注册回调事件

您不能通过BLE接口发出本地AT命令。对于BLE接口,需要使用远程AT命令。我的建议是查看XCTU Mobile应用程序代码,看看它是如何完成的。

谢谢你的回复,感谢,但我们正在从PC连接。请查看文档(90001539的316页),其中说明在解锁后“您可以发送本地At命令请求0x08帧并接收At命令响应帧”。
事实上,我们得到正确的回答,但只有一次在第一次请求。
我们误解你的意思了吗?

我认为你做到了。我建议查看一下我们的示例应用程序,因为它向您展示了如何做到这一点。

谢谢你的帮助,但是,抱歉,我们没有找到任何基于Windows蓝牙gatt api的示例代码,除了winrt,我们不能使用。
你能把地址写在那里吗?
以下示例在Android中没有问题,但在Windows中没有问题。
非常感谢你的帮助。

用于Android的代码也可以用于Windows。

读了你的帖子,我觉得也许你对这个系统的运作方式有一些误解。

您需要开发MicroPython代码以在XBee本身中运行,或者将您自己的处理器通过UART连接连接到XBee。

然后,您的Windows应用程序将依赖于API帧命令0x2D和0xAD向MicroPython或XBee背后的处理器发送和接收消息。

MicorPython或您的嵌入式固件将处理封装在API帧中的本地AT命令。换句话说,你不能直接从BLE接口控制无线电。你需要一个中间人,可以是MicroPython,也可以是你自己的处理器。

希望这能说得通。