i2c-temp-sensor-python.py
Script Python que utiliza la biblioteca smbus para consultar un sensor de temperatura I2C.
Instale las dependencias con 'opkg install python3 python3-smbus python3-pip' y luego 'pip3 install smbus2' si es necesario. El script asume que el bus I2C 0 está habilitado en el device tree. Conecte el sensor a los pines SDA/SCL del encabezado de 5 o 9 pines. Verifique la dirección I2C con 'i2cdetect -y 0' antes de ejecutar.
i2c-temp-sensor-python.py
import smbus
import time
# Adresse I2C typique pour LM75 (vérifier datasheet)
I2C_BUS = 0
I2C_ADDR = 0x48
def read_temperature():
try:
bus = smbus.SMBus(I2C_BUS)
# Lecture du registre de température (MSB puis LSB)
msb = bus.read_byte_data(I2C_ADDR, 0x00)
lsb = bus.read_byte_data(I2C_ADDR, 0x01)
# Conversion 11-bit signed value
temp = (msb << 8) | lsb
if temp > 0x7FF:
temp -= 0x1000
temp_c = temp / 256.0
return temp_c
except Exception as e:
print(f"Erreur I2C: {e}")
return None
if __name__ == "__main__":
print("Lecture température (Ctrl+C pour arrêter)")
while True:
t = read_temperature()
if t is not None:
print(f"Température: {t:.2f} °C")
time.sleep(2)