🛠 Configurer les I/O sur Xerxes Pi 2026
Objectifs
Ce tutoriel vise à maîtriser les entrées-sorties (I/O) sur la carte porteuse Xerxes Pi 2026. Nous allons exploiter les connecteurs Qwiic pour les périphériques I2C et le connecteur mezzanine pour les signaux spécifiques. L'objectif est de lire un capteur et d'afficher une donnée sur un écran OLED, en utilisant les broches exposées par la carte compacte de 120 x 40 mm.
Matériel nécessaire
- Carte Xerxes Pi 2026 avec module Raspberry Pi CM4 ou CM5 inséré.
- Alimentation USB-C ou PoE (selon le pontage sélectionné).
- Câbles Qwiic SH-series (4 broches) pour l'I2C.
- Capteur I2C (ex: BME280) et affichage OLED I2C (SSD1306).
- Système Raspberry Pi OS ou Ubuntu Server installé sur le stockage NVMe M.2.
- Terminal SSH ou écran HDMI via le connecteur mezzanine.
Étapes
- Préparation matérielle : Assurez-vous que le module CM4/CM5 est bien enfoncé dans les deux connecteurs mezzanine 100 broches. Vérifiez le pontage d'alimentation pour choisir entre USB-C et PoE. Branchez le câble Qwiic du capteur BME280 sur un des connecteurs SH-series disponibles sur la carte.
- Configuration logicielle : Connectez-vous en SSH. Activez l'interface I2C via l'utilitaire de configuration :
sudo raspi-config nonint do_i2c 0
sudo reboot
- Installation des bibliothèques : Installez les outils nécessaires pour communiquer avec les périphériques I2C :
sudo apt update
sudo apt install python3-smbus i2c-tools
- Détection des périphériques : Scannez le bus I2C pour confirmer que le capteur et l'écran sont reconnus. Vous devriez voir les adresses (ex: 0x76 pour BME280, 0x3C pour OLED) :
sudo i2cdetect -y 1
- Script de test : Créez un script Python simple pour lire le capteur et afficher la température sur l'OLED. Utilisez la bibliothèque
adafruit-circuitpython-bme280etadafruit-circuitpython-ssd1306.
import board
import busio
import adafruit_bme280
import adafruit_ssd1306
i2c = busio.I2C(board.SCL, board.SDA)
bme = adafruit_bme280.Adafruit_BME280_I2C(i2c)
display = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c)
while True:
display.fill(0)
display.text(f"Temp: {bme.temperature:.1f}C", 0, 0)
display.show()
- Exécution : Lancez le script. Les données doivent s'afficher sur l'OLED. Si rien ne s'affiche, vérifiez les connexions Qwiic et les adresses I2C.
Vérification
Le capteur doit transmettre des données cohérentes et l'affichage doit mettre à jour la température en temps réel. Utilisez dmesg pour vérifier l'absence d'erreurs de bus I2C. Le système doit rester stable sous charge légère.
Pour aller plus loin
Explorez l'extension I2S pour l'audio via les connecteurs Qwiic. Intégrez cette configuration dans Docker pour une gestion isolée, comme le propose l'application macOS de surveillance. Consultez les fichiers KiCad sur GitHub pour comprendre le routage des signaux CSI et HDMI exposés sur le mezzanine.
Autres tutoriels pour cette carte
- Premier branchement et mise en route de la Xerxes Pi 2026
- Premiers pas avec les GPIO sur Xerxes Pi
- Mettre en place un serveur de fichiers sécurisé avec Xerxes Pi 2026
- Mise en route de la Xerxes Pi 2026
- Déployer un NAS compact avec la Xerxes Pi 2026 et PoE
- Xerxes Pi 2026 : Maîtrise avancée des E/S via Qwiic et GPIO
Exemples de code pour cette carte
poe-status-monitor.pypythonnvme-benchmark.shbashqwiic-bme280-reader.pypythonpwm-fan-control.pypythonethernet-poe-config.shbashnvme_storage_benchmark-6.inobash