通过软件控制USB灯

时间:2010-08-26 20:41:28

标签: linux hardware usb microcontroller atmel

我有一个USB供电灯。我希望能够用软件打开和关闭它。我将它附加到Linux计算机上。我有一个来自Atmel ATtiny2313previous project,但我宁愿用一个简单的黑客来做这件事而不是重新利用我的微控制器。

这可能吗?我怀疑这是不可能的,因为没有某种USB兼容固件,计算机不会与设备通信?

我找到了this question,其评论表明OP使用LM317电压调节器来改变USB电压。我不认为这适用于我,但我想我会提到它。

更新

看起来我可以将USBtiny放在我的微控制器上,然后我可以将它连接到灯,然后我可以编写一个应用程序来控制控制器。听起来好像很多工作。我宁愿做一个简单的黑客攻击,但我缺乏使用USB的经验。

7 个答案:

答案 0 :(得分:2)

我认为这是不可能的,因为USB上的电源(Vcc)线始终处于开启状态 - 它不是一个控制线。

除非你的USB灯已经提供了通过USB 数据来控制自己的方法,否则你运气不好。我不建议尝试更改USB电源线的电压。

答案 1 :(得分:2)

您最好的选择可能是购买Digi-Key提供的FTDI接口电缆,价格为20美元。这可以为您提供+5,接地和四线,您可以在软件控制下切换高或低。如果您将该东西用作rx / tx / rts / cts的逻辑级串行端口,则该软件最简单。制造商部件号为TTL-232R-5V-WE(转到digikey.com并在部件搜索框中输入该号码)。 Digi-Key提供了制造商数据表和网站的链接。

答案 2 :(得分:1)

也许你可以告诉USB控制器切断USB端口的电源。我在PC上的省电设置上看到了这个选项。

答案 3 :(得分:1)

我想这可能是使用计算机打开/关闭USB端口以节省电池的能力。经过一次令人惊讶的短暂搜索后,我发现了另一个问题:

Controlling a USB power supply (on/off) with linux

虽然我没有尝试过。如果有效,请告诉我们!

答案 4 :(得分:0)

我将使用基于PL-2303的USB /串行桥和运行USB堆栈的ATtiny2313微控制器 - 可能USBtiny。它会像这样工作:

  • USB灯直接连接到微控制器 - 而不是计算机
  • 应用程序/驱动程序通过USB控制微控制器
  • 微控制器设置USB灯的电压

我会研究接线,所以在某些输出上有一些电阻,所以我可以将光线设置为不同的亮度,如果我想做模式或任何东西,我会在软件中进行。

答案 5 :(得分:0)

是否可以重新连接usb连接器,以便不是连接到VCC,而是将usb灯的电源连接到usb端口的数据?

然后也许你可以控制它并指定它是0还是5伏。

不确定是否可能,我对usb一无所知。

答案 6 :(得分:0)

USB 是一种通用总线,需要驱动程序和如何使用它的描述。它具有更大的灵活性,但同时所有逻辑都应该存储在某个地方(驱动程序/应用程序/等),这并不容易“可扩展”,例如 Windows、Linux、Phone 等……所有需要不同的应用程序和管理……不幸的是,无法在本地启用/禁用 USB(例如管理输出电源,因为它主要是在 BIOS 级别进行管理,而不能从操作系统级别完全可用 - 实际上检查您的主板是否支持 IPMI - 这是一个管理工具适用于较低级别,但主要仅适用于服务器类型的硬件)


我有类似的开/关灯需求,但更多是为了指示。我的用例:我们有一个办公室,有销售、支持等……电话不经常,但是当他们就位时最好保持安静。而且由于人们使用相同的耳机听音乐 - 从侧面看,您无法了解通话是否正在进行...

所以,这个想法是:

  • Arduino(以后可以针对更便宜的东西进行优化)
  • WIFI 连接
  • LED 灯(5V 理想,但也可能是 12V)
  • 通过电源适配器或 USB 供电(稍后可以检查电池是否有意义)
  • 通过网络浏览器进行管理(简化管理,例如 - 可以通过 Chrome 扩展程序、网页上的按钮、从(在我的情况下)电话系统远程管理)

如果一切都好——可以在上面添加一些集中管理(所有的灯都可以注册到系统中(例如WebSocket,或者google pub/sub进行集中管理)。在这种情况下,可以由电话系统以集中方式远程触发,例如:如果有来电 - 来电时灯可以开始闪烁以引起注意,并在来电时自动打开......加上可以用类似的方式完成适用于 Google Meeting、Zoom 和计算机上的任何其他应用)

PS:能找到任何可以使用的东西会很好……但是哦,好吧 - 现在什么都没有找到。