Linux 非 I2C/SPI 传感器的内核驱动程序(用于模拟传感器)
Linux Kernel drivers for non I2C/SPI based sensors (for analog sensors)
我最近开始学习 IIO 子系统,现在非常熟悉 IIO 子系统中基于 SPI/I2C 的传感器(也使用 Regmap API)。
然而,今天我遇到了一个电位器传感器:http://wiki.seeedstudio.com/Grove-Rotary_Angle_Sensor/
它暴露了4个引脚,分别是GND、VCC、NC和SIG。如果我必须将此传感器与我的 raspberry Pi 一起使用并且只需要使用 Linux 内核,我将如何将传感器数据公开给用户空间?
IIO 子系统中是否有此类设备的类别?
要读取这样的模拟电压,您需要一个 ADC(模数转换器),而 Raspberry Pi 没有内置 ADC。您可以为您的 Raspberry Pi 找到许多模拟输入帽中的任何一个,它们通常包含一个带有 ADC 的 SPI 芯片,可以通过 Linux spidev subsystem or some higher level Python module 从用户空间访问。
IIO 子系统中有 ADC 支持,您可以加载相关的设备树覆盖,如下所述:https://jumpnowtek.com/rpi/Using-mcp3008-ADCs-with-Raspberry-Pis.html
我最近开始学习 IIO 子系统,现在非常熟悉 IIO 子系统中基于 SPI/I2C 的传感器(也使用 Regmap API)。
然而,今天我遇到了一个电位器传感器:http://wiki.seeedstudio.com/Grove-Rotary_Angle_Sensor/
它暴露了4个引脚,分别是GND、VCC、NC和SIG。如果我必须将此传感器与我的 raspberry Pi 一起使用并且只需要使用 Linux 内核,我将如何将传感器数据公开给用户空间?
IIO 子系统中是否有此类设备的类别?
要读取这样的模拟电压,您需要一个 ADC(模数转换器),而 Raspberry Pi 没有内置 ADC。您可以为您的 Raspberry Pi 找到许多模拟输入帽中的任何一个,它们通常包含一个带有 ADC 的 SPI 芯片,可以通过 Linux spidev subsystem or some higher level Python module 从用户空间访问。
IIO 子系统中有 ADC 支持,您可以加载相关的设备树覆盖,如下所述:https://jumpnowtek.com/rpi/Using-mcp3008-ADCs-with-Raspberry-Pis.html