我一直在寻找一种方法来将光传感器改装到没有光传感器的笔记本电脑上。
到目前为止,我发现的最佳规范是在ACPI 3b规范9.2节中,详细说明了如何实现这种传感器。我认为Linux也会遵循规范。
我的第一个问题:市场上有这样的设备吗?一个小型USB加密狗,可测量光线并将其提供给操作系统。我已经有了一个可以做到这一点的Spyder i1,但是它太过分了。
第二个问题:是否可以使用Arduino和V-USB实现这一点?如果是,那么如何接近项目呢?
甚至可以通过USB进行此操作吗?
背景:通过测量LED电容,小型USB微控制器和LED可以作为光传感器正常工作,而无需其他外部部件。这是有据可查的,也是我自己测试的。
答案 0 :(得分:2)
如果您的微控制器已经具有USB堆栈,您可以使用光敏电阻,光电二极管并将电压,电阻,电流转换为数字信号uC,请参阅http://www.electronics-tutorials.ws/io/io_4.html还有可用的IC(搜索' 环境光传感器ic ')如果您不想使用ADC,那么有IC可以使用IC可以连接到I2C总线等
通常传感器实现 USB HID类,请参阅http://www.sensorwiki.org/doku.php/tutorials/building_a_usb_sensor_interface
环境光传感器的linux内核模块(驱动程序)是acpi-als.ko
,或者是usb(HID)光传感器的hid-sensor-als.ko
http://lxr.free-electrons.com/source/drivers/iio/light/hid-sensor-als.c
(https://github.com/torvalds/linux/blob/master/Documentation/hid/hid-sensor.txt,https://lwn/net/Articles/348576/) 如果您构建自己的设备,则必须使其符合此驱动程序
有针对此的现成解决方案(http://www.hughski.com/colorhugals,http://www.yoctopuce.com/EN/products/usb-environmental-sensors/yocto-light-v3),但它们非常昂贵
Windows驱动程序是 sensor-hid-class-driver (https://msdn.microsoft.com/de-de/windows/hardware/drivers/hid/sensor-hid-class-driver)。
(https://www.chalk-elec.com/?p=2144通过HID USB控制LCD背光)