繁体   English   中英

如何通过串行端口发送请求从目录中检索数据?

[英]How to retrieve a data from a directory by sending a request through the serial port?

我有一个具有串行端口和以太网的控制器。 我想通过控制器的串行或以太网端口从事件目录中检索事件和与此事件关联的数据。 我确实有要检索的指定事件的数据包格式(请求数据包数据)。 谁能告诉我如何通过串行端口发送请求来检索数据? 我是新手,对编程不太了解。

您将需要在嵌入式平台上运行某种程序,以侦听串行端口并回答请求。 这种程序通常称为“守护程序”(发音与“ demon”相同;就像“ Caesar”押韵与“ sea star”一样)。

如果您已经拥有一个守护程序,则需要弄清楚它使用什么格式。 由于我不知道您可能拥有什么,我什至无法猜测。

如果要编写自己的守护程序,则需要选择某种协议。 我个人比较喜欢串行协议的JSON格式。 如果没有更好的库可用,那么只需使用sscanf()从C库中提取数据就足够简单了,当然,仅使用sprintf()即可构建JSON字符串很容易。

http://json.org/

您需要的是《 POSIX操作系统串行编程指南》 如果由于某种原因绑定到Windows,则可以通过安装Cygwin获得POSIX。 希望您熟悉诸如termiosfcntl类的手册页,因为您必须首先设置串行端口参数才能与您的设备一起使用,尽管它们在某种程度上可能是标准的8-N-1。 然后,只需将字节读取和写入端口的文件描述符即可。 您更可能使用低级的open()close()read()write() ,它们是您更可能使用的stdioprintffopenstdout )之下的级别。作为一个新的程序员。

如今的计算机通常缺少RS232串行端口,因此,如果需要RS232串行端口,您可以找到便宜的USB适配器。 请注意,根据我的经验,USB适配器不一定会实现某些辅助信号(RTS,CTS等)。

另外,请针对您的特定需求和情况查看图书馆。

您应该指定控制器以获得更多有用的答案。

您的控制器应支持任何数据交换协议。 您可以在文档中找到此信息。 可能是,它支持MODBUS或MODBUS TCP。 在这种情况下,您可以使用任何与Modbus兼容的软件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM