Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 树莓皮用USB一起说话_Python_Raspberry Pi_Embedded_Usb_Pyusb - Fatal编程技术网

Python 树莓皮用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/串行网桥设备: __________ ________

我想开发一个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网络电缆或简易传输电缆),我在其中添加了一条注释,在我看来,以太网解决方案是一个不需要动脑筋的解决方案。这是一个有趣的问题,但并不是真正的问题。然而,由其他人投票结束;投票结束我费心回答的问题是不一致的。