Skip to main content

Cómo usar el GPIO de 40 pines en las placas reComputer Jetson

Este wiki demuestra cómo acceder y controlar el GPIO de 40 pines de las placas reComputer Jetson. Para este wiki, hemos usado reComputer J4012 como ejemplo. Sin embargo, los pasos serán similares para otras placas reComputer Jetson también.

Antes de comenzar

Aquí hay información que necesitas saber antes de comenzar a trabajar con el GPIO de 40 pines en los dispositivos reComputer Jetson.

  • El nivel de voltaje por pin GPIO es 3.3V
  • No puedes alimentar las placas reComputer Jetson a través del GPIO debido a la limitación de corriente de los pines GPIO

Encontrar el nombre del GPIO

Paso 1: Abre la hoja de datos de una placa reComputer Jetson. A continuación puedes encontrar las hojas de datos de todas las placas reComputer Jetson que están disponibles.

Aquí hemos elegido la hoja de datos del reComputer J4012.

Paso 2: Navega a la sección Cabecera de expansión de 40 pines - J10

Paso 3: Encuentra el nombre del Pin de cabecera # asegurándote de que su uso predeterminado sea GPIO bajo la columna Uso predeterminado / Descripción

Por ejemplo, verifica el Pin de cabecera 15. Su Uso predeterminado es GPIO

Paso 4: Para el mismo pin, encuentra el nombre bajo la columna Nombre del pin del módulo. En nuestro ejemplo, es GPIO12

Acceder y controlar el GPIO

Ahora tenemos 2 métodos diferentes para acceder a los GPIOs en las placas Jetson basados en la disponibilidad de las etiquetas GPIO directamente. Usando el primer método, podemos conocer directamente las etiquetas de los pines GPIO después de ejecutar un comando dentro del dispositivo. Sin embargo, si las etiquetas de los pines no se muestran directamente, puedes usar el segundo método.

Método 1

En este método, el archivo dts para GPIO está incluido dentro de la versión de JetPack que flasheas y tendrá el GPIO etiquetado apropiadamente ya para que puedas obtener las etiquetas de los pines directamente desde el dispositivo.

Paso 1: Ingresa al terminal del dispositivo Jetson y ejecuta este comando

sudo su
cat /sys/kernel/debug/gpio

Paso 2: Encuentra el número GPIO correspondiente al Nombre del Pin del Módulo que obtuvimos antes

En este caso, es gpio-268 correspondiente a GPIO12

Paso 3: Ejecuta lo siguiente dentro de la terminal para exportar el pin gpio-268

cd /sys/class/gpio
echo 268 > export

Paso 4: Establece la dirección y establece el valor. Aquí la dirección puede ser in/ out y el valor puede ser 0/ 1

Por ejemplo, para establecer GPIO12 en HIGH

cd gpio268
echo "out" > direction
echo 1 > value

Para establecer GPIO12 en LOW

echo 0 > value

Paso 5: Para establecer el pin GPIO que exportaste de vuelta al estado predeterminado, ejecuta lo siguiente

cd ..
echo 268 > unexport

Método 2

En este método, el archivo dts para GPIO no está incluido dentro de la versión de JetPack que flasheas y no tendrá GPIO etiquetado correctamente. Por lo tanto, necesitamos referirnos a otro documento (pinmux) y obtener esta información de etiquetas de pines. Consulta los enlaces a continuación según el SoM.

Paso 1: Descarga el documento pinmux según el SoM que estés usando. Aquí elegimos el documento Jetson Orin NX/ Nano

Paso 2: Encuentra la etiqueta GPIO (bajo la columna Customer Usage) correspondiente al Module Pin Name que obtuvimos antes. Por ejemplo, para GPIO12, es GPIO3_PN.01 y aquí nos referimos a PN.01

Paso 3: Ingresa al terminal del dispositivo Jetson y ejecuta este comando

sudo su
cat /sys/kernel/debug/gpio

Paso 4: Encuentra el número de GPIO correspondiente a la etiqueta de GPIO que obtuvimos antes

En este caso, es gpio-433 correspondiente a PN.01 que también es igual a GPIO12

Paso 5: Ejecuta lo siguiente dentro de la terminal para exportar el pin gpio-433

cd /sys/class/gpio
echo 433 > export

Paso 6: Establece la dirección y establece el valor. Aquí la dirección puede ser in/ out y el valor puede ser 0/ 1

Por ejemplo, para establecer GPIO12 en HIGH

cd PN.01
echo "out" > direction
echo 1 > value

Para establecer GPIO12 en LOW

echo 0 > value

Paso 7: Para establecer el pin GPIO que exportaste de vuelta al estado predeterminado, ejecuta lo siguiente

cd ..
echo 433 > unexport

Para Jetpack6+

Similar al método 2, necesitamos referirnos a otro documento (pinmux) y obtener esta información de etiqueta de pin. Consulta los enlaces a continuación según el SoM.

Paso 1: Descarga el documento pinmux según el SoM que estés usando. Aquí elegimos el documento Jetson Orin NX/ Nano

Paso 2: Encuentra la etiqueta GPIO (bajo la columna Customer Usage) correspondiente al Module Pin Name que obtuvimos antes. Por ejemplo, para GPIO12, es GPIO3_PN.01 y aquí nos referimos a PN.01

Paso 3: Ingresa al terminal del dispositivo Jetson y ejecuta este comando

sudo apt update
sudo apt install gpiod

gpioinfo

Paso 4: Encuentra el número de GPIO correspondiente a la etiqueta de GPIO que obtuvimos antes

En este caso, es gpiochip0 line85 correspondiente a PN.01 que también es igual a GPIO12

Paso 5: Luego podemos usar el comando gpioset para configurar el modo de funcionamiento del GPIO.

# To set GPIO12 to HIGH
sudo gpioset --mode=wait gpiochip0 85=1
# To set GPIO12 to LOW
sudo gpioset --mode=wait gpiochip0 85=0
info

Si deseas aprender más sobre el comando gpioset, por favor consulta esto: https://www.acmesystems.it/gpiod

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...