Skip to main content

Hardware de la placa portadora Robotics J501 y Primeros Pasos

El reComputer Robotics J501 Mini es una placa portadora de IA de borde compacta y de alto rendimiento diseñada para robótica avanzada. Compatible con módulos NVIDIA Jetson AGX Orin (32GB/64GB) en modo MAXN, ofrece hasta 275 TOPS de rendimiento de IA. Equipado con amplias opciones de conectividad—incluyendo puertos Ethernet Gigabit duales, ranuras M.2 para módulos 5G y Wi-Fi/BT, 2 puertos USB 3.2, CAN, GMSL2 (vía expansión opcional), I2C y UART—sirve como un cerebro robótico poderoso capaz de procesar datos complejos de varios sensores. Preinstalado con JetPack 6.2.1 y Linux BSP, asegura un despliegue sin problemas.​

Compatible con frameworks como NVIDIA Isaac ROS, Hugging Face, PyTorch y ROS 2/1, el reComputer Robotics J501 Mini conecta la toma de decisiones impulsada por modelos de lenguaje grandes con el control físico de robótica, como planificación de movimiento y fusión de sensores. Ideal para el desarrollo rápido de robots autónomos, acelera el tiempo de comercialización con interfaces listas para usar y frameworks de IA optimizados.

Descripción general de la placa portadora reComputer Jetson Robotics J501-Mini

Vista Superior
fig1
Vista Lateral
fig2
Vista Inferior
fig3

📝 Lista de Partes

  • Placa Portadora reComputer Robotics J501-Mini x 1
  • Fuente de Alimentación y placa de expansión JST x 1
  • Cable XT30 a DC x 1
  • Cable USB, Tipo A a Tipo C x 1
  • Disipador de Calor para placa de expansión x 1
  • Espárrago(M3*30) x 5
  • Tuerca hexagonal M3 x 5
  • Tornillo(CM2.5*L.4) para Módulo Jetson y M.2 Key M x3
  • Tornillo(CM2*3.0) para M.2 Key E x1
  • Espárrago(M2*2.0) para M.2 Key B x1
  • Tornillo(CM3*4.0) para M.2 Key B x1
  • Manual de Usuario x 1
note

1.Por favor diseñe una solución robusta de disipación de calor según la Guía de Diseño Térmico, cuando esté en fuente de alimentación de alto voltaje y temperatura de operación. 2.Por favor adjunte disipador de calor para el módulo para mejor rendimiento. 3.Durante la operación con entrada de alto voltaje y alta carga, por favor no toque el disipador de calor para prevenir quemaduras. 4.Recomendación de Adaptador de Energía para Validación, por favor use el adaptador de energía recomendado en el sitio web oficial de Seeed.

  • Adaptador de Energía 19V/4.74A 5525 Barrel Jack
  • Asegure que se cumplan los requisitos máximos de consumo de energía. 2.Compatibilidad de Cable de Alimentación AC
  • Compre cables de alimentación AC trébol específicos de la región según su ubicación. 3.Compatibilidad de Accesorios
  • Use solo accesorios oficialmente recomendados (ej., módulos inalámbricos, cámaras, periféricos) para rendimiento y compatibilidad óptimos.

🔍 Especificación

Especificaciones de la Placa Portadora

