我有一个应用程序,我想在其中模拟设备和“调制解调器”之间的连接。该设备将连接到串行端口,并通过该端口与软件调制解调器通信。
为了进行测试,我希望能够使用模拟软件设备来测试发送和接收数据。
示例Python代码
device = Device()
modem = Modem()
device.connect(modem)
device.write("Hello")
modem_reply = device.read()
现在,在我的最终应用程序中,我将仅传递/dev/ttyS1或COM1或任何供应用程序使用的内容。但是,如何在软件中执行此操作?我正在运行Linux ,应用程序是用 Python 编写的。
我试过制作一个FIFO(mkfifo~/my_fifo
),它确实起作用,但是随后我将需要一个FIFO来进行写入,而需要一个FIFO来进行读取。我想要的是打开~/my_fake_serial_port
并对其进行读写。
我也对该pty
模块付了款,但是也不能使它正常工作。我可以从中获取主文件和从文件描述符,pty.openpty()
但是尝试读取或写入它们只会导致IOErrorBad File Descriptor
错误消息。
注释将我引向SO问题,在Linux中是否有像COM0COM这样的程序?其使用socat
设置一个虚拟串行连接。我这样使用它:
socat PTY,link=$HOME/COM1 PTY,link=$HOME/COM2
对于其他人,谢谢您给我的宝贵信息。我选择接受 _VinaySajips_的回答,因为那是我在socat建议出现之前所寻求的解决方案。看来效果很好。
问题内容: 我正在Linux上的串行端口上实现协议。该协议基于请求应答方案,因此吞吐量受将数据包发送到设备并获得应答所花费的时间限制。这些设备主要基于Arm,并且运行Linux> = 3.0。我无法将往返时间缩短到10ms以下(115200波特,8个数据位,无奇偶校验,每条消息7个字节)。 哪些IO接口将为我带来最低的延迟:选择,轮询,epoll或使用ioctl手动轮询?阻塞或非阻塞IO是否会影响
问题内容: 当我发现一些奇怪的东西时,我正在玩一些代码: 对我来说奇怪的是变量i地址的变化。 我的猜测是内核提供了不同的堆栈起始地址来尝试阻止某种破解。真正的原因是什么? 问题答案: 正是由于这个原因,在多个操作系统上使用了地址空间布局随机化。堆栈指针地址的变化很可能是由这种情况引起的- 在最新版本的Linux和/或* BSD上很可能是这种情况。IIRC Windows的最新版本也可以做到这一点。
本文向大家介绍linux下通过命令行获取gmail的新邮件,包括了linux下通过命令行获取gmail的新邮件的使用技巧和注意事项,需要的朋友参考一下 linux下通过命令行获取gmail的新邮件,不需输入@gmail.com部分 以上所述就是本文的全部内容了,希望大家能够喜欢。
我正在尝试使用arduino通过串行通信从泼妇软件获取传入数据。并将数据移动到其他12个arduino,如果我将泼妇的通道号保留为43,但我需要控制480个通道,它就可以工作。所以第一个arduino控制43个通道,下一个是44-87,依此类推。 这是我的主代码:'ulusetup(){Serial.begin(9600); }}//输出
我在一个项目中,我想通过串行通信发送传感器数据从Arduino到PHP。 不幸的是,我无法读取PHP中的串行端口。然而,另一个方向(PHP到Arduino)工作得很好。我使用的是php_系列。班来自Rémy Sanchez的php,由Rizwan Kassim修改。我依赖于readPort()函数。 我在Mac OS X上使用Arduino UNO和Apache WAMP-Server。我应该实现
本文向大家介绍Ubuntu虚拟机下使用cutecom进行串口通信的方法,包括了Ubuntu虚拟机下使用cutecom进行串口通信的方法的使用技巧和注意事项,需要的朋友参考一下 Ubuntu虚拟机下使用cutecom进行串口通信 1. 安装cutecom 使用以下命令安装cutecom sudo apt-get install cutecom 调用以下命令打开cutecom sudo su cute