通过 USB 控制简单的继电器开关
Posted
技术标签:
【中文标题】通过 USB 控制简单的继电器开关【英文标题】:Controlling simple relay switch via USB 【发布时间】:2011-03-15 20:03:21 【问题描述】:我希望通过一个通过 USB 连接到计算机的简单继电器开关来控制电源供电的灯。
继电器开关甚至不是 USB 设备,它只是一个需要 USB 电压才能打开的简单开关。当电压低于阈值时,开关将关闭灯。
我的问题是我无法控制 USB 端口的电源输出。我很乐意在 Windows 或 Linux 上使用任何语言(但最好是 Java,因为我已经习惯了)。
【问题讨论】:
【参考方案1】:很遗憾,在大多数情况下,您无法控制 USB 端口的电源。电源通常是硬接线的,不能在软件中切换。你可以send a reset to a USB device,但这不适用于你的情况。
有许多关于教科书的项目与您描述的类似,但不幸的是,它们似乎相当复杂或需要昂贵的零件。
编辑:目前新闻中确实有一种产品确实想要你想要,但它似乎还没有发货:http://www.pwrusb.com/
编辑(再次):显然是you can do this with some usb hubs。 This post 建议 the Linksys USB2HUB4 是一种有效的方法。
编辑(再次):显然有许多类似的问题,但似乎没有任何更有用的答案:
https://***.com/questions/405269/custom-usb-device-that-disables-power-to-usb-devices-plugged-into-it Power off an USB device in software on Windows Is there software or code to alter USB power output Can I write a program that swiches USB on/off【讨论】:
【参考方案2】:大多数 USB 转串口或 USB 转 RS232 10 美元的转换器都支持硬件握手。将其中一个用作单通道数字 io。
将驱动继电器的晶体管连接到转换器板上的 DTR,并使用转换器驱动程序命令 DTR 开/关。
2N7002 是一个很好的晶体管(实际上是 FET),因为它可以在 3V 电压下工作,并且在任何地方都不需要任何电阻。
【讨论】:
【参考方案3】:这是一个完整的解决方案。
它使用带有 USB 连接的 Arduino 板(例如 Uno)来控制继电器,并将其与 pfod(操作发现协议)www.pfod.com.au 相结合,让您可以从任一Arduino IDE SerialMonitor,或终端窗口 (TeraTerm) 或 Java 程序。消息协议将命令包含在 中,考虑为 micros 的简化 html,并提供大量屏幕、菜单、滑块、文本和数字输入等。提供详细的协议规范
有关详细示例,请参阅 Garage Door Remote,其中包含完整的 Arduino 代码以及从 TeraTerm 和 Arduino IDE SerialMonitor 控制继电器的示例。
还有一个 android 应用程序,pfodApp,它将通过蓝牙或具有 128 位安全性的 wifi/互联网进行通用控制。 pfodApp 完成了所有的 Android 工作,您只需在 Arduino 代码中编写一些简单的字符串即可获得您想要的任何菜单系统。有关众多示例,请参见 www.pfod.com.au。
【讨论】:
【参考方案4】:您需要一个 USB-GPIO 微控制器:
Adafruit FT232H(约 15 美元)
Arduino Nano ATmega328(约 7 美元)
See this answer
【讨论】:
【参考方案5】:我建议放置一个单独的 Raspberry Pi 单元,激活 LAN 唤醒功能,这样您就可以关闭和打开它。
【讨论】:
您能否提供有关如何使用 Raspberries 设置 LAN 唤醒的文档或教程? 作为 RPi 所有者,我不知道 MicroChip LAN9512(2-USB 端口 B 型号)或 LAN9514(4-USB 端口 B+ 型号)提供的 RPi 有线 LAN 连接是在软件/固件/硬件中连接 - 虽然 IC 确实具有 LAN 唤醒功能,所以看看它是否可以完成可能会很有趣......!【参考方案6】:您可以将 Pololu 的这两种产品组合起来,大约 25 美元:
-
Micro Maestro (assembled)
Basic SPDT Relay Carrier with 5VDC Relay (Assembled)
Maestro 主要是一个伺服控制器,但您可以将其任何通道设置为简单的数字输出。可以从 Maestro Control Center 软件控制输出,也可以编写自己的软件。 Maestro 的数字输出适合打开继电器载体上的继电器。继电器可以通过 Maestro 从 USB 供电;我认为它消耗大约 100 mA 的电流,因此对于大多数 USB 端口来说可能不会成为问题,尽管它不符合 USB 标准,因为 Maestro 和继电器消耗的总电流将超过 100 mA。如果您担心这一点,您可以为继电器提供自己的电源。
【讨论】:
以上是关于通过 USB 控制简单的继电器开关的主要内容,如果未能解决你的问题,请参考以下文章