xerxes-nano-i2c-sensor-read.py

Carte porteuse Xerxes Nano pour modules Jetson Orin Nano Super et Turing RK1 · Fichier : xerxes-nano-i2c-sensor-read.py · Langage : Python · Usage : Lire les données d'un capteur de température/humidité via le bus I2C exposé par la carte.

Exemple de lecture de capteur environnemental via I2C, exploitant les interfaces série de la carte Xerxes Nano pour l'acquisition de données IoT.

Matériel : Xerxes Nano, capteur I2C (ex: SHT30), câbles Dupont. Vérifiez les broches SDA/SCL sur le schéma KiCad de la carte. Activez I2C via sudo i2cdetect -y 1 pour confirmer la détection. Exécution : sudo apt install python3-smbus puis python3 i2c_sensor.py. Assurez-vous que le module est alimenté correctement (PoE ou 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}")

← Retour à la fiche