banner
Lar / Notícias / Usando sensores I²C com qualquer Linux via USB e IIO
Notícias

Usando sensores I²C com qualquer Linux via USB e IIO

Jul 05, 2023Jul 05, 2023

Conectar sensores I2C é algo geralmente associado a microcontroladores e SBCs, mas é muito fácil usar esses sensores I2C de basicamente qualquer sistema que execute Linux. Afinal, I2C (ou seja, SMBus) é uma das interfaces com maior probabilidade de ser usada na placa-mãe do seu PC, bem como nos periféricos. Isso significa que executar nossos próprios dispositivos, como o conhecido sensor de temperatura, pressão e umidade BME280 ou o sensor de luz Si1145, deve ser moleza.

Em uma postagem de blog de alguns anos atrás, [Peter Molnar] explica em detalhes como conectar um adaptador físico para adicionar uma interface I2C conectada por USB a um sistema. Em seu núcleo está o MCU baseado em AVR ATtiny85, que fornece uma interface USB integrada, executando o firmware I2C-Tiny-USB.

A parte essencial aqui é que o MCU aparece no kernel do Linux como um dispositivo i2c, exigindo que o driver i2c-dev seja carregado. Depois disso, o dispositivo I2C que está conectado ao barramento I2C do MCU do adaptador pode ser usado por meio das chamadas de API do módulo Linux, diretamente ou por meio de drivers existentes. [Peter] descobriu que o driver BMP280 vinha com o Debian Sid, por exemplo.