Programación remota con Raspberry Pi
Configura Raspberry Pi y programa con Visual Studio Code

Hi, I'm Jhordy Gavinchu, a Software Engineer with a deep passion for Web Development especially for Frontend Technologies.
Search for a command to run...
Configura Raspberry Pi y programa con Visual Studio Code

Hi, I'm Jhordy Gavinchu, a Software Engineer with a deep passion for Web Development especially for Frontend Technologies.
No comments yet. Be the first to comment.
🔧 En esta serie encontrarás ejemplos concretos para convertir tu Raspberry Pi en un servidor funcional y adaptable. 💡 La idea es documentar soluciones prácticas que te sirvan como punto de partida para usar y experimentar con una Raspberry Pi. 🍓
Navigating CSS Units: Absolute, Relative, and Beyond

A Comprehensive Guide to Custom Devices, Resolutions, and Pixel Ratio

Setting up, and optimizing your CSS workflow for efficient web development.

Las minicomputadoras de la serie Raspberry Pi, en sus diferentes modelos, permiten acceder a una computadora de bajo costo. Además, a través de los pines GPIO, es posible interactuar con dispositivos de hardware similares a un microcontrolador.
Siendo Raspberry Pi una computadora, podemos utilizarlo como un servidor y acceder de forma remota a través del protocolo SSH. También podemos programarlo usando Visual Studio Code.
En este post, explicaré cómo configurar un PC con Ubuntu y VSCode, conectado a través de una red Wi-Fi, para autenticarnos en un Raspberry Pi y programarlo de forma remota utilizando el protocolo SSH.

SSH es el nombre de un protocolo y el programa que lo implementa.
Permite iniciar sesión de forma segura y remota a través de una red.
Principalmente usado en servidores para una administración remota.
Pertenece a la capa de aplicación de los modelos OSI y TCP/IP.
De forma estándar usa el puerto 22.
Considerado el reemplazo de Telnet.

Para configurar el Raspberry Pi, primero debemos habilitar el servidor SSH. Luego, crearemos un nuevo usuario con su respectiva contraseña y lo añadiremos a los grupos gpio y sudo.
Antes de comenzar la configuración, es importante asegurarse de tener una contraseña segura para el usuario predeterminado del Raspberry Pi. Esto se puede hacer a través de Inicio > Preferencias > Configuración de Raspberry Pi > Sistema > Cambiar clave.

Existen dos formas comunes de habilitar SSH en el Raspberry Pi: mediante el asistente de configuración o mediante la consola.
Inicio > Preferencias > Configuración de Raspberry Pi > Interfaces > SSH.

sudo raspi-config
Luego, seleccionar Interface Options ⏎ SSH ⏎ <Yes> ⏎

A continuación, crearemos un nuevo usuario con su respectiva contraseña y lo añadiremos a los grupos gpio y sudo.
sudo adduser juan-remoto
juan-remoto, puedes escoger cualquier, pero en los siguientes pasos seguire refiriendome al usuario como juan-remoto.Observaciones:
Se solicitará la contraseña de superusuario.
Luego, se pedirá crear una contraseña para el nuevo usuario.
También se solicitará información adicional del usuario, como el nombre completo o el número de habitación🤷. Esta información puede dejarse en blanco presionando "enter".
Finalmente, se confirmará la información ingresada escribiendo "Y" y presionando "enter".
sudo usermod -aG gpio,sudo juan-remoto
Observaciones:
El usuario será agregado al grupo gpio para acceder a los pines de forma remota.
El usuario también será agregado al grupo sudo para ejecutar comandos con permisos de superusuario.
Para conectarse de forma remota, es necesario conocer la IP del Raspberry Pi. Esto podemos hacerlo con el siguiente comando:
hostname -I
Observaciones:
En una red de área local (red doméstica), la IP podría comenzar con 192.168.x.x.
Es importante recordar esta IP, ya que será necesaria más adelante.
En primer lugar, es necesario generar un par de llaves pública y privada, y añadir la llave pública al SSH Agent. Luego, copiar la llave pública en el Raspberry Pi.
ssh-keygen -t ed25519 -f ~/.ssh/rpi
Observaciones:
Usamos el algoritmo Ed25519, el más recomendado en la actualidad.
El par de llaves se llamará rpi y se ubicará en ~/.ssh.
El nombre puede ser modificado según sea necesario, pero en este ejemplo se utilizó rpi para identificarlo fácilmente.
Es recomendado crear una passphrase, las mejores contraseñas tienen 20 caracteres entre letras mayúsculas, minúsculas, números, y al menos un caracter especial.
ssh-add ~/.ssh/rpi
Observaciones:
Debemos respetar la dirección y el nombre con donde se generaron las llaves.
Si estableciste una passphrase se solicitará introducirla.
ssh-copy-id -i ~/.ssh/rpi.pub juan-remoto@192.168.x.x
Observaciones:
Se indica la ruta de la llave pública, entre el par de llaves creados es el que tiene la extension pub.
También se indica el usuario, en este caso juan-remoto.
La IP debe ser reemplazada por la IP del Raspberry Pi.
Se solicitará la contraseña del usuario juan-remoto que fue creado anteriormente.
Visual Studio Code es un editor de código libre que facilita la programación en varios lenguajes. En esta ocasión, lo configuraremos para programar y controlar el GPIO de un Raspberry Pi de forma remota utilizando el protocolo SSH.
code --install-extension ms-vscode-remote.remote-ssh
Ahora crearemos el archivo de configuración utilizando cualquier editor de texto, como "nano" o "vim". En este ejemplo, utilizaremos "gedit":
gedit ~/.ssh/config
Dentro del archivo, agregaremos la siguiente configuración, reemplazando la IP y el nombre de usuario:
Host rpi-remoto
HostName 192.168.x.x
User juan-remoto
Guardar y cerrar el archivo.
Abre VS Code y accede al Raspberry Pi.

Si se estableció una passphrase al generar las llaves, será necesario introducirla.
Espera hasta que se establezca la conexión y luego puedes probar ejecutando algún comando, por ejemplo:
pinout
Obteniendo por ejemplo:

En este post, aprendimos cómo utilizar el protocolo SSH para acceder de forma remota a un Raspberry Pi utilizando Visual Studio Code.
Primero, habilitamos el servicio SSH en el Raspberry Pi y creamos un nuevo usuario con los permisos necesarios.
Después, generamos un par de llaves SSH y copiamos la llave pública en el Raspberry Pi para establecer una conexión segura.
Finalmente, configuramos Visual Studio Code para conectarnos al Raspberry Pi y utilizarlo de forma remota.

De esta manera, podemos programar un Raspberry Pi de forma remota para proyectos avanzados y ambiciosos. Además, con el protocolo SSH, podemos acceder de forma segura desde cualquier parte del mundo.
Espero que este post haya sido útil y que te haya ayudado a empezar a trabajar con la Raspberry Pi y Visual Studio Code.
https://code.visualstudio.com/docs/remote/ssh
https://www.raspberrypi.com/documentation/computers/remote-access.html