🛠 Control GPIO e I2C en PICO-PTH4
Objetivos
Este tutorial avanzado tiene como objetivo explotar las interfaces de comunicación integradas de la tarjeta AAEON PICO-PTH4. A diferencia de las placas de desarrollo para consumidores, la PICO-PTH4 es un módulo industrial Pico-ITX. El objetivo es acceder a los conectores internos para leer un sensor mediante el bus I2C/SMBus y controlar un periférico mediante líneas GPIO, utilizando el sistema operativo Linux estándar subyacente al SoC Intel Panther Lake.
Material Necesario
- Tarjeta AAEON PICO-PTH4 (variante Core Ultra 5, 7 o X7).
- Fuente de alimentación 12V CC conforme a las especificaciones.
- Cables de conexión para el conector interno GPIO/I2C (consulte el folleto técnico para el pinout exacto, ya que los conectores internos no están estandarizados como en Arduino).
- Un sensor compatible con I2C (ej: BME280) o un módulo de pantalla OLED.
- Un PC host con acceso SSH para la configuración de software.
Pasos
- Preparación del Hardware: Apague la tarjeta. Identifique el conector interno dedicado a E/S. En la PICO-PTH4, las líneas GPIO y el bus SMBus/I2C están expuestos en conectores de pines dedicados. Asegúrese de que el voltaje lógico de los componentes externos coincida con los niveles soportados por el SoC Panther Lake (generalmente 1.8V o 3.3V, consulte la hoja de datos).
- Activación de Interfaces en BIOS: Inicie la tarjeta y acceda a la BIOS/UEFI. Navegue a la configuración avanzada del chipset. Active el controlador I2C y las funciones GPIO si están deshabilitadas por defecto por razones de seguridad industrial.
- Configuración de Software (Linux): Una vez en Linux, verifique la detección de buses. Use el siguiente comando para listar los adaptadores I2C disponibles:
ls /dev/i2c-*
Si no aparecen dispositivos, cargue los módulos del kernel apropiados para el controlador I2C integrado en el SoC Intel Panther Lake.
- Instalación de Herramientas: Instale las utilidades necesarias para interactuar con los buses físicos:
sudo apt update
sudo apt install i2c-tools gpiod
- Lectura del Sensor I2C: Conecte el sensor. Escanee el bus para encontrar la dirección del dispositivo (reemplace 0 con el adaptador detectado):
sudo i2cdetect -y 0
Una vez identificada la dirección (ej: 0x76), puede leer los registros mediante i2cget o usar una biblioteca Python como smbus2 para una integración más robusta.
- Control GPIO: Para GPIOs, identifique las líneas disponibles mediante:
gpiodetect
Use gpioget para leer el estado o gpioset para cambiar el estado de una línea específica, respetando la configuración de multiplexación de pines definida en la BIOS.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
gpio-led-blink-python.pyPythoni2c-sensor-temp.pyPythonnetwork-monitor-eth.pyPythonnvme-storage-bench.shBashai-inference-openvino.pyPythongpio-led-control-python.pyPython