我正在开展一个以前的工程师开始的项目。基本上,我们使用WiFi模块将数据从微控制器发送到我们的服务器。
以下是我到目前为止解释代码的方法:
- 模块创建一个用户连接的AP - 用户然后输入IP / URL,允许他们选择他们的WiFi网络 - 模块现在通过选定的网络进行通信 - 模块每秒将套接字连接到我们的TCP服务器并发送数据包 - 如果服务器有一个客户端命令,它将使用命令包进行响应。
我在这里的困惑是试图理解数据包结构。
客户端发出的数据包以[ESC] [Z] ['连接ID'] [0] [0] [0] [6]开始。我假设这与预定义的UART布局有关,但我之前从未使用过UART。
如果有命令,服务器会响应一个也以[ESC] [Z] ['Connection ID'] [0] [0] [0] [6]开头的数据包。然而,客户端然后响应一个包开始[ESC] [Z] ['连接ID']然后是数据。
那么什么是'0006'标题我的数据包,为什么客户端响应中不需要这些值?我假设“ESC”是在网络外发送数据所必需的,而'Z'是预定义的标题。但是,如果我错了,请纠正我!
答案 0 :(得分:0)
标题中的数字只是标题字节后数据包中剩余的字节数。 ><