Serial port XBee通信协议的开发
我在API模式下使用XBee Digimesh模块在不同的工业机器之间发送数据,允许它们共享数据、信息和命令 API模式提供了一些基本命令,主要用于执行寻址和与XBee模块本身对话,以便进行配置等 通过相应的XBee API命令发送用户数据,该命令允许发送最大负载为72字节的用户定义数据 因为我想扩展这种通信,以允许集成更多的机器,等等。我正在考虑如何实现一个基本的通信系统,它可以完美地适应只有72字节的超小负载 来自web,我通常会在这里使用某种JSON,但这会很快填满负载 此外,发送包含大量信息的帧也是不可能的,因为这也会很快填满有效负载 所以我想出了一种不同的交流方式。与其发送包含信息的帧,不如发送类似这样的消息:Serial port XBee通信协议的开发,serial-port,communication,xbee,Serial Port,Communication,Xbee,我在API模式下使用XBee Digimesh模块在不同的工业机器之间发送数据,允许它们共享数据、信息和命令 API模式提供了一些基本命令,主要用于执行寻址和与XBee模块本身对话,以便进行配置等 通过相应的XBee API命令发送用户数据,该命令允许发送最大负载为72字节的用户定义数据 因为我想扩展这种通信,以允许集成更多的机器,等等。我正在考虑如何实现一个基本的通信系统,它可以完美地适应只有72字节的超小负载 来自web,我通常会在这里使用某种JSON,但这会很快填满负载 此外,发送包含大量
- 机器A广播:谁在那里
- 机器B回答:是我,我是xxx机器
- 机器C回答:是我,我是xxx机器
- 机器A对B:你好,B,请给我一些值李>
- 机器B到A:好了,2.349590
但由于这是我第一次考虑通信协议,我很想知道是否有一些现有的框架可以处理轻负载上的复杂通信 您可能希望通读规范,重点是常规命令。它描述了一个属性发现和检索系统。每个属性都有一个16位ID和一个确定其大小的数据类型(各种大小的整数、枚举类型、位图) 它是一个为802.15.4网络的小有效负载设计的协议,您可以基于它的一个子集建立您的协议。其他ZigBee规范只是一个给定16位集群ID的已定义属性(和命令)列表
您的主设备可以通过发现过程获取属性ID列表,然后发送一个请求,一次获取多个ID的值。响应将使用16位ID、8位属性类型和可变长度数据进行压缩。即使您的主设备不知道ID对应的是什么,它也可以将数据传递给其他知道的系统(如web服务器)。您可能希望通读规范,重点是一般命令。它描述了一个属性发现和检索系统。每个属性都有一个16位ID和一个确定其大小的数据类型(各种大小的整数、枚举类型、位图) 它是一个为802.15.4网络的小有效负载设计的协议,您可以基于它的一个子集建立您的协议。其他ZigBee规范只是一个给定16位集群ID的已定义属性(和命令)列表 您的主设备可以通过发现过程获取属性ID列表,然后发送一个请求,一次获取多个ID的值。响应将使用16位ID、8位属性类型和可变长度数据进行压缩。即使您的主设备不知道ID对应的是什么,它也可以将数据传递给其他知道的系统(如web服务器)