xerxes-nano-i2c-sensor-read.py
Ejemplo de lectura de sensor ambiental vía I2C, aprovechando las interfaces seriales de la placa Xerxes Nano para la adquisición de datos IoT.
Hardware: Xerxes Nano, sensor I2C (ej: SHT30), cables Dupont. Verifique los pines SDA/SCL en el esquema KiCad de la placa. Habilite I2C mediante sudo i2cdetect -y 1 para confirmar la detección. Ejecución: sudo apt install python3-smbus luego python3 i2c_sensor.py. Asegúrese de que el módulo esté alimentado correctamente (PoE o USB).
xerxes-nano-i2c-sensor-read.py
import smbus
import time
# Adresse I2C typique pour un capteur DHT22/SHT3x (à adapter selon le capteur)
# La Xerxes Nano expose les bus I2C du Jetson via ses connecteurs.
BUS_NUMBER = 1
DEVICE_ADDRESS = 0x44 # Exemple SHT30
try:
bus = smbus.SMBus(BUS_NUMBER)
print(f"Bus I2C {BUS_NUMBER} ouvert.")
while True:
try:
# Lecture simple de registre (exemple générique)
data = bus.read_i2c_block_data(DEVICE_ADDRESS, 0x00, 6)
temp = ((data[0] << 8) + data[1]) / 100.0
hum = ((data[3] << 8) + data[4]) / 100.0
print(f"Temp: {temp:.2f} C, Hum: {hum:.2f} %")
except Exception as e:
print(f"Erreur I2C: {e}")
time.sleep(2)
except Exception as e:
print(f"Impossible d'ouvrir le bus: {e}")