我希望能够像在本地一样使用远程机器上的 USB 端口进行读写。我想通过编写一个 python 脚本来做到这一点,该脚本与远程机器建立 TCP 连接,然后不断地从 USB 端口读取并写入 TCP 连接,反之亦然。用 Python 简单快速地编写代码的最佳方法是什么?
问问题
1247 次
1 回答
2
对于我在过去一年中的机器人项目,我不得不做同样的事情。我们有一个 Raspberry Pi 不断地在连接到 Arduino 板的 USB 端口上读取数据,一旦它收到一些消息,它就会通过 TCP 将它发送到所有连接的远程客户端。
该项目被调用autonomee
并在 github 上可用。
总而言之,您必须执行以下操作:
- “客户端”连接到链接到 USB“源”的服务器
- 有一个线程(在服务器上)不断从 USB 读取(我建议使用
pyserial
或pyusb
) - 当您收到一些数据时,通过 TCP 将其发送到远程客户端(更多内容见下文)
- 远程客户端一直在监听数据,每当它收到消息时,它都会处理它
想得最多的部分是TCP连接,其实也没那么难。
您可以使用twisted
更高级别的 TCP 服务器,也可以只使用标准TCPServer
类(我们使用后者)。检查SocketServer
文档上的示例,它们非常有用!
我无法为您提供更多详细信息,因为这在很大程度上取决于您必须以何种频率发送哪种数据,但我建议您查看我为服务器和客户端生成的代码
于 2013-07-23T00:15:29.323 回答