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