¿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
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
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
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
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.
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
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
¿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
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: