Inicio Noticias Pi IoT en C usando controladores de Linux - Hwmon

Pi IoT en C usando controladores de Linux – Hwmon

Página 1 de 3

Además de los controladores de bus sin procesar, también hay muchos controladores de dispositivos directos que ocultan los detalles de cómo se interconectan los dispositivos. Muchos de estos se ajustan al enfoque IIO o Hwmon. En este extracto de mi libro reciente sobre controladores de Linux, la atención se centra en Hwmon, el enfoque más antiguo.

Raspberry Pi IoT en C usando controladores de Linux

Por Harry Fairhead

Compra en Amazon.

Contenido

Elegir una Pi para IoT

C y código de Visual Studio

Driver: un primer programa

El controlador de fuente GPIO
Extracto: controlador de fuente GPIO

GPIO usando el control de E / S

Eventos GPIO

El árbol de dispositivos
Extracto: DHT22

Un poco de electrónica

Modulación de ancho de pulso
Extraer: el controlador PWM

Dispositivos SPI
Extracto: el controlador SPI

Conceptos básicos de I2C

El controlador de Linux I2C

Avanzado I2C Avanzado

Controlador de sensor: Linux IIO y Hwmon
Extracto: Hwmon *** ¡NUEVO!

Bus de 1 cable

Vaya más lejos con los conductores

Apéndice I.

Controlador de sensor: Linux IIO y Hwmon

Además de admitir el bus I2C en general, también hay varios controladores de dispositivo I2C. Estos le permiten utilizar dispositivos I2C sin preocuparse por la naturaleza exacta del protocolo en uso. Algunos de estos controladores de dispositivo se ajustan a uno u otro de un modo de implementación de controlador independiente del protocolo más amplio: hwmon, relacionado con el sistema de monitoreo de hardware e iio, para interconectar dispositivos de E / S industriales Linux. Estos forman un marco para crear, publicar y usar controladores para dispositivos independientemente del protocolo utilizado para controlarlos. Como puede ver en la tabla siguiente, la mayoría de ellos son dispositivos I2C.

En el momento de redactar este artículo, se admiten los siguientes dispositivos:

bme680

I2C o SPI

I

Sensor de temperatura, humedad y presión Bosch Sensortronic BME680

bmp085

I2C o SPI

I

Bosch Sensortronic BMP085 reemplazado por el BMP180

bmp180

I2C

I

Sensor de presión barométrica Bosch Sensortronic BMP180

bme280

I2C

I

Sensor de temperatura, humedad y presión Bosch Sensortronic BME280

ds1621

I2C

hwmon

Gama de sensores de temperatura de Dallas Semiconductors que incluye DS1621, DS1625, DS1631, DS1721 y DS1731

hdc100x

I2C

I

Rango de sensores de temperatura HDC100x de Texas Instruments: solo HDC1010 y HDC1080 están actualizados

htu21

SPI

I

Sensor de temperatura y humedad HTU21

lm75

I2C

hwmon

Sensor de temperatura Maxim LM75 y dispositivos compatibles.

max17040

I2C

hwmon

Monitor de batería integrado Maxim MAX17040

sht3x

I2C

hwmon

Sensor de temperatura y humedad Sensiron SHT3x

Si7020

I2C

hwmon

Silicon Labs Si7013 / 20/21 Sensor de temperatura / humedad

sps30

I2C

I

Sensor de partículas Sensirion SPS30

tmp102

I2C

hwmon

Sensor de temperatura Texas Instruments TMP102

tsl4531

I2C

I

Sensor de luz ambiental digital AMS TSL4531

veml6070

I2C

I

Sensor de luz ultravioleta Vishay VEML6070

Hay muchos otros dispositivos disponibles como controladores que debe crear e instalar usted mismo, pero generalmente los proporciona el fabricante del dispositivo y encontrará instrucciones en los sitios web correspondientes.

La mayoría de estos dispositivos están disponibles a un costo razonable en paquetes DIL adecuados para prototipos o como placas de conexión. Por supuesto, hay muchos sensores que no son compatibles con un controlador de Linux, pero hacer una elección de esta lista puede ahorrarle mucho tiempo y molestias.

Algunos de los controladores de dispositivos anteriores son parte del diseño del subsistema de E / S industrial (IIO) y algunos son parte del antiguo subsistema hwmon. El subsistema hwmon está diseñado como una forma de leer y configurar sensores y dispositivos integrados en el sistema. Por ejemplo, puede leer la temperatura de la CPU o el voltaje de la fuente de alimentación del Pi utilizando los sensores incorporados que forman parte de hwmon. Sin embargo, también puede agregar controladores al subsistema hwmon que no están integrados. Este uso de hwmon como “hogar” para los sensores es lo que llevó a la decisión de crear IIO como el mejor y más apropiado lugar para los sensores.

Existen grandes diferencias entre hwmon y IIO. En particular, IIO solo se ocupa de dispositivos de entrada y, en principio, puede hacerlo de formas mucho más sofisticadas que hwmon. Hwmon tiene la ventaja de administrar dispositivos de entrada y salida, pero es mucho más simple. Comencemos con hwmon y veamos los principios generales en acción.

Marc Gomez
Vine a por tabaco y ya me quedé aquí. Cuando no estoy en el sótano de Tecnopasion suelo pasear por las calles de Barcelona.
RELATED ARTICLES