试图了解我通过TCP连接发送/接收的UART数据包
问题描述:
我正在开发一个以前的工程师开始的项目。基本上,我们使用WiFi模块将数据从微控制器发送到我们的服务器。试图了解我通过TCP连接发送/接收的UART数据包
这里是我是如何解释到目前为止的代码:
-The模块创建一个AP,用户连接到。
- 用户然后输入一个IP/URL,这允许他们选择他们的WiFi网络。
- 模块现在通过选定的网络进行通信。
- 模块每秒钟将一个套接字连接到我们的TCP服务器并发送一个数据包。
- 如果服务器有一个用于客户端的命令,它用一个命令包进行响应。
我的困惑在这里试图理解数据包结构。
客户端发出的数据包以[ESC] [Z] ['Connection ID'] [0] [0] [0] [6]开始。我假设这与预定义的UART布局有关,但我以前从未使用过UART。
如果有命令,服务器会以一个也以[ESC] [Z] ['Connection ID'] [0] [0] [0] [6]开头的数据包作出响应。然而,客户端随后以一个数据包作为响应,该数据包开始[ESC] [Z] ['连接ID'],然后是数据。
那么什么是'0006'标题我的数据包,为什么这些值不需要在客户端的响应?我假设'ESC'是发送数据到网络外部所必需的,'Z'是一个预定义的头部。不过,如果我错了,请纠正我!
它可能是一个字节长度?即没有。数据字节如下。客户对该命令的回应看起来像是一个确认。 – user2867342
我真的不知道为什么我没有立即想到,是接下来的代码是串行#到6个字节。 WiFi模块的文档列出了一些UART命令,但没有解释数据,这就是为什么我被抛弃的原因。非常感谢你! – user3693406