🛠 Xerxes Pi 2026: Dominio avanzado de E/S mediante Qwiic y GPIO
Objetivos
Este tutorial tiene como objetivo configurar y depurar interfaces de entrada/salida críticas en la placa Xerxes Pi 2026. Utilizaremos el bus I2C a través de conectores Qwiic para un sensor ambiental y pines GPIO para una pantalla o salida de control, integrando la depuración serie para validar la integridad de la señal.
Material necesario
- Placa Xerxes Pi 2026 con módulo CM4 o CM5 insertado.
- Fuente de alimentación USB-C o PoE (con jumper de selección de fuente configurado).
- Sensor I2C compatible con Qwiic (ej: BME280) y cable SH-series.
- Módulo de pantalla o LED conectado a los pines GPIO expuestos a través del mezzanine.
- Cable USB-TTL para el conector serie dedicado.
- Terminal SSH o serie (PuTTY, minicom) en PC o mediante la aplicación macOS proporcionada.
Pasos
- Preparación del hardware: Inserte el módulo CM en los conectores mezzanine de 100 pines. Asegúrese de que el jumper de selección de fuente de alimentación esté en USB-C para la fase de desarrollo. Conecte el sensor Qwiic a uno de los puertos SH-series y el módulo de pantalla a los pines GPIO correspondientes (consulte el esquema KiCad para las asignaciones exactas).
- Habilitar I2C y GPIO: Conéctese por SSH. Edite el archivo de configuración:
sudo nano /boot/firmware/config.txt
Agregue las siguientes líneas para habilitar las interfaces:
dtparam=i2c_arm=on
dtoverlay=gpio-shutdown
Guarde y reinicie:
sudo reboot
- Verificación de periféricos: Después del reinicio, escanee el bus I2C para confirmar la detección del sensor:
sudo i2cdetect -y 1
Debería ver la dirección hexadecimal del sensor (ej: 0x76 para BME280).
- Lectura de datos: Instale herramientas de Python si es necesario y pruebe una lectura rápida:
sudo apt install python3-smbus
python3 -c "import smbus; bus=smbus.SMBus(1); print(hex(bus.read_byte_data(0x76, 0xD0)))"
- Depuración serie: Si las señales parecen inestables, conecte el cable USB-TTL al conector serie dedicado. Abra un terminal serie a 115200 baudios. Use los pines de arranque para forzar el modo UART si es necesario, permitiendo el análisis en tiempo real de los registros del sistema durante las pruebas GPIO.
Verificación
Valide que el sensor devuelva valores coherentes (temperatura, presión) y que el GPIO conmute correctamente (LED encendido/apagado). Los registros serie no deben mostrar errores de bus I2C (NACK) ni conflictos de pines. La aplicación macOS debe mostrar el estado del sistema sin latencia anormal.
Para ir más allá
Explore la extensión I2S a través de conectores Qwiic para audio digital. Use los archivos KiCad de código abierto para diseñar un shield personalizado que aproveche el puerto M.2 NVMe para almacenamiento masivo de datos de sensores, optimizando al mismo tiempo la refrigeración activa mediante el conector PWM.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
poe-status-monitor.pypythonnvme-benchmark.shbashqwiic-bme280-reader.pypythonpwm-fan-control.pypythonethernet-poe-config.shbashnvme_storage_benchmark-6.inobash