CategoríaElementoDetalles
AlmacenamientoM.2 KEY M PCIe1x M.2 KEY M PCIe (M.2 NVMe 2280 SSD)
RedesM.2 KEY E1x M.2 Key E para módulo WiFi/Bluetooth
Ethernet1x RJ45 10GbE && 1x RJ45 1GbE
E/SUSB2x USB 3.2 Tipo-A (10Gbps);
1x USB 2.0 Tipo C (Debug);
1x USB 3.0 Tipo C (Recovery/Debug)
Cámara2x 4 en 1 Conector GMSL2 Mini-Fakra (Opcional);
CAN2x CAN Conector JST de 4 Pines(GH 1.25);
DI/DO1x DI Conector JST de 5 Pines(GH 1.25);
1x DO Conector JST de 5 Pines(GH 1.25);
I2S1x I2S Conector JST de 5 Pines(GH 1.25)
RS4851x RS-485 Conector JST de 4 Pines(GH 1.25)
UART1x UART Conector JST de 4 Pines (Multiplexado con DI)
Pantalla1x HDMI 2.1
Ventilador1x Conector de Ventilador de 4 Pines(12V PWM)
Puerto de Extensión2x Header de Expansión de Cámara (para placa GMSL2)
RTC1x RTC de 2 pines;
LED1x LED PWR, Verde;
1x LED SSD, Verde;
1x LED USR, RGB
Botón1x Botón Recovery;
1x Botón RESET
Energía19-54V XT30(2+2) (Cable XT30 a 5525 DC Jack incluido)
Versión JetpackJetpack 6.2.1
MecánicoDimensiones (A x P x H)115mm x 115mm x 38mm
Peso200g
InstalaciónEscritorio, Montaje en pared
Temperatura de Operación-20℃~60℃ (Modo 25W);
-20℃~55℃ (Modo MAXN);
(con disipador de calor reComputer Robotics con ventilador)
Garantía2 Años
CertificaciónRoHS, REACH, CE, FCC, UKCA, KC

📦 Flash JetPack OS

Módulo Compatible

Prerrequisitos

  • PC host Ubuntu
  • Placa Portadora Robotics J501 Mini
  • Módulo NVIDIA® Jetson AGX Orin
  • Ventilador Activo para Módulo Nano/NX
  • SSD Interno NVMe M.2 2280
  • Cable de transmisión de datos USB Tipo-C
info

Recomendamos que uses dispositivos host ubuntu físicos en lugar de máquinas virtuales. Por favor consulta la tabla a continuación para preparar la máquina host.

Versión JetPack Versión Ubuntu (Computadora Host)
18.04 20.04 22.04
JetPack 6.x

Preparar la Imagen Jetpack

Aquí, necesitamos descargar la imagen del sistema a nuestra PC Ubuntu correspondiente al módulo Jetson que estamos usando:

Versión JetpackMódulo Jetson GMSL Enlace de Descarga1SHA256
6.2.1 AGX Orin 64GBDescargarc63d1219531245abecc7bbdcafc73d3
4f75547454c7af85de40f08396a87e5ee
AGX Orin 32GBDescargar5d1f3cd28eb44ca60132c87ccce5aca
f806ee945b486df9061a34de73fbb582b
danger

El archivo de imagen Jetpack6 tiene aproximadamente 14.2GB de tamaño y debería tomar alrededor de 60 minutos para descargar. Por favor espere pacientemente a que se complete la descarga.

info

Para verificar la integridad del firmware descargado, puedes comparar el valor hash SHA256.

En una máquina host Ubuntu, abre la terminal y ejecuta el comando sha256sum <File> para obtener el valor hash SHA256 del archivo descargado. Si el hash resultante coincide con el hash SHA256 proporcionado en la wiki, confirma que el firmware que descargaste está completo e intacto.

⚙️ Todos los archivos .dts y otro código fuente para las placas portadoras Jetson de SEEED pueden descargarse desde Linux_for_Tegra

Entrar al Modo Force Recovery

info

Antes de que podamos continuar con los pasos de instalación, necesitamos asegurarnos de que la placa esté en modo force recovery.

Paso a Paso

Paso 1. Mantén presionado el botón al modo RESET.

Paso 2. Enciende la placa portadora conectando el cable de alimentación, luego suelta el botón REST.

Paso 3. Conecta la placa a la PC host Ubuntu con un cable de transmisión de datos USB Tipo-C.

Paso 4. En la PC host Linux, abre una ventana de Terminal e ingresa el comando lsusb. Si el contenido devuelto tiene una de las siguientes salidas según el SoM Jetson que uses, entonces la placa está en modo force recovery.

  • Para AGX Orin 32GB: 0955:7223 NVidia Corp
  • Para AGX Orin 64GB: 0955:7023 NVidia Corp

