Cómo utilizar el puerto serie de Raspberry Pi para controlar otros dispositivos

Raspberry Pi 3B+ con el puerto serie en uso

En ocasiones puede llegar a ser necesario conectarnos a la consola serie de algún microcontrolador y no tenemos un cable USB-TTL, pero si una placa Raspberry Pi

Requisitos

  • Placa Raspberry Pi (cualquier modelo nos sirve)
  • Cables Dupont para conectar la Raspberry Pi con el microcontrolador a depurar
  • Teclado y monitor para la Raspberry Pi (podemos conectarnos mediante SSH en su lugar)
  • Un microcontrolador compatible con UART (utilizaré una segunda Raspberry Pi como ejemplo)

Para poder utilizar el puerto serie en Raspberry Pi es necesario editar el archivo de configuración del firmware (config.txt en la primera partición) y agregar la siguiente línea al final

enable_uart=1

Quedará algo similar a esto

Abrimos el archivo de configuración cmdline.txt y retiramos la siguiente cadena de texto para tener disponible el puerto serie (si no está presente no necesitamos hacer nada)

console=serial0,115200

Conectamos la terminal RXD del microcontrolador a depurar a la terminal TXD del conector GPIO (pin 8), la terminal TXD a la terminal RXD del conector (pin 10) y la terminal de tierra a cualquiera de las terminales de tierra del conector GPIO (yo lo conecté al pin 6)

Instalamos el programa Screen en la Raspberry Pi

sudo apt install screen

Nos aseguramos de estar dentro del grupo dialout con el siguiente comando

id

Nos conectamos la la consola serie del dispositivo cambiando 115200 por la velocidad requerida por el microcontrolador a depurar

screen /dev/ttyS0 115200

Encendemos el dispositivo a depurar y una vez que terminemos de utilizar la consola presionamos la combinación de teclas Control + A y después Control + D para salir y escribimos el siguiente comando para cerrar la consola que acabamos de desacoplar (esto cerrará todas las instancias de Screen que tengamos abiertas en ese momento)

killall screen

Referencias

https://pinout.xyz/

Dejar un comentario