🛠 Dominar los E/S GPIO e interfaces en Xerxes Nano
Objetivos
Este tutorial tiene como objetivo comprender la arquitectura de E/S de la placa portadora Xerxes Nano. A diferencia de las placas monolíticas, la Xerxes Nano expone buses de comunicación estándar (SPI, UART, I2C, I2S) a través de conectores dedicados o pines específicos. El objetivo es configurar estas interfaces para comunicarse con periféricos externos, como sensores ambientales (I2C) o pantallas OLED (SPI), gestionando al mismo tiempo la alimentación y la refrigeración a través de los conectores PWM y PoE.
Material necesario
- Placa portadora Xerxes Nano
- Módulo NVIDIA Jetson Orin Nano Super o Turing RK1
- Fuente de alimentación USB-C o inyector PoE (802.3af/at)
- Jumper de selección de alimentación
- Cables de conexión (Dupont o conectores compatibles)
- Periférico de prueba: Sensor I2C (ej: BME280) o Pantalla OLED SPI
- Ordenador anfitrión con acceso SSH
- Sistema operativo: Ubuntu Server o JetPack
Pasos
- Preparación del hardware: Inserte el módulo Jetson o Turing en el conector de la Xerxes Nano. Asegúrese de que el jumper de alimentación esté en 'USB' si usa un cargador estándar, o en 'PoE' si usa inyección por Ethernet. Conecte un ventilador al conector PWM para evitar el sobrecalentamiento durante pruebas intensivas.
- Acceso al sistema: Conéctese a la placa mediante SSH o serie (UART). Verifique la detección de interfaces listando los dispositivos I2C disponibles:
sudo i2cdetect -l
Si no aparece ningún bus, revise las superposiciones del kernel en /boot/extlinux/extlinux.conf para habilitar los controladores I2C/SPI necesarios.
- Configuración I2C: Para un sensor I2C, identifique la dirección del bus. Use
i2cdetectpara escanear el bus 1 (por ejemplo):
sudo i2cdetect -y 1
Si el sensor responde (dirección mostrada), instale las bibliotecas Python para la interacción:
sudo apt install python3-smbus python3-pip
pip3 install smbus2
- Prueba de comunicación: Cree un script Python simple para leer los datos del sensor. Asegúrese de que los pines SDA y SCL estén correctamente cableados en los conectores de expansión de la Xerxes Nano. Tenga en cuenta que los niveles de voltaje deben coincidir (generalmente 3.3V).
- Gestión PWM: Para controlar la velocidad del ventilador a través del conector PWM, use la interfaz sysfs o el demonio NVIDIA si está disponible. Revise los archivos de control en
/sys/class/pwm/para ajustar el ciclo de trabajo.
Verificación
- El comando
dmesg | grep i2cno debe mostrar errores de bus. - El script Python debe devolver valores de sensor consistentes.
- El ventilador debe variar su velocidad al modificar los parámetros PWM.
- Verifique que la alimentación permanezca estable (sin reinicios) al solicitar las interfaces.
Para ir más allá
Explore la herramienta de código abierto 'Xerxes Home Lab' para macOS para monitorear el estado de la placa. También puede aprovechar el puerto M.2 PCIe Gen 3 para agregar un acelerador de IA o almacenamiento NVMe rápido, o usar el conector OCuLink para conectar una tarjeta gráfica externa, convirtiendo la Xerxes Nano en una estación de trabajo de IA modular.