La imagen de abajo es para AGX Orin 32GB:

Flashear a Jetson

Paso 1: Extraer el archivo de imagen descargado:

cd <path-to-image>
sudo tar xpf mfi_xxxx.tar.gz
# For example: sudo tar xpf mfi_recomputer-mini-agx-orin-32g-j501-6.2.1-36.4.4-2025-09-08.tar.gz

Paso 2: Ejecutar el siguiente comando para flashear el sistema jetpack al SSD NVMe:

cd mfi_xxxx
# For example: cd mfi_recomputer-orin-robotics-j501
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs

Verás la siguiente salida si el proceso de flasheo es exitoso

note

El comando de flasheo puede ejecutarse durante 2-10 minutos.

Paso 3: Conectar el Robotics J501-Mini a una pantalla usando el adaptador PD a HDMI para conectar a una pantalla que soporte entrada HDMI, o conectar directamente a una pantalla que soporte entrada PD usando el cable PD, y completar la configuración inicial:

info

Por favor completa la System Configuration según tus necesidades.

🔌 Uso de Interfaces

Lo siguiente introducirá las diversas interfaces de la placa Robotics j501-Mini y cómo usarlas.

M.2 Key M

M.2 Key M está diseñado para SSDs NVMe de alta velocidad, proporcionando transferencia de datos ultra rápida para aplicaciones robóticas.

Los SSDs soportados son los siguientes

Conexión de Hardware

Instrucciones de Uso

Antes de probar la velocidad de lectura/escritura del SSD, necesitas ingresar lo siguiente en la terminal de Jetson:

sudo apt update
sudo apt install smartmontools
sudo smartctl -i /dev/nvme0n1

Crear un archivo de script para probar la velocidad de lectura/escritura del SSD:

#You need to create a blank test file first
cat <<'EOF' | sudo tee test_nvme.sh >/dev/null
#!/usr/bin/env bash
set -e

sudo dd if=/dev/zero of=test bs=1000M count=1 conv=fdatasync
sleep 1
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sleep 1
sudo dd if=test of=/dev/null bs=1000M count=1
sudo rm -rf test
EOF

Ejecutar el script para probar la velocidad de lectura/escritura del SSD:

sudo chmod +x test_nvme.sh
./test_nvme

M.2 Key E

La interfaz M.2 Key E es un conector M.2 estándar utilizado principalmente para conectar módulos inalámbricos, como Wi-Fi y Bluetooth, para expandir las capacidades de comunicación inalámbrica.

Conexión de Hardware

Instrucciones de Uso

Para probar el rendimiento de Wi-Fi, usa el siguiente comando (reemplaza la dirección IP con tu servidor de prueba):

iperf3 -c 192.168.6.191

La funcionalidad Bluetooth está disponible a través del slot M.2 Key E.

Ethernet

La placa portadora Robotics j501-Mini cuenta con 2 puertos Ethernet RJ45 de 1Gbps para conectividad de red cableada de alta velocidad.

Para probar la velocidad del puerto Ethernet, usa iperf3 como sigue:

iperf3 -c <server_ip> -B <bind_ip>
info

<server_ip> es la dirección IP del servidor iperf3. El cliente se conectará a este servidor para realizar una prueba de ancho de banda. <bind_ip> vincula la dirección IP local especificada como origen del tráfico de prueba.

LED

El J501 mini tiene dos LEDs que pueden ser controlados. Lo siguiente demuestra cómo controlar los LEDs para que sean verde, rojo, o azul.

Instrucciones de Uso

Los comandos de referencia para controlar los LEDs son los siguientes:

#change to red
echo 1 | sudo tee /sys/class/leds/on-board:red/brightness
echo 0 | sudo tee /sys/class/leds/on-board:red/brightness
#change to green
echo 1 | sudo tee /sys/class/leds/on-board:green/brightness
echo 0 | sudo tee /sys/class/leds/on-board:green/brightness

