28 linux tcp serial-port
我需要从Linux系统的串行端口获取数据并将其转换为TCP/IP以发送到服务器.难道这难吗?我有一些基本的编程经验,但没有太多的Linux经验.是否有一个开源应用程序这样做?
Jud*_*den 31
您不需要编写程序来在Linux中执行此操作.只需通过netcat 管道串口:
netcat www.example.com port </dev/ttyS0 >/dev/ttyS0
Run Code Online (Sandbox Code Playgroud)
只需替换地址和端口信息即可.此外,您可能正在使用不同的串行端口(即更改/dev/ttyS0部件).您可以使用stty或setserial命令更改串行端口的参数(波特率,奇偶校验,停止位等).
您需要的所有工具都已在大多数现代 Linux 发行版上提供。
正如一些人指出的那样,您可以通过 netcat 管道传输串行数据。但是,每次有连接时,您都需要重新启动一个新实例。为了在连接之间保持这种状态,您可以使用以下配置创建 xinetd 服务:
service testservice
{
port = 5900
socket_type = stream
protocol = tcp
wait = yes
user = root
server = /usr/bin/netcat
server_args = "-l 5900 < /dev/ttyS0"
}
Run Code Online (Sandbox Code Playgroud)
请务必更改/dev/ttyS0以匹配您尝试与之连接的串行设备。