🛠 Control GPIO e I2C en PICO-PTH4

AAEON PICO-PTH4: Placa Pico-ITX con SoC Intel Panther Lake · avance · Configurez les entrées-sorties GPIO et le bus I2C de la PICO-PTH4 pour interfacer des capteurs ou afficheurs via les connecteurs internes.

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

Pasos

  1. 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).
  1. 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.
  1. 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.

  1. Instalación de Herramientas: Instale las utilidades necesarias para interactuar con los buses físicos:
sudo apt update
sudo apt install i2c-tools gpiod
  1. 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.

  1. 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

← Volver a la ficha 🛠 Todos los tutoriales