我想开发一个侦听来自USB的数据的PyUSB程序。但是,我希望扩展应用程序以通过USB端口与另一个Raspberry Pi交谈。我想知道这可能吗?
是一种主/从协议,其中 USB 设备连接到 USB 主机。 不能将 USB 主机直接连接到 USB 主机。 RPi 是一个 USB 主机。
但是,可以使用两个USB设备,这些设备通过其他接口(例如UART(连接,并且每个设备都连接到不同的主机。 例如,您可以背靠背使用两个 FTDI USB/串行桥接设备:
__________ ________
| Tx |______|Rx |
USB Host A ---------| Rx |______|Tx |---------USB Host B
|________| |_______|
FT323R FT323R
因此,这主要是硬件问题,而不是软件问题。 数据速率将受到USB/串行设备功能的限制 - FT232为3MBaud。 请注意,在实际实现中,您还将连接 RTS/CTS 流控引脚,但我的 ASCII 图表耐心是有限的!
可能更好的解决方案是使用市售的USB桥接电缆;这些电缆使用与上述串行桥接解决方案相同的原理,但不是模拟COM/TTY端口,而是模拟网络接口并且可以全USB速度运行。 您当然可以实现这样的电缆,但与我上面建议的解决方案相比,我怀疑它是否具有成本效益。但是,我不知道是否存在适用于RPi的USB网络适配器的驱动程序。
鉴于RPi具有以太网,这将是一种更简单的板对板通信方法,不仅限于点对点,而是可以访问整个网络,并且不会有USB驱动程序问题需要解决。