#change to blue
echo 1 | sudo tee /sys/class/leds/on-board:blue/brightness
echo 0 | sudo tee /sys/class/leds/on-board:blue/brightness

El efecto de control del LED se muestra en la figura de abajo:

USB

La placa portadora Robotics j501-Mini está equipada con una variedad de puertos USB, incluyendo 2 puertos USB 3.2 Type-A (10Gbps), un puerto USB 3.0 Type-C, y un puerto USB 2.0 Type-C para modo dispositivo/depuración, ofreciendo opciones de conectividad versátiles.

Prueba de Velocidad USB-A

Crear un script para probar la velocidad del dispositivo USB:

sudo vim test_usb

Pegar el siguiente contenido:

cat <<'EOF' | sudo tee test_usb.sh >/dev/null
#!/bin/bash
sudo dd if=/dev/zero of=/dev/$1 bs=1000M count=2 conv=fdatasync
sleep 1
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sleep 1
sudo dd if=/dev/$1 of=/dev/null bs=1000M count=2
EOF

Hacer el script ejecutable y probar:

sudo chmod +x test_usb
./test_usb

Puerto USB 2.0 Type-C

Usando este puerto serie, a través del cable de datos USB-C, puedes monitorear la información de depuración de entrada y salida en el lado del PC.

En tu PC (no el Jetson), instala una herramienta de inicio de sesión por puerto serie e inicia sesión en /dev/ttyUSB0 (también podría ser ttyUSB1, 2):

sudo apt update
sudo apt install screen
screen /dev/ttyUSB0 115200

Luego puedes controlar la terminal del Jetson a través del puerto serie en otro host Linux, como se muestra a continuación:

Ventilador

El reComputer Jetson Robotics j501-Mini está equipado con:

  • 1x Conector de Ventilador de 4 Pines (12V PWM): Compatible con ventiladores PWM estándar de 12V, también soporta control preciso de velocidad, haciéndolo ideal para requisitos de refrigeración de alto rendimiento.

Conexión de Hardware

El Robotics J501 Mini proporciona un header estándar de 4 pines para el Ventilador.

El esquema de la hoja de datos del Ventilador se muestra a continuación:

Las definiciones de pines para J1 son las siguientes:

note

Para más información, por favor consulta aquí.

Instrucciones de Uso

Crear un script para establecer la velocidad del ventilador:

cat test_fanSpeedSet

Pegar el siguiente contenido:

#!/bin/bash
sudo systemctl stop nvfancontrol
sleep 2
echo "000000" | sudo -S chmod 777 /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
echo $1 > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

Adicionalmente, podemos establecer manualmente la velocidad del ventilador usando la herramienta jtop.

CAN

CAN (Controller Area Network) es un estándar robusto de bus vehicular que permite a los microcontroladores y dispositivos comunicarse entre sí sin una computadora host.

El J501 Mini proporciona dos interfaces CAN integradas en el JST de 4 pines (GH1.25). Adicionalmente, ambas interfaces CAN soportan CAN-FD, con CAN0 y CAN1 mostrados a continuación:

Las definiciones de pinout para CAN0 y CAN1 son similares, y el diagrama de interfaz se muestra a continuación:

CAN0 corresponde a J6, y las definiciones de pines son las siguientes:

CAN1 corresponde a J7, y las definiciones de pines son las siguientes:

Comunicación CAN

Esta sección conecta CAN0 y CAN1 en el Jetson para demostrar cómo enviar y recibir datos entre CAN0 y CAN1 en modo CAN clásico y modo CAN-FD.

Las resistencias de terminación para CAN0 y CAN1 pueden controlarse a través de dos pines: PAA.04, ubicado en gpiochip1 line4, y PAA.07, ubicado en gpiochip1 line7.

El control de resistencias de terminación sigue estas reglas:

When `PAA.04 = 1`, the 120 Ω termination resistor of CAN0 is **disconnected**;  
when `PAA.04 = 0`, the 120 Ω termination resistor of CAN0 is **connected**.

