¿Cómo configurar la Raspberry Pi?

Ah, marzo... ¿Cómo olvidar la Semana Santa? ¿Todavía recuerdan cómo hace un año empezó la pandemia? A pesar de todo, marzo también es la fecha de las Raspberries en los estudiantes Ciencias de la Computación de la Universidad del Valle. De acuerdo con mi experiencia, todavía faltan un par de semanas para que las usen, pero más o menos en estas fechas empiezan a mencionarlas.

¿Qué es la Raspberry Pi?

En resumen, la Raspberry es un pequeño computador barato. Hay un artículo de Zant habla más al fondo de esto.



¿Qué es una conexión SSH?

SSH o Secure Shell es un protocolo creado para trabajar en servidores remotos de forma más fácil. En ella, el host y el device comparten información cifrada utilizando llaves simétricas, de manera que automáticamente se crea una llave secreta en cada sesión.

¿Qué es la terminal y cómo abrirla?

A lo largo de este tutorial voy a mencionarla muchas veces. La terminal es una aplicación que te permite ingresar comandos a tu computador en un ambiente sin interfaz gráfica.

En el caso de Windows, hay varias terminales: CMD.exe, Windows Power Shell o Windows Terminal. Personalmente, usaré la Windows Terminal, así que no se sorprendan si ven que mi terminal está más decorada de lo que debería. Cualquiera de las opciones que mencioné antes funcionan perfectamente.

En el caso de MacOS, solo tienen una terminal con el nombre “terminal”... sí, lo sé, inesperado. Para abrirla pueden presionar las teclas Comando y la Barra espaciadora. Debería aparecerles un cuadro para ingresar texto. Ahí, escriban terminal y busquen la aplicación.

¿Cómo configurar la Raspberry Pi?

Este tutorial está dirigido a computadores Windows y MacOS. No hice la configuración completa en MacOS, pero el procedimiento es igual en casi todos los pasos.  

Materiales

Al igual como todas las recetas empiezan con los ingredientes, empecemos con lo que necesitas para configurar la Raspberry. Todo el tutorial está hecho asumiendo que no se tiene un monitor y se desea trabajar en otro computador. Si se tiene un monitor, el proceso es mucho más simple.

  • Raspberry Pi (opcional xD)
  • Cable Ethernet RJ45*
  • Computadora
  • Tarjeta MicroSD (o una USB*)
  • Adaptador de MicroSD a un puerto que tenga el computador

Para la mayoría de los modelos de la Raspberry Pi, se necesita una MicroSD para el boot inicial. Para modelos Raspberry Pi 4, también se puede hacer el boot inicial con una USB. Nunca lo he puesto en práctica, por lo que recomiendo usar una MicroSD.

Es posible hacer la configuración de la Raspberry Pi sin el cable RJ45, pero es un poco más complicado. Aun si tu computador no tiene un puerto Ethernet, puedes usar el cable Ethernet para conectar la Raspberry Pi al router y el proceso sigue siendo bastante fácil.

Cabe notar que, aunque es poco común, hay cables Ethernet que parecen ser de RJ45, incluso tienen las mismas dimensiones, pero los pines están en otro orden y no funcionarán. Es poco común, pero es bueno tenerlo en mente.

Descargas

  • Cliente SSH (recomiendo uno como Putty, pero MacOS y Windows traen uno instalado)
  • Raspberry Pi OS*
  • Open VNC (para GUI)
  • Balena Etcher

Hay varias versiones de Raspberry Pi OS. Ambas de las versiones de Raspberry Pi OS with desktop funcionan, pero la que tiene el software recomendado es más completa. Incluye varios programas que serán útiles para otros cursos dónde se necesitará usar la Raspberry Pi.


Paso 1 - Instalar Raspberry OS

Como primer paso, vamos a instalar el sistema operativo. Conectamos nuestra memoria (MicroSD o USB) a nuestro computador. Luego, abrimos Balena Etcher y con ella instalamos Raspberry Pi OS en nuestra memoria. Debería tomar como 15 min, pero dependerá de la velocidad del puerto y la memoria.

IMPORTANTE: Asegúrense de usar Balena Etcher en la memoria MicroSD o la USB, si eligen el disco duro de su computador, por ejemplo, van a pasar por muchos problemas.


Puede que te aparezca un mensaje de tu sistema operativo de que tienes que formatear tu memoria para usarla, ignóralo. A menos de que quieras repetir este paso, no la formatees. 


Hay otras maneras de hacer esto sin pasar por Balena Etcher, pero me pareció que esta era la opción más fácil e intuitiva.

Al terminar, verán que el nombre de su memoria ha cambiado a “boot”.

Paso 2 - Agregar el archivo SSH

Por default, la Raspberry Pi tiene la opción de SSH desactivada. Esto es un problema porque queremos conectarnos a la Raspberry usando SSH, pero no somos los únicos que quieren usarla sin conectarla a una pantalla, así que hay maneras para forzar SSH antes de encender la Raspberry.

