xerxes-nano-i2c-sensor-read.py
Environmental sensor reading example via I2C, exploiting the Xerxes Nano's serial interfaces for IoT data acquisition.
Hardware: Xerxes Nano, I2C sensor (e.g., SHT30), Dupont cables. Check SDA/SCL pins on the Xerxes Nano KiCad schematic. Enable I2C via sudo i2cdetect -y 1 to confirm detection. Execution: sudo apt install python3-smbus then python3 i2c_sensor.py. Ensure the module is powered correctly (PoE or 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}")