Utilidad y diferencias con Arduino
Para comenzar con una breve introducción, diremos que Raspberry es un ordenador completo con CPU, RAM, ranura para almacenaje secundario mediante microSD y puertos de comunicaciones (USB, Ethernet, HDMI, audio, Wifi,...) así como un bus de comunicación analógico-digital al que podemos conectar todo tipo de sensores y actuadores de código abierto similares a los que usamos con Arduino.
A diferencia de Arduino, Raspberry permite ejecutar un sistema operativo completo desde el que lanzar distintos programas que hagan uso de sus puertos de comunicaciones. Por el contrario, Arduino no es un ordenador, sino un microcontrolador que ejecuta un único programa sencillo, escrito en C y compilado para ser ejecutado en su CPU.
En la siguiente tabla podemos apreciar las características técnicas de algunos de los modelos Raspberry existentes en el mercado, y del controlador Arduino.
Características técnicas de Raspberry y Arduino (extraído de Hardzone) |
En cuanto a para qué utilizar un tipo de plataforma u otra, podríamos resumir en que Arduino está pensado para proyectos más sencillos, que una vez construidos pasan a funcionar de forma definitiva (a veces con batería). En cuanto a Raspberry está orientado a realización de proyectos más complejos (control de sistemas, análisis de los mismos, gestión de base de datos con resultados, puesta de datos en Internet,...). En la siguiente tabla podríamos ver las principales características para las que están pensados:
Diferencias fundamentales entre Raspberry y Arduino (extraído de Hardzone) |
Poniendo en marcha a Raspberry
Antes de poner en marcha una Raspberry, hay que instalarle el sistema operativo. Al no disponer de memoria de almacenamiento secundario, la instalación se realiza en una tarjeta microSD. El proceso de instalación es muy sencillo, ya que la mayoría de imágenes de Sistemas Operativos disponibles en Internet para este dispositivo ya vienen preconfiguradas casi al 100%, sin que sea necesaria una detección de hardware (ya que el hardware básico es similar en todos los modelos). Por tanto, los pasos de instalación suelen ser siempre:
- Descarga de una imagen del sistema para microSD
- Copia de la imagen en la microSD (usando un PC convencional)
- Inserción de la microSD en la ranura de la Raspberry
- Conexión de la Raspberry a un monitor HDMI, teclado y ratón (y muy recomendable a una red ethernet).
- Inicio del sistema conectando la corriente eléctrica.
- Inserción de parámetros de configuración que se irán preguntando en el primer arranque, tales como el nombre de usuario, la clave, el país/zona horaria, la configuración del teclado o la clave del Wifi.
Punto 1: descarga de imagen por medio de aplicación "imager"
En nuestro caso, hemos instalado el sistema operativo Raspbian. Esto simplifica aún más las cosas, pues nos permite, haciendo uso del programa "imager" descargar la imagen que deseemos y copiarla en la tarjeta microSD en un solo paso. Para ello, accedemos a la página oficial de Raspberry y seleccionamos la opción de descarga para Ubuntu, Windows o Mac e instalamos el ejecutable descargado. En nuestro caso, que usamos Ubuntu, podemos realizar de forma aún más sencilla la instalación tecleando en el terminal el siguiente comando:
sudo apt install rpi-imager
Una vez instalado el programa "imager", lo ejecutamos y seleccionamos la imagen que deseemos instalar (en nuestro caso Raspberry Pi OS lite 64 bits), indicamos también en las opciones avanzadas que se habilite el servidor SSH y finalmente indicamos la ubicación de la tarjeta microSD para posteriormente comenzar la grabación, tal y como se muestra en la siguiente secuencia de imágenes:
Punto 2: escritura de la imagen en tarjeta microSD
Una vez comienza la grabación (tras pulsar el botón "Write"), se mostraŕa una barra de proceso hasta que finalice la misma, tras lo cual aparecerá una ventana informativa.
Acabado el proceso, la instalación en la tarjeta microSD ha concluido. Ahora habrá que desmontarla antes de extraerla del PC para que no se pierdan datos.
Puntos 3, 4 y 5: conexiones físicas
Una vez extraída la tarjeta de memoria del PC, deberá insertarse en la ranura correspondiente de la Raspberry Pi. Asimismo habrá que conectar un teclado, un ratón y un monitor HDMI a la misma para finalizar los detalles finales de configuración. También es recomendable conectar la misma a una red mediante un cable RJ45, aunque más adelante se nos dará la oportunidad de conectarnos a Internet mediante Wifi.
Finalmente conectamos el dispositivo a la corriente eléctrica y esperamos instrucciones en pantalla.
Una vez acabada la instalación, podremos acceder a la Raspberry mediante SSH, VNC, RDP u otros protocolos sin necesidad de utilizar un teclado/ratón/monitor fisico enchufado a la misma.
Punto 6: configuración de parámetros
Durante la primera ejecución del sistema operativo instalado se nos preguntarán una serie de datos tales como el nombre de usuario, la contraseña, la red wifi donde podemos conectarnos y su clave, la ubicación, la zona horaria,...
Instalando imprescindibles
Después de la introducción de los parámetros del punto 6, se mostrará el escritorio en la pantalla del monitor. Ya podemos utilizar nuestra Raspberry como si se tratara de un pequeño PC. Sin embargo, es muy recomendable instalar algunas herramientas adicionales para poder usar esta desde un PC sin necesidad de monitor o teclado.
Puede parecer un poco exagerado, pero cualquier cambio que hagamos en la configuración del sistema podría ocasionar que se interrumpiese la conexión con el monitor o el teclado/ratón, haciendo inservible nuestro dispositivo y no quedando otra opción más que la de reinstalar todo. Es por ello por lo que se hace casi imprescindible la habilitación del control remoto de la misma.
Instalación del servidor SSH
En el proceso de creación de la imagen ya indicamos que se habilitara un servidor SSH. Sin embargo, aún es necesario que este sea activado desde el escritorio. Para ello no tenemos más que acceder al menú Preferencias/Configuración de la Raspberry y activar allí la opción correspondiente.
En el próximo reinicio, ya podremos acceder a nuestro dispositivo desde otro ordenador conectado a la misma red simplemente tecleando (en caso de linux) en el terminal del PC lo siguiente:
O bien usando un programa específico de conexiones remotas como Remmina.
Indicar que en el comando anterior "pi" hace referencia al usuario que hemos indicado en el proceso de la instalación (pudiera ser "Pedro", "Juan", "María"...) y 192.168.5.137 es la dirección IP que ha asignado el router a la Raspberry. Esta dirección se puede averiguar de múltiples formas. Más adelante trataremos el tema.
Si estamos en un lugar donde no haya accesos de red, siempre podemos utilizar el teléfono móvil para proporcionar una conexión wifi (aunque no tengamos datos para conectarnos a Internet). Posteriormente podemos hacer un SSH a la Raspberry desde el mismo teléfono (con el comando antes indicado) usando aplicaciones cliente de SSH para el móvil (existen cientos de ellas) o un terminal de Android, como Termux (si Termux no incluyera el cliente SSH, podemos instalarlo mediante el comando "pkg install openssh").
Aplicación "termux" instalada en terminal Android |
La primera vez que ejecutemos ssh desde un PC para conectarnos a la Raspberry, el sistema nos pedirá confirmación, indicando que nos queremos conectar a un equipo nuevo.
Primera conexión por ssh deste un terminal de Ubuntu |
Conexión mediante SSH desde Remmina |
Instalación de Midnight Commander
Para instalar Midnight Comander, simplemente debemos ejecutar en el terminal de la Raspberry el siguiente comando:
sudo apt-get install mc
Tras la instalación, cuando queramos usar Midnight Comander solamente debemos ejecutar "mc" (sin las comillas desde el terminal.
Ejecutando "mc" en Raspberry, mostrando la salida en "termux" de Android |
Instalación del servidor RDP
El protocolo RDP (Remote Desktop Protocol) permite acceder remotamente a un equipo informático mediante un entorno gráfico. Este protocolo, creado por Microsoft, puede ser utilizado en cualquier equipo, independientemente del sistema operativo que utilice.
Para poder controlar remotamente nuestra Raspberry de forma gráfica, lo primero que debemos hacer es instalar en ella un servidor RDP. Para ello, simplemente debemos ejecutar en un terminal el siguiente comando:
sudo apt-get install xrdp
Tras la instalación, y después de un reinicio, nuestra Raspberry estará lista para ser utilizada desde cualquier PC que esté conectado a la misma red local (al igual que ocurría con SSH), pero esta vez accediendo al entorno gráfico.
En nuestro caso, haremos uso de un PC con Ubuntu y de la aplicación Remmina para realizar la conexión. Simplemente deberemos indicar en la misma que queremos crear una nueva conexión RDP, la dirección IP de nuestra Raspberry, el usuario y la contraseña del mismo. Además, podremos adaptar la resolución del entorno gráfico al tamaño de la ventana que utilicemos, tal y como se muestra en la siguiente imagen.
Conexión mediante RDP desde Remmina |
Al igual que ocurría con SSH, si estamos en un lugar donde no haya accesos de red, también podremos utilizar el teléfono móvil para proporcionar una conexión wifi (aunque no tengamos datos para conectarnos a Internet) y conectar nuestra Raspberry a la misma. Una vez realizada la conexión, el acceso remoto es algo trivial haciendo uso de cualquier cliente RDP de Android (Remote Desktop, aRDP, RemoteToGo,....).
A continuación se muestra el proceso de conexión mediante RDP usando la aplicación de Microsoft "Remote Desktop" para Android.
Abriendo "Remote desktop" desde Android |
Tras pulsar "+" en "Remote desktop" se puede agregar la IP de la Raspberry |
Una vez agregada la Raspberry como nuevo equipo podemos conectarnos |
En el proceso de conexión, Raspberry nos pregunta el usuario y la clave |
Conexión en curso mostrándose en la pantalla del smartphone o tablet |
Obteniendo la IP local de nuestro Raspberry
Existen numerosas formas de obtener la IP local de nuestra Raspberry. Si tenemos acceso a ella usando un monitor, teclado y ratón, podemos abrir un terminal y teclear el siguiente comando:
Con ello, se nos mostrará en pantalla información relativa a todas las conexiones, incluyendo la IP ethernet (si hay conexión mediante un cable) y la IP wifi (si hay conexión inalámbrica).
Ahora bien, cuando queremos realizar una conexión remota a nuestra Raspberry, necesitamos saber la IP. Pero si no disponemos de un monitor/teclado (por eso queremos hacer una conexión remota) no podremos teclear ningún comando. En este caso, una opción sencilla sería acceder a la configuración de nuestro router. Ahora bien, si no estamos familiarizados con esto, puede resultarnos complicado. Cada router tiene una interface distinta. Además, si el router no es nuestro, seguramente no tengamos las credenciales para acceder al mismo. En este caso hay que optar por otros métodos.
Podemos encontrar numerosas aplicaciones que permiten visualizar todos los dispositivos conectados a una red. Una de mis aplicaciones favoritas para ello es PingTools para Android (Otra también muy utilizada es Fing). Una vez instalada en el teléfono móvil o tablet, esta aplicación nos podrá mostrar todos los equipos conectados a la misma red (su nombre y su dirección IP, entre otros datos). Para ello solo tendremos que acceder a la opción "Red de Area Local" y listo. Una vez allí, buscaremos algún dispositivo que se llame "raspberry" o algo así.
Aplicación "pingtools" instalada en Android |
Esta solución nos vale cuando tanto nuestro smartphone como nuestra Raspberry están conectadas a una red local compartiendo el router. Ahora bien, si es nuestro smartphone el que está "dando red" mediante una conexión compartida, entonces aplicaciones como "pingtools" no funcionarán. Eso no es un problema. En este caso, debemos acceder a las propiedades de la "conexión compartida" de nuestro móvil (también llamado "punto de acceso Wi-Fi", seleccionar la opción "usuarios conectados" y finalmente hacer marcar el usuario en concreto asociado a la Raspberry (lo normal es que sea el único conectado). Las imágenes que siguen muestran el proceso:
Propiedades del "Punto de acceso Wi-Fi" |
Selección del "usuario conectado" al "punto de acceso Wi-Fi" |
Profesores:
Pablo Díaz Márquez
No hay comentarios:
Publicar un comentario