When `PAA.07 = 1`, the 120 Ω termination resistor of CAN1 is **disconnected**;
when `PAA.07 = 0`, the 120 Ω termination resistor of CAN1 is **connected**.

Ingresa el siguiente comando para ver los pines en gpiochip 1:

gpioinfo gpiochip1

Consulta los siguientes comandos para establecer PAA.04 y PAA.07 en 0:

sudo gpioset --mode=wait gpiochip1 4=0
sudo gpioset --mode=wait gpiochip1 7=0

Consulta los siguientes comandos para establecer PAA.04 y PAA.07 en 1:

sudo gpioset --mode=wait gpiochip1 4=1
sudo gpioset --mode=wait gpiochip1 7=1

Modo CAN clásico

Crea test_can.sh para probar la transmisión y recepción de datos entre CAN0 y CAN1 en modo estándar:

touch test_can.sh
chmod +x test_can.sh
./tets_can.sh

El código del script para test_can.sh es el siguiente:

test_can.sh
#!/bin/bash

echo "000000" | sudo -S ip link set can0 down
echo "000000" | sudo -S ip link set can1 down

# set buffer size
echo "000000" | sudo -S sysctl -w net.core.rmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.rmem_default=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_default=524288

#set to 2M bps
echo "000000" | sudo -S ip link set can0 type can bitrate 2000000
echo "000000" | sudo -S ip link set can0 up

echo "000000" | sudo -S ip link set can1 type can bitrate 2000000
echo "000000" | sudo -S ip link set can1 up

sleep 2

#Enable 5s to test
sudo pkill -f gpioset
gpioset --mode=time --sec=200000 gpiochip1 7=0 &
GPIO1_PID=$!
gpioset --mode=time --sec=200000 gpiochip1 4=0 &
GPIO2_PID=$!

cangen can1 &
candump can0

Se completará la transmisión y recepción de datos entre CAN0 y CAN1:

Modo CAN-FD

En la hoja de datos, puedes encontrar el diagrama de cableado para la interfaz CAN0/CAN1 como se muestra a continuación:

Crea test_canfd.sh para probar la transmisión y recepción de datos entre CAN0 y CAN1 en modo CAN-FD:

touch test_canfd.sh
chmod +x test_can.sh
./tets_can.sh

El código del script para test_canfdfd.sh es el siguiente:

test_canfd.sh
#!/bin/bash

# configure CAN FD mode
#CAN bus rate set to 500 kbps, data rate set to 5 Mbps.
echo "000000" | sudo -S ip link set can0 down
echo "000000" | sudo -S sudo ip link set can0 type can bitrate 500000 dbitrate 5000000 berr-reporting on fd on restart-ms 100
echo "000000" | sudo -S ip link set can0 up

echo "000000" | sudo -S ip link set can1 down
echo "000000" | sudo -S sudo ip link set can1 type can bitrate 500000 dbitrate 5000000 berr-reporting on fd on restart-ms 100
echo "000000" | sudo -S ip link set can1 up


# config buffer size
echo "000000" | sudo -S sysctl -w net.core.rmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.rmem_default=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_default=524288


# check CAN FD status
echo "CAN0 status:"
ip -details link show can0

echo "CAN1 status:"
ip -details link show can1

#Enable 5s to test
sudo pkill -f gpioset
gpioset --mode=time --sec=200000 gpiochip1 7=0 &
GPIO1_PID=$!
gpioset --mode=time --sec=200000 gpiochip1 4=0 &
GPIO2_PID=$!

candump can0 &
cangen can1 -f

Se completará la transmisión y recepción de datos entre CAN0 y CAN1:

GPI && GPO

GPI

El Robotics J501 Mini proporciona un conector JST estándar de 6 pines para GPI.

El esquema de la hoja de datos de GPI se muestra a continuación:

Las definiciones de pines para J12 son las siguientes:

Habilita GPI 1 a GPI 4 para leer el estado de entrada:

sudo gpioset --mode=wait 0 131=0

Para leer la entrada de GPI 1 a GPI 4, consulta los siguientes comandos:

