以编程方式关闭 USB 端口的电源

本文关键字:电源 USB 编程 方式关 | 更新日期: 2023-09-27 17:57:24

我有一个项目正在做,我想使用这些:http://www.woot.com/blog/post/usb-powered-woot-off-lights-2

但是,看起来它们只有开/关开关。它们不是可以通过编程方式与之交互的东西。

所以我在想,如果我能找到一种方法来切断USB端口的电源,这将允许我用我的应用程序打开和关闭灯。但是,我找不到任何方法来切断USB端口的电源。这可能吗?

以编程方式关闭 USB 端口的电源

我遇到了类似的问题,并使用DevManView.exe(免费软件)解决了它:

  1. 下载 DevManView.exe并将.exe文件放在某个地方:http://www.nirsoft.net/utils/device_manager_view.html

  2. 转到您的设备管理器并找出您必须启用/禁用的USB控制器,以便您的设备不再通电。对我来说,禁用"USB串行转换器"确实会切断所有USB插槽的电源。

设备管理器中的 USB 串行转换器

  1. 在 C# 中,创建并启动用于禁用设备的新进程(使用 USB 控制器的名称)。

    Process devManViewProc = new Process();
    devManViewProc.StartInfo.FileName = @"<path to DevManView.exe>'DevManView.exe";
    devManViewProc.StartInfo.Arguments = "/disable '"USB Serial Converter'"";
    devManViewProc.Start();
    devManViewProc.WaitForExit();
    
  2. 并再次启用它。

    devManViewProc.StartInfo.Arguments = "/enable '"USB Serial Converter'"";
    devManViewProc.Start();
    devManViewProc.WaitForExit();
    

编辑:不幸的是,这家公司的产品似乎不再销售了。

<小时 />

通电的 woot-off-lights-2 通过普通的 USB 插头供电,这意味着它们是 5 伏的,每个灯和一个电机都有。

我找不到需要多少安培,但我知道如果一个通电的 woot-off 灯的 200 mA 就足够了,那么这个扩展将是完美的。

USB 控制器扩展

C# 或 VB.NET 代码如下所示。

// On
nusbio.GPIOS[NusbioGpio.Gpio0].DigitalWrite(true);
nusbio.GPIOS[NusbioGpio.Gpio1].DigitalWrite(true);
// Off
nusbio.GPIOS[NusbioGpio.Gpio0].DigitalWrite(false);
nusbio.GPIOS[NusbioGpio.Gpio1].DigitalWrite(false);

查看Nusbio的网站,我认为扩展程序在他们的商店中。我自己使用了类似的nusbio扩展。

打开/关闭我的 USB 风扇和电池供电的小灯

如果您具有管理员权限,请运行以下命令:

Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE'SYSTEM'CurrentControlSet'Services'USBSTOR", "Start", 4, Microsoft.Win32.RegistryValueKind.DWord);