python - 使用Python直接向USB发送信号

标签 python c++ c usb hardware

如何使用 Python 将 USB 端口连接设置为高或低。

这可以用于自定义 USB 设备。

例如,

假设我有一个 LED 连接到 USB 端口(数据线)。

现在通过代码我想让它闪烁或控制它。

现在这可以通过使用任何微 Controller 、Arduino、Raspberry Pi 轻松实现

但我想用普通的计算机和Python来实现这一点。

[编辑]

我可以通过制作 CC++ API 并制作一个包装器以在 Python 中使用它来实现此目的吗?是的,那么实现这一目标的最佳方法是什么?

注意:

我的主要目标不仅仅是让一些 LED 闪烁。我只是举个例子。

我希望能够直接控制 USB 端口。

引用:https://www.cmd-ltd.com/advice-centre/usb-chargers-and-power-modules/usb-and-power-module-product-help/usb-data-transfer-guide/#:~:text=How%20is%20data%20sent%20across,amounts%20known%20as%20'packets' .

Within the standard USB 2.0 connector you can see four metal strips. The outer two strips are the positive and ground of the power supply. The two central strips are dedicated to carrying data.

With the newer USB 3.0 connector, the data transfer speed is increased by the addition of extra data-carrying strips; four extra signalling wires help USB 3.0 achieve its super speed.

我想设置数据引脚的值。

按照我所说的HIGH LOW,请不要误解我想将值设置为+5V 和GND。但我的意思是直接通过我的代码控制它的值,而不需要计算机中存在任何外部驱动程序。

我提到HIGH LOW只是为了使语言简单,以便更容易理解。

最佳答案

使用 GPIO 引脚控制 Arduino 和 Raspberry Pi 等设备的 LED 等组件。相比之下,USB 是为数据传输而设计的,而不是像 GPIO 那样维持更恒定的高或低信号。它还消耗与 GPIO 引脚不同的电压和电流水平,并可能损坏用于 GPIO 的组件。

但是,您可以为此目的获取 USB 转 GPIO 适配器(有关这些选项的示例讨论,请参阅 here)。

就Python而言,可以使用PyUSB之类的包或libusb用于控制/传输数据/与 USB 设备(例如 USB 到 GPIO 适配器)通信的 Python 包装器。提供适配器的公司可能还设计了自己的易于使用的 Python 包来包装较低级别的驱动程序(可能用 C 编写)。看这个USB controlled LED device作为一个带有自己的 Python 驱动程序的示例。驱动程序只是软件程序,它们接受用户发出的相对简单的命令,以实现他们希望设备执行的操作。然后,它们封装了遵循协议(protocol)所需的较低级别的复杂性,以将用户的意图传达给 USB 设备,并在尽可能低的软件级别控制 USB 端口。

关于python - 使用Python直接向USB发送信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66815102/

相关文章:

python - 在 open3d-python 中更新相机内部参数

python - 在 python 和 c++ 之间管道传输二进制数据

c++ - "Comment out pthreads"编译一个库

c++ - Qt 应用程序状态生命周期

c - “下标值既不是数组也不是指针也不是 vector ”错误

无法理解这里的逻辑

python - XPATH 在 python 中选择具有特定属性的根和所有后代元素

Python线程运行()阻塞

python - 导入错误 : No module named pillow

c++ - 将标题添加到大文件的最佳方法是什么