banner
Heim / Nachricht / Verwendung von I²C-Sensoren mit jedem Linux über USB und IIO
Nachricht

Verwendung von I²C-Sensoren mit jedem Linux über USB und IIO

Jul 05, 2023Jul 05, 2023

Der Anschluss von I2C-Sensoren wird im Allgemeinen mit Mikrocontrollern und SBCs in Verbindung gebracht, dennoch ist es sehr einfach, solche I2C-Sensoren von praktisch jedem System aus zu verwenden, auf dem Linux läuft. Schließlich ist I2C (also SMBus) eine der Schnittstellen, die mit hoher Wahrscheinlichkeit sowohl auf dem Mainboard als auch auf den Peripheriegeräten Ihres PCs zum Einsatz kommen. Das bedeutet, dass der Betrieb unserer eigenen Geräte wie des bekannten Temperatur-, Druck- und Feuchtigkeitssensors BME280 oder des Lichtsensors Si1145 ein Kinderspiel sein dürfte.

In einem Blogbeitrag von vor einigen Jahren erklärt [Peter Molnar] ausführlich, wie man einen physischen Adapter verkabelt, um einem System eine über USB angeschlossene I2C-Schnittstelle hinzuzufügen. Das Herzstück ist der ATtiny85 AVR-basierte MCU, der eine integrierte USB-Schnittstelle bietet und die I2C-Tiny-USB-Firmware ausführt.

Der wesentliche Teil besteht darin, dass die MCU dem Linux-Kernel als i2c-Gerät angezeigt wird und der i2c-dev-Treiber geladen werden muss. Danach kann das I2C-Gerät, das mit dem I2C-Bus der Adapter-MCU verbunden ist, über die API-Aufrufe des Linux-Moduls verwendet werden, entweder direkt oder über vorhandene Treiber. [Peter] fand heraus, dass der BMP280-Treiber beispielsweise mit Debian Sid geliefert wurde.