Si en el boot inicial de la Raspberry hay un archivo llamado SSH sin extensión, va a encenderse con el SSH activado temporalmente. Entonces, vamos a crear ese archivo.

Ojo, el archivo debe ser llamado exactamente SSH o ssh. No debe tener una extensión, por ejemplo, SSH.txt no funcionará. Si no sabes cómo ver las extensiones puedes seguir las instrucciones aquí para Windows y aquí para Mac.


Paso 3 - Poner la memoria en la Rasbperry Pi

La Raspberry 3 y 4 tienen los puertos para la memoria MicroSD en la parte de abajo.


Paso 4 - Antes de encender tu Raspberry Pi...

Solo te recuerdo que tu Raspberry tiene que estar conectada a la corriente y a tu computador/router con el cable Ethernet. Asegúrate de no conectar la Raspberry a un Outlet que está muy lejos de tu computador/router.

Paso 5 - Enciende tu Raspberry Pi

Ahora es la hora de encender tu Raspberry. Conéctala a la corriente y deberían encenderse un par de luces.

La luz roja hace referencia a la corriente. Si no se enciende, hay algo defectuoso en tu cable de corriente.

También hay otra luz verde que va a empezar a parpadear. Este parpadeo puede ser lento o rápido.  Esto significa que tu memoria funciona. Si no ves a la luz verde encenderse en absoluto, puede ser porque tu memoria no funciona o no tiene los archivos necesarios para encender. Para cualquier otro problema puedes ver en este foro.

Paso 6 - Conecta tu Raspberry Pi a tu computador o router

Conecta un extremo del cable Ethernet a tu computador (preferible) o a tu router. El otro extremo estará conectado en la Raspberry. Inmediatamente, deberían encenderse una o dos leds en el puerto de la Raspberry. Si no se encienden, no has conectado bien tus cables, tu cable es defectuoso o tienes un cable que parece ser RJ45, pero no lo es.


Paso 7 - Prueba de Ping

Asegúrate de que tu Raspberry haya encendido en su totalidad. Sino, puede que dé falsos negativos. Para estar seguro de que ya terminó de encender, puedes ver si el led verde que parpadea al encender dejó de parpadear.

Luego, independientemente de tu sistema operativo, abre la terminal en tu computador y escribe el siguiente comando:

    ping raspberrypi.local



Puede que tarde un par de segundos en terminar el comando. Si te devuelve un mensaje de que no encontró el host y estás usando un router, asegúrate de que estás conectado a la misma red Wifi que produce el router.

Si no encontró el host y te conectaste directo a tu computador o estás seguro de que estás conectado a la red Wifi correcta, tendrás que obtener la dirección IP de tu Raspberry. 

Tristemente, no hay manera fácil de obtener la dirección IP de tu Raspberry. Puedes usar un software como IPFinder y tratar de identificarla a prueba y error. Te recomiendo:

  • Desconectar a tu Raspberry de tu router.
  • Desconectar a todos los dispositivos de tu red.
  • Usar IPFinder o algún software similar para ver los dispositivos conectados a tu red.
  • Conectar tu Raspberry Pi al router.
  • Volver a ver los dispositivos en tu red.
  • Ver cuál dispositivo no estaba en tu primer escaneo.

Cada vez que la conectes a tu router, la Raspberry va a tener un IP diferente. Puedes modificarla para tener un IP estático, pero eso será después de configurarla y no estará explicado en este tutorial.

Paso 8 - Conectarse con el cliente SSH

Ha llegado la hora, es el momento de conectarse con la Raspberry. Primero, abre el cliente SSH de tu elección y conéctate a pi@raspberrypi.local. En el caso de que tuvieras que usar la dirección IP, colócala directamente. Si te pregunta por un usuario, utiliza Pi.

Generalmente, te saldrá una advertencia de seguridad al conectarte, es algo normal. También te pedirá una contraseña, esta será “raspberry”

Si tienes Putty:

Solo ingresa raspberrypi.local en el cuadro de dominio y presiona “open”. Si tienes que usar la dirección IP de Raspberry, ingresa en vez del dominio. El usuario será pi.



Si no quieres o no tienes Putty:

Abre la terminal de tu sistema operativo e ingresa el siguiente comando:

    ssh pi@raspberrypi.local



En caso de que tengas la dirección IP, ingresa el comando

    ssh dirección_ip

Luego ingresa como usuario "pi".

Paso 9 - Configurar SSH

¡Todavía no hemos terminado! A continuación, debes habilitar la conexión SSH de la Raspberry. Con el archivo SSH la activamos temporalmente, pero queremos que sea permanente. Para ello vamos a ingresar los siguientes comandos:

    sudo raspi-config

Te aparecerá un menú. Movilízate con las flechas y la tecla enter. Puedes presionar la tecla Escape para regresar. Luego en el menú selecciona: 

    Interface Options > SSH > actívalo.







