Raspberry PI y los pines GPIO: Controlando Raspberry a través del puerto serie de consola

Con la segunda entrega sobre domótica asequible basada en Raspberry PI todavía por llegar, hoy os quiero enseñar como acceder mediante el puerto serie a un terminal de nuestra Raspberry PI; esto puede ser útil en muchas situaciones.

OLYMPUS DIGITAL CAMERAPor ejemplo en el caso de no disponer de un teclado ni una pantalla, lo que imposibilita poder activar el servidor SSH, podremos acceder de esta forma; o si nuestra Raspberry no arranca pero los leds de estado encienden correctamente, con este método podremos ver el mensaje de error para identificar porqué.

Raspberry PI dispone de un puerto UART para comunicaciones en serie TTL, que debemos convertir al standard serial RS232 mediante una placa como la siguiente para conectarla a nuestro puerto serie.

Captura de pantalla de 2014-11-15 23:03:18

También existen cables que hacen la misma función que esta plaquita, pero en vez de ofrecer conexión vía puerto serie RS232, se conectan directamente a un puerto USB del ordenador y son mas caros; yo voy a utilizar un adaptador de puerto serie RS232 a USB del que ya disponía.

OLYMPUS DIGITAL CAMERA

Algunos módulos conversores de TTL a RS232 no deben alimentarse externamente bajo ningún concepto ya que reciben la alimentación desde el puerto serie, y podríamos quemar nuestra Raspberry PI por sobrealimentación; en nuestro caso vamos a utilizar un conversor basado en el chip SP3232EEN, que si debemos alimentar desde Raspberry a través del pin VCC de la placa conversora.

Pinout y diagrama de conexiones extraído del datasheet de SP3232E, idéntico a SP3232EEN.

Pinout y diagrama de conexiones extraído del datasheet de SP3232E, idéntico a SP3232EEN.

La placa conversora (o el cable) debemos conectarla a los pines GPIO reservados para la comunicación UART, que son los pines 14 (TXD), y 15 (RXD) como podemos ver en esta tabla y el siguiente esquema de conexiones.

 Placa conversora TTL a RS232 Raspberry PI Modelos A, B, A+, B+
 VCC
+ 5V
 TX
GPIO 14 (UART TXD)
 RX
GPIO 15 (UART RXD)
 GND GND
PB150047Conexiones

Esquema de conexiones.

A continuación vamos a instalar ckermit, un software para controlar el puerto serie.

usuario@maquina:~$ sudo apt-get install ckermit

Lo primero que debemos hacer es indicarle el dispositivo con el que va a trabajar; en mi caso es un adaptador USB a RS232, por lo tanto la ruta asignada es /dev/ttyUSB0 y con la opción -l le vamos a indicar que se conecte.

usuario@maquina:~$ sudo kermit -l /dev/ttyUSB0

Una vez abierto ckermit, solo nos queda establecer los parámetros para la conexión; veamos como.

(/home/usuario) C-Kermit> set speed 115200
(/home/usuario) C-Kermit> set parity none
(/home/usuario) C-Kermit> set flow-control none
(/home/usuario) C-Kermit> set carrier-watch off
(/home/usuario) C-Kermit> connect
 
Connecting to /dev/ttyUSB0, speed 115200
 Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------

Ahora pulsaremos la tecla “enter“, y veremos un resumen de los errores que se hayan podido producir en el arranque de la Raspberry, y finalmente el prompt para iniciar sesión.

PB150032Solo queda introducir el usuario y el password, y ya estamos dentro.

Captura de pantalla de 2014-11-15 23:38:23Si te ha gustado puedes seguirme en Twitter, Facebook, Google+, Linkedin, o compartirlo con los botones ubicados debajo de esta publicación, si tienes cualquier pregunta o sugerencia no dudes en comentar.

Ayudanos a llegar a más lectores Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

Deja un comentario