如何修复未知格式?

How do I fix Unknown Format?

这是我第一次尝试在 C# 或 VisualStudio 上编写代码。 对不起,如果我太新手了。

我有一个 raspberry pi 零设置作为 BLE GATT 服务器,我完全按照这个 guide

我的最终目标只是尝试从 pi 零发送文本到我的笔记本电脑。

对 python 有点熟悉,我曾尝试使用 Bleak 与 GATT 服务器通信,但由于某种原因,我始终无法连接到 GATT 服务器。所以我放弃了尝试修补 Bleak。

(请注意,我已经使用 nRF Toolbox 验证了 pi zero BLE GATT 服务器是否设置正确)

快进,有一天我从 Microsoft 看到了这个 BLE GATT Client Sample。所以我下载了 VisualStudio 并按照指南部署示例。

一切正常,我可以连接到 GATT 服务器并将数据写入特定的 RX 特性。

但真正的问题在于 TX 特性,当我尝试将数据从 GATT 服务器控制台发送到笔记本电脑时。 BLE 客户端示例会将值显示为“Unknown Format”

似乎在更新 TX 特性之前,数据将被编码(value.append(dbus.Byte(c.encode())))。

我试图 Google 对此进行研究,但任何进一步的研究只会让我的头更痛。

抱歉,谁能告诉我如何解决这个“未知格式”数据解码问题?

提前致谢。

在服务器 (RPi) 上你有:

UART_TX_CHARACTERISTIC_UUID = '6e400003-b5a3-f393-e0a9-e50e24dcca9e' 作为 'notify'

UART_RX_CHARACTERISTIC_UUID = '6e400002-b5a3-f393-e0a9-e50e24dcca9e' 是 'write'

这意味着在客户端 (PC) 上,您需要 0003 为 'write',0002 为 'notify'。

你说问题是当服务器写入时 0002 你得到的是未知格式?

BLE 将始终以字节数组形式发送数据,我怀疑您需要在客户端上为收到的数据做这样的事情previous answer