Linux如何控制接在USB口的继电器(一个通道)?

How to controll relay (one channel) connected to USB port in Linux?

在Linux中如何控制连接到USB口的继电器(一个通道)?

这张照片说明了 USB 电缆连接。

当将继电器连接到USB端口时,继电器连续设置。但是在终端执行lsusb时,系统找不到设备。

连接前的lusb输出:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 1358:c123  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 13d3:56f9 IMC Networks 
Bus 001 Device 004: ID 27c6:5110  
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 0458:0189 KYE Systems Corp. (Mouse Systems) 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

已连接设备的 lusb:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 1358:c123  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 13d3:56f9 IMC Networks 
Bus 001 Device 004: ID 27c6:5110  
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 0458:0189 KYE Systems Corp. (Mouse Systems) 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

[更新]

这是 dmesg 的输出:

[ 3975.045806] usb 1-3: new low-speed USB device number 23 using xhci_hcd
[ 3975.657743] usb 1-3: new low-speed USB device number 24 using xhci_hcd
[ 3976.801721] usb 1-3: new low-speed USB device number 25 using xhci_hcd
[ 3977.345746] usb 1-3: new low-speed USB device number 26 using xhci_hcd
[ 3977.761777] usb usb1-port3: unable to enumerate USB device

感谢您的任何建议。

您好!

除了我们没有看到您的代码这一事实外,我强烈怀疑此设置是否会按您预期的方式工作。

假设这是 USB 2.x 信号线(白色)的电压电平为 0V 至 400 mV,而电源线(红色)相对于 GND(黑色)的电压为 5V。我非常怀疑,这是否在您继电器的规格范围内。

即使是这样,您也不能轻易地从操作系统级别控制信号线之一,因为您需要在两者之间的一些抽象层。普通的 OS 驱动程序不能与您的设置一起工作,因为它们希望线路另一端的控制器执行符合 USB 标准的操作,例如枚举、速度和当前设置等。 对于您的 OS 这只是插入 USB 端口的切断线。

您寻找的方法可能如下:

您 PC 上的一个 OS 应用程序已通过 USB 或串行 USB 适配器连接到微控制器。微控制器通过此连接接收简单命令,然后设置和重置其 I/O 引脚。那些 I/O 引脚是电平驱动的并馈入您的继电器。根据您的继电器,您需要在微控制器和继电器之间进行一些放大。

如果您确定您的硬件设置可以正常工作,请附上详细说明,包括电平、使用的 USB 端口、继电器的数据表和您尝试使用的代码 运行。