如何在Python中使用Kermit协议将文件发送到串口
我有一个设备通过串口连接到电脑。使用c-kermit这个工具,我可以向设备发送命令并读取输出。我还可以通过kermit协议发送文件。
在Python中,我们有一个很不错的库叫做pySerial。我可以用它来和设备发送或接收数据。但是,有没有什么好的方法可以用kermit协议发送文件呢?
1 个回答
1
你可以通过 subprocess 模块来实现这个功能。以下内容假设你已经能够向远程机器发送命令并解析结果了。:-)
目前我没有可以测试的设备,所以我会说得比较笼统。大致步骤如下:
- 使用 pyserial 通过串口连接到远程系统。
- 在远程系统上运行 kermit 客户端,使用一些选项来发送你想要传输的文件,文件会通过你正在使用的串口发送。
- 断开你的 pyserial 实例。
- 使用 subprocess 启动 kermit 客户端并接收文件。
- 重新连接你的 pyserial 实例,并清理所有内容。
我敢打赌这对你帮助不大,但几年前我实际做过这个(当时用的是 os.system,而不是 subprocess,在一个非常糟糕的 SuperDOS 系统上),我花了很长时间才搞明白我必须在远程启动 kermit 客户端才能把文件发送到我的客户端!
如果这周我有时间,我会找出我的旧 geode 板子,看看能不能发布一些实际可用的代码。