Ricardo Marques escribió un firmware que hace correr un servidor SSH dentro de un microcontrolador RP2040, el chip de la Raspberry Pi Pico. El proyecto lo reportó Hackster.io el 21 de octubre.

SSH (Secure Shell) es un protocolo de 1995 y sigue en uso diario. Millones de personas lo usan para conectarse a computadores remotos, pero casi nunca para hablar con un microcontrolador. Marques quiso probar justamente eso.

La placa que usó

El RP2040 lo diseñó Raspberry Pi para su placa de desarrollo Pico. Es barato y rinde bien, y por eso terminó en placas de muchos otros fabricantes. Una de ellas es la WIZnet W5500-EVB-Pico, que junta el RP2040 con un controlador TCP/IP W5500 y un conector RJ45 para red Ethernet.

Marques hizo sus pruebas en esa placa de WIZnet. El mismo resultado se consigue con una Raspberry Pi Pico, o con cualquier placa basada en RP2040, más un módulo W5500 aparte.

¿Cómo se instala el servidor SSH en el RP2040?

El firmware está hecho en PlatformIO. Toma los drivers de Ethernet que ya existen para Arduino-Pico y les suma módulos de TCP/IP y de SSH.

Para replicarlo hay que seguir estos pasos.

  • Clonar el repositorio de GitHub del proyecto.
  • Definir una IP fija, o dejar la que viene por defecto. Tiene que estar libre en la red, porque es la dirección a la que uno se conecta por SSH.
  • Generar las llaves.
  • Compilar el paquete y cargarlo en el RP2040.

Con eso la placa queda lista. Se conecta el cable Ethernet y, desde un computador de la misma red, se abre una sesión SSH hacia esa IP. La cuenta por defecto es "sshrp". Si la conexión entra, hay que responder "yes" para aceptar la huella de la llave de la placa.

¿Qué se puede hacer una vez conectado?

Por ahora, poco. El firmware permite encender el LED integrado, apagarlo, hacerlo parpadear o consultar su estado.

Así como está no tiene mucha utilidad práctica, salvo para quien quiera manejar un solo LED desde la red local. Lo que muestra es que se puede controlar una placa de desarrollo por SSH sobre Ethernet, y eso se extiende a cualquier cosa conectada a esa placa. Es una forma simple de tener control remoto. Según la tarea, puede convenir más que el puerto serie, el Bluetooth o el WiFi.