xerxes-nano-i2c-sensor-read.py

Xerxes Nano Carrier Board for Jetson Orin Nano Super and Turing RK1 Modules · File : xerxes-nano-i2c-sensor-read.py · Language : Python · Use case : Lire les données d'un capteur de température/humidité via le bus I2C exposé par la carte.

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}")

← Back to the board