Saltar al contenido principal

Guía de uso de pines GPIO de reCamera Pro

Introducción

Este artículo describe cómo usar los pines GPIO en la reCamera Pro. Aprenderás cómo determinar el pin GPIO objetivo usando la fórmula de cálculo del número de pin, exportar y configurar la dirección y el nivel del pin a través de la interfaz sysfs, y usar scripts de Python para controlar salidas GPIO o leer niveles de entrada.

nota

En la reCamera Pro, solo hay dos GPIO de propósito general expuestos, y su tensión de salida va de 12 V a 21 V (dependiendo de la entrada DC-IN), lo cual no es adecuado para la mayoría de los dispositivos. Sin embargo, puedes reconfigurar los pines UART o CAN de la interfaz de expansión como GPIO de propósito general. Estos pines entregan un nivel estándar de 3,3 V.

Localización de pines GPIO

Primero, consulta las siguientes imágenes para encontrar las posiciones de los pines GPIO que necesitas:

Diagrama de la interfaz de expansión Diagrama de pines CAN

Fórmula de cálculo del número de pin

El número de pin GPIO se calcula usando la siguiente fórmula:

GPIO bank × 32 + offset within bank

El desplazamiento dentro del banco se calcula como: número de grupo × 8 + número de pin dentro del grupo.

Por ejemplo, para GPIO5_A2:

  • El número de banco es 5
  • El desplazamiento dentro del banco es 0 × 8 + 2 = 2

Por lo tanto, el número de pin es:

5 × 32 + 2 = 162

La correspondencia entre letras de banco y números es la siguiente:

LetraNúmero
A0
B1
C2
D3
......

Exportar un pin GPIO

Primero, necesitas acceder al terminal del dispositivo. Puedes hacerlo de cualquiera de las siguientes maneras:

  1. Conectarte al dispositivo mediante SSH
  2. Usar la función de terminal en la WebUI
cd /sys/class/gpio

Exportar el pin GPIO

echo 162 > export

Establecer la dirección del pin GPIO

La dirección del pin admite los siguientes dos modos:

  • Salida: out
  • Entrada: in (modo predeterminado)
echo out > direction

Establecer el nivel del pin GPIO

El nivel admite los siguientes dos estados:

  • Nivel alto: 1
  • Nivel bajo: 0
echo 1 > value

Referencia de código en Python

El siguiente script de Python muestra cómo controlar un pin GPIO para que entregue niveles altos y bajos:

import os
import time

GPIO = 162 # The GPIO pin number calculated earlier

GPIO_PATH = f"/sys/class/gpio/gpio{GPIO}"

def write_file(path, value):
with open(path, "w") as f:
f.write(str(value))

# 1. Export the GPIO
if not os.path.exists(GPIO_PATH):
write_file("/sys/class/gpio/export", GPIO)
time.sleep(0.1) # Wait for export to complete

# 2. Set to output mode (use 'in' for input mode)
write_file(f"{GPIO_PATH}/direction", "out")

# 3. Set high level
write_file(f"{GPIO_PATH}/value", 1)
time.sleep(1)

# 4. Set low level
write_file(f"{GPIO_PATH}/value", 0)
time.sleep(1)

# To read the pin level, you can use the following code:
# with open(f"/sys/class/gpio/gpio{GPIO}/value", "r") as f:
# value = f.read().strip()
# print(value)

Recursos

Soporte técnico y debate sobre el producto

Gracias por elegir nuestros productos. Estamos aquí para ofrecerte diferentes opciones de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos múltiples canales de comunicación para adaptarnos a distintas preferencias y necesidades.

Loading Comments...