sudo gpioget 0 96  #read the input of GPI 1
sudo gpioget 0 104 #read the input of GPI 2
sudo gpioget 0 86 #read the input of GPI 3
sudo gpioget 0 83 #read the input of GPI 4

Cuando se lee un nivel alto, devolverá 1; cuando se lee un nivel bajo, devolverá 0.

GPO

El Robotics J501 Mini proporciona un conector JST estándar de 6 pines para GPO.

El esquema de la hoja de datos de GPO se muestra a continuación:

Las definiciones de pines para J14 son las siguientes:

Habilita GPO 1 a GPO 4 para el estado de salida:

sudo gpioset --mode=wait 0 79=1

Para establecer la salida de GPO 1 a GPO 4, consulta los siguientes comandos:

sudo gpioset --mode=wait 0 110=1  #set output of GPO 1 to high voltag
sudo gpioset --mode=wait 0 112=1 #set output of GPO 2 to high voltag
sudo gpioset --mode=wait 0 111=1 #set output of GPO 3 to high voltag
sudo gpioset --mode=wait 0 113=1 #set output of GPO 4 to high voltag


sudo gpioset --mode=wait 0 110=1 #set output of GPO 1 to low voltag
sudo gpioset --mode=wait 0 112=1 #set output of GPO 2 to low voltag
sudo gpioset --mode=wait 0 111=1 #set output of GPO 3 to low voltag
sudo gpioset --mode=wait 0 113=1 #set output of GPO 4 to low voltag

UART

El Robotics J501 Mini proporciona un conector JST estándar de 6 pines para comunicación serie UART. UART y GPO usan la misma interfaz JST. Esta interfaz por defecto tiene funcionalidad GPO. Si necesitas cambiar a funcionalidad UART, debes apuntar a un nuevo árbol de dispositivos y reiniciar el dispositivo para que el cambio surta efecto.

Para comunicación UART, por favor sigue el siguiente cableado. Aquí, usamos la herramienta USB a TTL como ejemplo.

El esquema de la hoja de datos de UART se muestra a continuación:

Las definiciones de pines para J14 son las siguientes:

warning

UART y GPO comparten la misma interfaz física. Por defecto, esta interfaz funciona como GPO. Si necesitas cambiar a UART, por favor consulta el contenido de esta sección.

Para diferentes módulos, necesitas descargar el archivo de árbol de dispositivos correspondiente.

Enlace de descarga .dtb para AGX Orin 32G: https://files.seeedstudio.com/wiki/recomputer-j501-mini/tegra234-j501x-0000%2Bp3701-0004-recomputer-mini.dtb

Enlace de descarga .dtb para AGX Orin 64G: https://files.seeedstudio.com/wiki/recomputer-j501-mini/tegra234-j501x-0000%2Bp3701-0005-recomputer-mini.dtb

Copia el árbol de dispositivos a la ruta especificada:

# AGX Orin 32G
sudo cp tegra234-j501x-0000%2Bp3701-0004-recomputer-mini.dtb /boot/

# AGX Orin 64G
sudo cp tegra234-j501x-0000%2Bp3701-0005-recomputer-mini.dtb /boot/

Respalda y modifica /boot/extlinux/extlinux.conf, agregando una línea para apuntar al nuevo archivo .dtb:

sudo cp /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.bak
sudo vim /boot/extlinux/extlinux.conf

Basado en el nombre del archivo de árbol de dispositivos que estás usando, agrega una línea FDT=/tu_ruta en extlinux.conf. Tomando AGX Orin 32G como ejemplo:

LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
FDT=/boot/tegra234-j501x-0000+p3701-0004-recomputer-mini.dtb

El conector JST de 6 pines UART está mapeado a /dev/ttyTHS1 en el Jetson. Puedes usar minicom para ver la transmisión y recepción de datos del puerto serie:

sudo apt install minicom
sudo minicom -D /dev/ttyTHS1

RS485

