假设您想为其他程序员提供一个接口,使他们能够编写如下代码:
# connect to remote Linux device
>>> conn = myClass('/dev/ttyUSB0', 115200, '8N1')
>>> conn.login('myname', 'mypass')
>>> output = conn.command('ls -al')
>>> print output
total 3
drwxr-xr-x 49 myname myname 4096 Jun 21 15:13 .
drwxr-xr-x 4 root root 4096 Mar 20 14:43 ..
drwxr-xr-x 49 myname myname 1005 Jun 14 11:23 .vimrc
>>> output2 = conn.command('cd ..')
>>> print output2
>>>
你将如何实施它?
当前状态
我首先想到的是pyserial,但它似乎将串行连接简单地视为像对象一样的文件,而不是终端。我从它的源代码中发现pyserial本身使用termios,这至少似乎启用了一些类似终端的配置选项。但是哪个框架可以实现类似终端的 IO?总的来说,我只是整个嵌入式系统世界的初学者,但直到现在,在我看来,通过串行连接的终端 IO 似乎应该是这个环境中常见的日常问题,并且应该已经有一个框架在做“艰苦的工作” ”。但是直到现在我都没有找到它。
背景
目前,我公司的大多数人都手动测试他们的嵌入式系统开发主题。但是我们想切换到一个更自动化的场景,其中包含很多unittest
类似的脚本。因为我们已经在我们的嵌入式系统上为每个 UART 提供了一个类似终端的接口,所以我想让这些测试脚本的作者有机会更直观地编写代码,因为无论如何他们都会通过minicom或屏幕与设备进行交互。