Python 树莓皮用USB一起说话
我想开发一个PyUSB程序来监听来自USB的数据。但是,我希望扩展应用程序,通过USB端口与另一个Raspberry Pi通信。我想知道是否可能?USB是一种主/从协议,其中USB设备连接到USB主机。无法将USB主机直接连接到USB主机。RPi是一个USB主机 但是,可以使用两个USB设备,通过其他接口(如UART)连接,每个设备连接到不同的主机。例如,您可以背靠背使用两个FTDI USB/串行网桥设备:Python 树莓皮用USB一起说话,python,raspberry-pi,embedded,usb,pyusb,Python,Raspberry Pi,Embedded,Usb,Pyusb,我想开发一个PyUSB程序来监听来自USB的数据。但是,我希望扩展应用程序,通过USB端口与另一个Raspberry Pi通信。我想知道是否可能?USB是一种主/从协议,其中USB设备连接到USB主机。无法将USB主机直接连接到USB主机。RPi是一个USB主机 但是,可以使用两个USB设备,通过其他接口(如UART)连接,每个设备连接到不同的主机。例如,您可以背靠背使用两个FTDI USB/串行网桥设备: __________ ________
__________ ________
| Tx |______|Rx |
USB Host A ---------| Rx |______|Tx |---------USB Host B
|________| |_______|
FT323R FT323R
因此,这主要是硬件问题,而不是软件问题。数据速率将受到USB/串行设备(FT232为3M波特)能力的限制。请注意,在实际实现中,您还将连接RTS/CTS流量控制引脚,但我的ASCII图表耐心有限
一个可能更好的解决方案是使用一种商业上可以买到的;它们使用与上述串行网桥解决方案相同的原理,但不是模拟COM/TTY端口,而是模拟网络接口,并且可以以全USB速度运行。您当然可以实现这样一个电缆,但我怀疑它是否具有成本效益,即使与我上面建议的解决方案相比。但是,我不知道是否存在适用于RPi的USB网络适配器的驱动程序
考虑到RPi有以太网,这将是一种简单得多的板对板通信方法,不仅限于点对点,而且可以访问整个网络,并且不会有USB驱动程序问题需要解决。USB是一种主/从协议,其中USB设备连接到USB主机。无法将USB主机直接连接到USB主机。RPi是一个USB主机 但是,可以使用两个USB设备,通过其他接口(如UART)连接,每个设备连接到不同的主机。例如,您可以背靠背使用两个FTDI USB/串行网桥设备:
__________ ________
| Tx |______|Rx |
USB Host A ---------| Rx |______|Tx |---------USB Host B
|________| |_______|
FT323R FT323R
因此,这主要是硬件问题,而不是软件问题。数据速率将受到USB/串行设备(FT232为3M波特)能力的限制。请注意,在实际实现中,您还将连接RTS/CTS流量控制引脚,但我的ASCII图表耐心有限
一个可能更好的解决方案是使用一种商业上可以买到的;它们使用与上述串行网桥解决方案相同的原理,但不是模拟COM/TTY端口,而是模拟网络接口,并且可以以全USB速度运行。您当然可以实现这样一个电缆,但我怀疑它是否具有成本效益,即使与我上面建议的解决方案相比。但是,我不知道是否存在适用于RPi的USB网络适配器的驱动程序
鉴于RPi有以太网,这将是一种简单得多的板对板通信方法,不仅限于点对点,而且可以访问整个网络,并且不会有USB驱动程序问题需要解决。这可能会带来一些答案。。这可能会带来一些答案。。通过一点软件配置来消除控制台消息的干扰,还可以使用pi硬件UART的一些组合,或者相互连接,或者一个交叉到另一个挂起的USB逻辑串行转换器。理论上(尽管据我所知,在软件中未实现)有可能在a型或零型设备模式下运行单个“裸”USB端口,这可能是B型和类似模块上的中间集线器芯片。@ChrisStratton:我记得,其中一个可用的UART在功能上有点有限,这可能是一个问题。最后,在任何情况下都会有更好的解决方案,比如USB网桥电缆(也称为USB网络电缆或简易传输电缆),我在其中添加了一条注释,在我看来,以太网解决方案是一个不需要动脑筋的解决方案。这是一个有趣的问题,但并不是真正的问题。然而,由其他人投票结束;投票结束一个我费心回答的问题是不一致的。通过一点软件配置来消除控制台消息的干扰,还可以使用pi硬件UART的一些组合,或者有线交叉连接,或者一个交叉连接到另一个悬挂的USB逻辑串行转换器。理论上(尽管据我所知,在软件中未实现)有可能在a型或零型设备模式下运行单个“裸”USB端口,这可能是B型和类似模块上的中间集线器芯片。@ChrisStratton:我记得,其中一个可用的UART在功能上有点有限,这可能是一个问题。最后,在任何情况下都会有更好的解决方案,比如USB网桥电缆(也称为USB网络电缆或简易传输电缆),我在其中添加了一条注释,在我看来,以太网解决方案是一个不需要动脑筋的解决方案。这是一个有趣的问题,但并不是真正的问题。然而,由其他人投票结束;投票结束我费心回答的问题是不一致的。