La interfaz RS485 proporciona un canal de comunicación diferencial robusto y resistente al ruido comúnmente utilizado en entornos industriales. Soporta comunicación serie de larga distancia y multi-punto, siendo ideal para conectar sensores, controladores de motores, PLCs y otros dispositivos industriales.

Conexión de Hardware

Robotics J501-Mini proporciona un conector JST de 4 pines (GH 1.25) para RS485.

El esquema de la hoja de datos de RS485 se muestra a continuación:

Las definiciones de pines para J8 son las siguientes:

Instrucciones de Uso

Consulta los siguientes comandos para habilitar la interfaz RS485:

sudo gpioset --mode=wait 1 9=0  # Enable 120R resistance

sudo gpioset --mode=wait 0 126=0 # Enable RS485

La interfaz RS485 está mapeada a /dev/ttyTHS4 en el Jetson. Puedes usar cutecom para probar la transmisión y recepción de datos serie con una PC:

sudo apt install cutecom
sudo cutecom

Selecciona /dev/ttyTHS4, configura tanto el Jetson como la PC a una velocidad de baudios de 9600, y conecta el Jetson y la PC a través de un módulo RS485 a USB. El efecto de transmisión y recepción de datos serie se muestra en la figura a continuación:

Lado JetsonLado PC

I2S

La interfaz I2S proporciona un bus de comunicación de audio digital diseñado para transmitir datos de audio estéreo entre dispositivos. El Robotics J501-Mini soporta señalización I2S estándar, permitiendo entrada y salida de audio de alta calidad y baja latencia para aplicaciones como interacción por voz, localización de sonido y procesamiento de audio en tiempo real.

Conexión de Hardware

Robotics J501-Mini proporciona un conector JST de 5 pines (GH 1.25) para I2S.

El esquema de la hoja de datos de I2S se muestra a continuación:

Las definiciones de pines para J9 son las siguientes:

Instrucciones de Uso

Para habilitar I2S, necesitas configurarlo en jetson-io.py. Ejecuta lo siguiente en la terminal:

sudo python /opt/nvidia/jetson-io/jetson-io.py

Luego, consulta los cuatro pasos a continuación para habilitar la interfaz I2S:

  • paso1: Selecciona la opción Jetson 40-pin header
  • paso2: Selecciona Configure header pins manually
  • paso3: Selecciona i2s2; después de la selección, se marcará con [*]
  • paso4: Guarda la configuración y reinicia el Jetson
Paso 1
Paso 1
Paso 3
Paso 3
Paso 2
Paso 2
Paso 4
Paso 4

Después de habilitar I2S, esta sección demuestra cómo usar I2S para controlar un altavoz de doble canal. Primero, ingresa lo siguiente en la terminal:

amixer -c APE cset name="I2S2 Mux" "ADMAIF1" # Speaker

Si estás usando un micrófono:

amixer -c APE cset name="ADMAIF2 Mux" "I2S2" # Microphone

Consulta el comando a continuación para controlar el altavoz, donde -c debe cambiarse al número de canales del altavoz que estés usando:

speaker-test -t sine -f 440 -c 2

Puedes ver la salida en la terminal cuando el altavoz se controla normalmente, como se muestra en la figura a continuación.

RTC

El Robotics J501-Mini proporciona un conector estándar de 2 pines para RTC (3V).

El esquema de la hoja de datos de RTC se muestra a continuación:

Las definiciones de pines para J15 son las siguientes:

Después de conectar la batería externa, puedes verificar el estado de funcionamiento de rtc0 (RTC principal, correspondiente a la batería integrada) en la terminal:

cat /sys/class/rtc/rtc0/power/runtime_status

Puerto de Extensión - GMSL

La placa base Robotics j501-Mini cuenta con un conector de expansión de cámara para placa de extensión GMSL. Puede conectar y operar simultáneamente cuatro cámaras GMSL al mismo tiempo.

Conexión de Hardware

Aquí están las ranuras de conexión de la placa de expansión de cámara GMSL de la placa base Robotics j501-Mini (necesitas preparar una placa de extensión con anticipación):