Para salir del menú puedes presionar la tecla Escape cuantas veces sea necesario.

Paso 10 - Activar la interfaz gráfica

Activar la interfaz gráfica no es algo estrictamente necesario, pero es conveniente. Aún si no deseas usarla con frecuencia, no pierdes nada activándola. Para ello, ingresemos los siguientes comandos:

    sudo raspi-config

Luego navega a Interfacing Options > VNC > Actívalo



Paso 11 - Usemos la interfaz visual

Abre VNC Viewer y trata de conectarte a raspberrypi.local


Si puedes ver una nueva interfaz gráfica, has terminado. Sin embargo, la mayoría verá un mensaje de error que diga “connection timed out”. Si este es el caso, tendrás que obtener la dirección IP de tu Raspberry. ¡No te preocupes! Esta vez es fácil obtener la dirección IP de tu Raspberry. Solo ve a la terminal, si te desconectaste de la Raspberry vuelve a conectarte y escribe el comando:

Hostname -I

Es una i mayúscula, no una letra ele.

Finalmente, si logras activar VNC, pero solo ves una pestaña que dice “cannot currently show desktop”, tienes que abrir la terminal, conectarte a la Raspberry si te desconectaste y volver a ingresar el comando:

    sudo raspi-config

Dirigete a Display Options > Resolution > 1920x1080 60 Hz 16:9


Luego, vuelve al menú princial y navega a System Options > Boot / Auto Login > Desktop Auto Login


Ahora, hay que reiniciar la Raspberry. Para ello, utilicen el comando:

    sudo shutdown -h now

Espera hasta que el led verde deje de parpadear, desconecta la Raspberry y vuelve a conectar la Raspberry. Ahora, intenta utilizar otra vez VNC Viewer. Deberías ver el escritorio de la Raspberry en tu monitor.


¡Felicidades! ¡Has terminado! 

A continuación, algunos consejos para utilizar la Raspberry:

Consejos de uso de la Raspberry Pi

¿Cómo apagar la Raspberry Pi?

Para apagarla sin usar la interfaz gráfica, puedes usar el comando

    sudo shutdown -h now

Debería empezar a parpadear una luz verde en tu Raspberry. Espera un par de segundos después de que termine de parpadear para desconectarla.

Cambiar el nombre del dominio de tu Raspberry y contraseña

El problema de usar pi@raspberrypi.local es que es la conexión default. Si tienes más de una Raspberry Pi conectada a tu computador o router, el cliente SSH no estará seguro de a cuál conectarse. Para ello, podemos ir a ajustes y cambiar el nombre del dominio.

    sudo raspi-config

System Options > Hostname 

Ingresa el Hostname que quieras.

Ahora, después de reiniciar tu Raspberry, puedes conectarte a ella usando pi@nombre_de_dominio.local

WinSCP

Lo más probable es que tendrás que pasar tus archivos frecuentemente entre tu Raspberry Pi y tu computador. Para ello, puedes usar comandos o WinSCP (solo Windows). Si no tienes Windows, no te preocupes, hay muchas alternativas. Como FileZilla, CyberDuck, Forklift, Transmit y muchos más.

¿Cómo conectarme a mi Raspberry usando WiFi?

Algo molesto de usar los cables es que hacen mucho desorden, así que puedes conectarla directamente con Wifi. Solo hay un único paso, conectarla a una red Wifi. Si todavía no le has configurado uno, puedes conectarte con la interfaz gráfica y seleccionar en la esquina superior derecha WIFI.

Si se está usando solamente la terminal, todavía se puede hacer con comandos. No entraré en detalles, pero si te interesa puedes navegar la respuesta en internet.

Luego de conectarla, puedes usarla como lo harías con cable aún sí no tienes el cable conectado. En principio, es lo mismo que conectar la Raspberry Pi al router directamente, solo debes asegurarte de que estén conectados a la misma red wifi.

Crear una llave SSH

Cada vez que te conectas a tu Raspberry, te pedirá tu contraseña de usuario. Puedes automatizar este proceso creando una llave SSH.  No daré explicaciones de cómo hacerlo en este tutorial, pero es una idea que puedes implementar fácilmente.

Usar un IDE

Al final de cuentas, vamos a usar la Raspberry Pi para programar. Se puede programar fácilmente usando Thony o bloc de notas con VNC Viewer, pero es mucho relajo tener tantas cosas abiertas.

Programar usando una conexión SSH es algo bastante común. De manera que la mayoría de IDEs de programación tienen una opción que permite programar directamente en otra computadora sin tener que pasar por VNC Viewer. Esto dependerá de qué IDE utilices, así que no puedo entrar mucho a detalles. En general, son extensiones llamadas “remote development”, pero el nombre varía. Yo ya lo he hecho con Visual Studio Code y CLion.

-Oz

No hay comentarios:

Con la tecnología de Blogger.