如何在Python中使用Kermit协议将文件发送到串口

2 投票
1 回答
4545 浏览
提问于 2025-04-15 19:06

我有一个设备通过串口连接到电脑。使用c-kermit这个工具,我可以向设备发送命令并读取输出。我还可以通过kermit协议发送文件。

在Python中,我们有一个很不错的库叫做pySerial。我可以用它来和设备发送或接收数据。但是,有没有什么好的方法可以用kermit协议发送文件呢?

1 个回答

1

你可以通过 subprocess 模块来实现这个功能。以下内容假设你已经能够向远程机器发送命令并解析结果了。:-)

目前我没有可以测试的设备,所以我会说得比较笼统。大致步骤如下:

  1. 使用 pyserial 通过串口连接到远程系统。
  2. 在远程系统上运行 kermit 客户端,使用一些选项来发送你想要传输的文件,文件会通过你正在使用的串口发送。
  3. 断开你的 pyserial 实例。
  4. 使用 subprocess 启动 kermit 客户端并接收文件。
  5. 重新连接你的 pyserial 实例,并清理所有内容。

我敢打赌这对你帮助不大,但几年前我实际做过这个(当时用的是 os.system,而不是 subprocess,在一个非常糟糕的 SuperDOS 系统上),我花了很长时间才搞明白我必须在远程启动 kermit 客户端才能把文件发送到我的客户端!

如果这周我有时间,我会找出我的旧 geode 板子,看看能不能发布一些实际可用的代码。

撰写回答