Los siguientes son los modelos de cámara GMSL que ya hemos soportado:

Instrucciones de Uso

note

Antes de habilitar la funcionalidad GMSL, asegúrate de haber instalado una versión de JetPack con el controlador de la placa de expansión GMSL.

Configurar el archivo Jetson IO

sudo /opt/nvidia/jetson-io/jetson-io.py
note

Hay tres archivos overlay en total, a saber, Seeed GMSL 1X4 3G, Seeed GMSL 1X4 6G, Seeed GMSL 1X4, y Orbbec Gemini 335Lg. Estos corresponden a la cámara 3G de SG3S, la cámara 6G de SG2 y SG8S, y la cámara de Orbbec respectivamente. Como se muestra en la Figura 3, configura el archivo io según el modelo de tu cámara.

paso 2. Instala las herramientas de configuración de interfaz de video.

sudo apt update
sudo apt install v4l-utils

Usar las cámaras de la Serie SGxxx

paso 1. Configura el formato de canal para el serializador y deserializador. El número de interfaz en la figura corresponde al número del serializador/deserializador.

  media-ctl -d /dev/media0 --set-v4l2 '"ser_0_ch_0":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_0":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_1_ch_1":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_1":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_2_ch_2":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_2":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_3_ch_3":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_3":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_4_ch_0":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_0":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_5_ch_1":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_1":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_6_ch_2":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_2":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_7_ch_3":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_3":0[fmt:YUYV8_1X16/1920x1536]'

note

ser_0_ch_0 es el primer canal del decodificador, des_ch_0 es el serializador en la primera cámara, y lo mismo se aplica a los demás. Si la cámara conectada tiene una resolución diferente, entonces la configuración aquí se basará en el formato real de la cámara. Necesitamos configurar el formato del canal para el serializador y deserializador cada vez que el dispositivo se reinicie.

paso 2. Configurar la resolución de la cámara.

info

Aquí demostramos cómo configurar cámaras de diferentes modelos y resoluciones.

v4l2-ctl -V --set-fmt-video=width=1920,height=1080 -c sensor_mode=1  -d /dev/video0
v4l2-ctl -V --set-fmt-video=width=1920,height=1080 -c sensor_mode=1 -d /dev/video1
v4l2-ctl -V --set-fmt-video=width=1920,height=1536 -c sensor_mode=0 -d /dev/video2
v4l2-ctl -V --set-fmt-video=width=3840,height=2160 -c sensor_mode=2 -d /dev/video3
note

--set-fmt-video sigue la resolución que se selecciona basándose en la cámara que está conectada. El sensor_mode también se elige en consecuencia. Actualmente, hay tres opciones de sensor_mode, cada una correspondiente a una resolución diferente.

  • sensor_mode=0 -------> YUYV8_1X16/1920x1536
  • sensor_mode=1 -------> YUYV8_1X16/1920x1080
  • sensor_mode=2 -------> YUYV8_1X16/3840x2160

paso 3. Iniciar la cámara.

gst-launch-1.0 v4l2src device=/dev/video0 ! \
'video/x-raw,width=1920,height=1080,framerate=30/1,format=UYVY' ! \
videoconvert ! xvimagesink -ev

gst-launch-1.0 v4l2src device=/dev/video1 ! \
'video/x-raw,width=1920,height=1080,framerate=30/1,format=UYVY' ! \
videoconvert ! xvimagesink -ev

gst-launch-1.0 v4l2src device=/dev/video2 ! \
'video/x-raw,width=1920,height=1536,framerate=30/1,format=UYVY' ! \
videoconvert ! xvimagesink -ev

gst-launch-1.0 v4l2src device=/dev/video3 ! \
'video/x-raw,width=3840,height=2160,framerate=30/1,format=UYVY' ! \
videoconvert ! xvimagesink -ev

Pantalla

El Robotics J501 Mini está equipado con un HDMI para salida de pantalla de alta resolución.

Recursos

Soporte Técnico y Discusión de Productos

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

Loading Comments...