HTTP 通信的标准消息结构

物联网 沟通
2021-06-05 07:29:49

我的问题可能有点奇怪,但我找不到任何答案。我正在设计一个简单的物联网系统,它有一些设备作为客户端和一个服务器来控制这些客户端,如读取传感器、发送命令等。在通信方面,我可以使用任何基于互联网的协议,如 HTTP、UDP、TCP , 等等。

另一方面,设备使用蜂窝网络 2G 连接到带宽较低的网络。客户端和服务器之间是否有任何标准的消息结构?

例如,如果我想在可以发送的设备上设置 LED,led=1或者我可以使用基于 JSON 的结构,例如{led: 1}. 但是我有一个非常低的带宽,我想使用一个使用紧凑尺寸的简单结构。有什么标准吗?

一个设备可能有多达 10 个传感器和 10 个输出,我想尽快获得值。

我知道我可以压缩我的消息,但我需要一个健壮和紧凑的消息结构。

1个回答

首先,如果您使用 HTTP,那么 HTTP 标头很可能会使您实际发送的任何消息相形见绌。如果您的主要目标之一是减少带宽使用,那么像 MQTT 这样的低开销协议可能更适合。

至于数据的格式,它归结为发送的值的类型,以及您是否需要数据始终是人类可读的。

如果你想要真正紧密的包装,那么像Protocol Buffers这样的东西,但你需要在每一端都有一个编码器/解码器来把它转回人类可读的值。