hits counter
Este sitio web utiliza cookies para obtener estadísticas de navegación. Si sigue adelante, consideraremos que acepta su uso. Acepto | Más información

Sistema:



Instalar el sistema operativo

Para la Raspberry existe una gran variedad de sistemas operativos. La mayoría de estos sistemas son distintas distribuciones de Linux. En la página web de la Fundación Raspberry Pi hay varias de estas distribuciones disponibles. Por su carácter genérico, la más utilizada (y la recomendada por la Fundación) es Raspberry Pi OS, que está basada en Debian. Descargamos, pues, la última versión y la guardamos en una carpeta de nuestro PC.

Tenemos que descargar también la utilidad con la que crearemos la imagen del sistema operativo en la tarjeta microSD. Para esto disponemos de varias opciones: podemos usar balenaEtcher (disponible para Windows, macOS y Linux), Win32 Disk Imager (sólo para Windows) o la aplicación que ofrece la propia Fundación, llamada Raspberry Pi Imager (para Windows, macOS y Ubuntu). Si vamos a usar esta última, no es necesario descargar antes la imagen del sistema operativo, ya que la aplicación nos ofrece varios para elegir y se ocupa de realizar la descarga.

Nosotros usaremos la aplicación balenaEtcher. El proceso completo, paso a paso, lo haremos del siguiente modo:

  1. 1.) Descomprimimos el fichero ZIP que descargamos antes y que contiene la imagen del sistema operativo Raspberry Pi OS.
  2. 2.) Insertamos la tarjeta microSD (es recomendable que sea de 16 GB o más) en el lector de tarjetas de nuestro PC.
  3. 3.) Arrancamos balenaEtcher como administrador y nos aparecerá esta ventana:
  4. 4.) En Flash from file seleccionamos la imagen del sistema Raspberry Pi OS que hemos descomprimido en el paso 1.
  5. 5.) En Select target escogemos la unidad que se corresponda con la tarjeta microSD.
  6. 6.) Pulsamos en el botón Flash! y empezará el proceso de copia de la imagen del sistema en la tarjeta microSD.
  7. 7.) Terminado el proceso, cerramos la aplicación.

IMPORTANTE: Antes de extraer el lector de tarjetas del PC, necesitamos hacer algo más. El motivo es que, por razones de seguridad, Raspberry Pi OS trae el servidor SSH deshabilitado por defecto, y la forma más fácil de habilitarlo es crear un fichero vacío llamado simplemente ssh (tal cual, sin extensión alguna) en la partición boot a la que podemos acceder mientras tenemos la tarjeta microSD conectada al PC (ya sea con Windows, Linux o macOS). Es imprescindible hacer esto, antes de pasar al apartado siguiente, para poder acceder mediante SSH a nuestra máquina.

Una vez realizado lo anterior, seguiremos estos pasos para poner en marcha la Raspberry Pi:

  1. 1.) Extraemos la microSD del lector de tarjetas del PC y la colocamos en la ranura de inserción de la Raspberry.
  2. 2.) Conectamos un extremo del cable de red en el conector Ethernet de la RasPi y el otro extremo en el router (o en un AP o en un PLC, según el caso).
  3. 3.) Conectamos el cable de alimentación y encendemos la placa.

Si nuestro router tiene activado el servidor DHCP, este asignará automáticamente una dirección IP a la Raspberry.




Acceso mediante SSH

En lugar de dedicar un monitor, un teclado y un ratón para conectarnos a la Raspberry, vamos a acceder a ella de forma remota mediante el servidor SSH que lleva instalado el sistema operativo Raspberry Pi OS y que habilitamos en el apartado anterior. Esto significa que la manejaremos desde nuestro PC o desde cualquier otra máquina de la red local. La conexión a un servidor SSH se realiza además de forma segura, ya que el tráfico de datos que circula entre el servidor y el cliente va cifrado.

Una vez insertada la tarjeta microSD en la Raspberry, ponemos esta en marcha y ya podremos acceder por SSH. Podemos hacerlo desde una tableta digital o un smartphone Android con la app JuiceSSH, que es un cliente SSH. Con Linux, macOS o Windows, si el acceso lo hacemos mediante la línea de comandos, sólo tendremos que escribir lo siguiente:

ssh -p 22 pi@192.168.1.33

sustituyendo 192.168.1.33 por la IP de la Raspberry en nuestra red local.

Pero en Windows lo más habitual es trabajar desde el escritorio, en cuyo caso es muy recomendable usar el cliente PuTTY, que ofrece este aspecto:

En Host Name escribimos la dirección IP interna de la RasPi, mientras que en Port dejaremos el 22. Si no conocemos aún su dirección IP, podemos usar una utilidad como Netscan o Wireless Network Watcher (para Windows) con el fin de averiguarla. En el caso de Android, la app Fing hará la misma tarea. Con cualquiera de ellas escanearemos el rango de IPs de nuestra red local y veremos cuál le ha asignado el router a la Raspberry.

Ya sólo falta pulsar en el botón Open para realizar la conexión. Se nos pedirá el nombre de usuario, que es pi, y la contraseña, que por defecto es raspberry.




Configuración básica

Una vez que hayamos realizado la conexión mediante SSH, lo primero que haremos será configurar adecuadamente el sistema operativo Raspberry Pi OS que acabamos de instalar. Para ello escribimos

sudo raspi-config

y aparecerá una ventana como la de la figura de abajo para configurar determinados aspectos del sistema:

Las siguientes cinco opciones son quizás las más importantes:

  1. 1 System Options: aquí encontramos opciones como S3 Password, que sirve para cambiar la contraseña del usuario pi (que por defecto es raspberry), u otras como S5 Boot / Auto Login, donde escogeremos el modo en que deseamos que arranque el sistema por defecto cuando nos conectemos mediante monitor, teclado y ratón: en modo Console (es decir, en modo texto o línea de comandos) o en modo Desktop (mostrando el escritorio en el sistema gráfico).
  2. 3 Interface Options: en este apartado podremos, entre otras cosas, activar el servidor SSH o el servidor VNC, con lo que podremos acceder a la Raspberry desde otro PC, bien sea en modo terminal (SSH) o en modo gráfico (VNC).
  3. 4 Performance Options: con P2 GPU Memory podemos elegir la cantidad de memoria RAM que el sistema asigna a la GPU (tarjeta gráfica). Por defecto, esta cantidad es de 64 MB, pero si vamos a instalar la versión Lite de Raspberry Pi OS, que carece de escritorio, podemos disminuirla al mínimo (16 MB) a fin de ganar memoria RAM para uso del sistema operativo.
  4. 5 Localisation Options: nos permite cambiar el idioma (L1 Locale), la hora local (L2 Timezone) o el teclado (L3 Keyboard).
  5. 6 Advanced Options: A1 Expand Filesystem ofrece la posibilidad de expandir el sistema de ficheros para que ocupe todo el espacio disponible en la tarjeta microSD. Normalmente, el sistema realiza esta tarea automáticamente la primera vez que se inicia, pero si por algún motivo no lo hiciera, habría que ejecutar esta opción para poder usar todo el espacio libre de la tarjeta; de lo contrario, el sistema sólo reconocerá 4 GB en la misma, desperdiciándose el espacio restante.

Para ejecutar la opción seleccionada, pulsamos la tecla del tabulador hasta que quede resaltada la palabra <Select> y luego pulsamos la tecla Intro, con <Back> volvemos hacia atrás y seleccionando <Finish> salimos de la utilidad de configuración.

Otras opciones nos permitirán activar la cámara web (si disponemos de ella), cambiar el nombre de la máquina (hostname), "overclockear" el sistema, controlar el ventilador (Fan) conectado a los pines GPIO, etc. Es cuestión de mirar detenidamente todas las posibilidades de configuración que ofrece esta herramiente y activar/modificar aquellas que necesitemos hasta adaptar el sistema a nuestro gusto.

Una vez configuradas las opciones anteriores según las necesidades de cada usuario, es el momento de actualizar la lista de paquetes que componen el sistema operativo Raspberry Pi OS mediante estos dos comandos:

sudo apt update
sudo apt upgrade -y

Este es algo que debemos hacer con cierta frecuencia para tener siempre actualizada nuestra distribución, tanto en lo que se refiere a la lista de paquetes como a la corrección de posibles fallos o errores en los mismos.


Actualizar el firmware y el kérnel

Opcionalmente, podríamos aprovechar para actualizar el firmware de la Raspberry Pi. Antes de hacerlo, conviene tener bien puesta la hora local. La actualización se guarda en la tarjeta microSD, por lo que no hay peligro de dañar o romper el equipo. Si algo saliera mal, sólo habría que reinstalar Raspberry Pi OS y volver a configurar de nuevo el sistema. Este proceso también actualiza al mismo tiempo el kérnel. Para que se lleven a cabo ambas tareas, tan sólo tenemos que ejecutar este comando:

sudo rpi-update

Una vez acabado el proceso de actualización, es necesario reiniciar para que los cambios surtan efecto:

sudo reboot

Ahora podremos comprobar las nuevas versiones del firmware y del kérnel, respectivamente, con estos comandos:

/opt/vc/bin/vcgencmd version
uname -r



Usar una IP estática

Estamos dando por supuesto que la IP local de la Raspberry nos la asignará el router mediante el servidor DHCP que lleva incluido, lo que significa que será una IP dinámica (podrá cambiar cada vez que reiniciemos el router). Sin embargo, para identificarla en la red local de forma inequívoca y, sobre todo, si vamos a instalar aplicaciones que requieran la apertura de puertos y acceso a través de Internet, es imprescindible asignarle una IP estática a la RasPi.


Conexión por cable

En las versiones anteriores del sistema Raspberry Pi OS se utilizaba el fichero /etc/network/interfaces para configurar las distintas interfaces de red. Sin embargo, a partir de la versión Jessie debemos recurrir al fichero /etc/dhcpcd.conf para realizar esta tarea. Así pues, vamos a editar este último archivo:

sudo nano /etc/dhcpcd.conf

Nos desplazamos hasta al final del mismo y ahí realizamos las modificaciones o añadidos necesarios para indicar la IP estática que queramos asignar a la Raspberry, de modo que quede así:

interface eth0
static ip_address=192.168.1.33/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

En la primera línea se indica el nombre de la interfaz de red que vamos a configurar (eth0 en este caso, o sea, la interfaz Ethernet por cable); en la segunda es donde pondremos la IP estática propiamente dicha (192.168.1.33 en este ejemplo); en la tercera línea escribimos la IP que corresponde a la puerta de enlace (el router); y en la cuarta pondremos uno o dos servidores de DNS (aquí hemos puesto los de Google, pero podríamos escribir las IPs de los servidores de DNS que más nos gusten).


Conexión por wifi

Si queremos conectarnos mediante wifi en lugar de hacerlo por cable, en primer lugar accederemos a la configuración del sistema mediante el comando que usamos más arriba:

sudo raspi-config

y entramos en el apartado 5 Localisation Options. Aquí seleccionamos L4 WLAN Country y elegimos nuestro país (ES Spain en nuestro caso).

A continuación pasamos a configurar la conexión wifi. Para ello, editamos el siguiente fichero:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Al final del mismo añadimos estas líneas:

network={
ssid="SSID"
psk="PASSWORD"
}

Sustituimos SSID por el nombre de nuestra red wifi y PASSWORD por la contraseña que usamos en ella.

Para conectarnos por wifi usando una IP fija (como hicimos por cable), editamos de nuevo el mismo fichero de antes:

sudo nano /etc/dhcpcd.conf

En él sólo habremos de cambiar la primera línea, de manera que quede así:

interface wlan0
static ip_address=192.168.1.33/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

Para que funcione todo correctamente, debemos iniciar el adaptador wifi. Como a veces este proceso da problemas si lo hacemos mediante comandos o incluso reiniciando el sistema, lo mejor es apagar y encender de nuevo la Raspberry:

sudo shutdown -h now



Acceder desde Internet

Dado que la mayoría de nosotros no tenemos una IP fija (sino IP dinámica) en nuestra conexión a Internet, para poder acceder desde fuera de nuestra red local a la RasPi necesitamos crearnos previamente un DDNS (Dynamic DNS o DNS dinámico, en español), que es una especie de dominio virtual. Podemos crear uno gratuitamente en No-ip, por ejemplo.

Una vez hecho desde su web, nos descargamos e instalamos el cliente en la Raspberry. Lo haremos así:

mkdir no-ip
cd no-ip
wget https://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar -zxvf noip-duc-linux.tar.gz
cd noip-2.1.9-1                     [o el nº de versión que hayamos descargado]
make
sudo make install

Al empezar la instalación nos solicitará nuestros datos de la cuenta de No-ip (email y contraseña), comprobará el DDNS indicado y nos preguntará el tiempo de actualización del mismo, que por defecto es de 30 minutos.

Para iniciar el servicio debemos escribir lo siguiente:

sudo /usr/local/bin/noip2

Autoarranque de No-ip

Si queremos que No-ip se inicie automáticamente cada vez que encendamos la Raspberry, debemos de hacer varias cosas. Primero creamos el siguiente fichero:

sudo nano /etc/init.d/noip2

Luego insertamos este código en el fichero que acabamos de crear:

#! /bin/bash
### BEGIN INIT INFO
# Provides: Servicio No-IP
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Arranque automatico para No-IP
# Description:
#
### END INIT INFO
sudo /usr/local/bin/noip2

Ahora lo guardamos (Ctrl+o, Intro, Ctrl+x) y le damos permisos de ejecución:

sudo chmod +x /etc/init.d/noip2

Finalmente lo ponemos en la cola de ejecución:

sudo update-rc.d noip2 defaults

A partir de este momento el servicio No-ip ya estará activo y funcionando en el sistema. Podemos comprobarlo con este comando:

sudo /usr/local/bin/noip2 -S

Reconfigurar No-ip

Si con el tiempo necesitáramos reconfigurar el servicio, primero tendremos que matar el proceso:

sudo pkill noip2

Y ya podremos reconfigurarlo de nuevo escribiendo lo siguiente:

sudo /usr/local/bin/noip2 -C

Finalmente volvemos a iniciar el servicio:

sudo /usr/local/bin/noip2

RECORDEMOS: antes de poder acceder, por ejemplo, por SSH necesitamos abrir el puerto 22 en el router (y en el cortafuegos, si lo tenemos instalado) y redirigirlo a la IP local de la RasPi. Hecho esto, ya podremos acceder con el nombre de nuestro dominio de No-ip (por ejemplo, midominio.ddns.org) a la Raspberry y manejarla remotamente desde Internet igual que si estuviéramos en nuestra red local.




Instalación de Webmin

Más arriba hicimos una configuración básica del sistema Raspberry Pi OS. En los últimos apartados hemos realizado algunas tareas más de configuración. Sin embargo, los usuarios que posean un conocimiento avanzado del sistema, seguramente querrán hacer una configuración mucho más completa del mismo. Para ello podemos usar Webmin, que posee dos ventajas: en primer lugar, ofrece una interfaz web para administrar de forma gráfica el sistema operativo (en lugar de hacerlo empleando la línea de comandos) y en segundo lugar, permite realizar la configuración del sistema desde un mismo sitio, sin tener que ir saltando de directorio en directorio.

Antes de proceder con la instalación, actualizamos los paquetes de nuestro sistema operativo:

sudo apt update
sudo apt upgrade

Luego, en la página web de Webmin podemos ver cuál es la última versión de esta aplicación. En este momento es la 1.930, así que nos la descargamos:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.930_all.deb

Antes de instalarla debemos asegurarnos de que tenemos en el sistema las dependencias necesarias:

sudo apt install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Hecho lo anterior, ya podemos proceder a su instalación:

sudo dpkg -i webmin_1.930_all.deb

Una vez finalizada la instalación (que puede tardar un poco), accederemos a la interfaz web de la aplicación utilizando el navegador mediante el protocolo seguro https, poniendo la IP local de la Raspberry y el puerto 10000:

https://192.168.1.33:10000

Puesto que se trata de una conexión segura, para poder acceder, previamente tendremos que añadir una excepción de seguridad en el navegador. A continuación se nos pedirá el nombre del usuario (pi) y su contraseña.

Una vez que hayamos accedido a Webmin, veremos a la izquierda el menú de configuración del sistema:

Una de las primeras cosas que podemos hacer, si lo deseamos, es cambiar el idioma de la propia interfaz, seleccionando en Webmin - Change Language and Theme las opciones que se muestran en la imagen de abajo. Escogemos el español (o el idioma que queramos) y hacemos clic en el botón Make Changes.

Esta aplicación permite configurar multitud de opciones en nuestro sistema, por lo que explicar cada una de ellas sería un trabajo enorme. Sólo tenemos que recorrer detenidamente su amplio menú lateral para hacernos una idea de la gran cantidad de cambios que podemos realizar. Para salir de la aplicación, pinchamos en el icono rojo que hay a la derecha de la barra inferior de iconos.




Instalar RPi-Monitor

RPi-Monitor es una utilidad que nos proporciona abundante información sobre nuestro sistema. Vamos a instalarlo desde el repositorio correspondiente. Para ello, lo primero será incluir la clave pública de dicho repositorio:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F

Ahora ejecutamos este comando para añadir RPi-Monitor a nuestra lista de repositorios:

sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list

Actualizamos el sistema de la forma habitual y luego procedemos a instalarlo:

sudo apt update
sudo apt upgrade
sudo apt install rpimonitor

Finalmente lo actualizamos:

sudo /etc/init.d/rpimonitor update

Ya podemos entrar en la interfaz web de la aplicación usando la IP local de la Raspberry y el puerto 8888:

http://192.168.1.33:8888

Aparecerá una imagen similar a esta:

Si pinchamos arriba, en el menú Statistics, podremos ver una serie de gráficos con información sobre diversos parámetros del sistema: carga de la CPU, memoria usada, velocidad de los datos transmitidos por la red, temperatura, etc.

Podemos controlar el funcionamiento de RPi-Monitor con estos comandos:

sudo systemctl start rpimonitor                  [Iniciarlo]
sudo systemctl stop rpimonitor                   [Pararlo]
sudo systemctl restart rpimonitor                [Reiniciarlo]
sudo systemctl status rpimonitor                 [Conocer su estado]

Cambios en la configuración

Si por algún motivo queremos cambiar el puerto por defecto (8888), editamos el fichero de configuración:

sudo nano /etc/rpimonitor/daemon.conf

Buscamos en él la línea que se indica a continuación, la descomentamos y cambiamos el número del puerto:

daemon.port=7865

Hecho este cambio, será necesario reiniciar el servicio:

sudo systemctl restart rpimonitor

A partir de este momento accederemos a la interfaz web a través del nuevo puerto:

http://192.168.1.33:7865

Para hacer cambios en la información que aparece en la pantalla de Status, tenemos que seguir estos pasos:

  1. 1.- Descomentar/comentar (según queramos que se muestre o no un determinado módulo) las líneas apropiadas en el fichero /etc/rpimonitor/template/raspbian.conf, que como podemos ver, es un enlace simbólico al auténtico fichero de configuración (/etc/rpimonitor/data.conf).
  2. 2.- En los casos en que sea necesario (como ocurre con storage.conf, por ejemplo), modificaremos la plantilla que se corresponda con el módulo que nos interese, haciendo en ella los cambios oportunos. Estas plantillas se encuentran en la ruta /etc/rpimonitor/template
  3. 3.- Reiniciar el servicio para que las modificaciones se hagan visibles:
    sudo systemctl restart rpimonitor

Actualizaciones

Cuando se nos indique que hay nuevos paquetes para actualizar (en la página de Status, al final del apartado Version), podremos hacerlo con los comandos habituales:

sudo apt update
sudo apt upgrade

Además, si lo deseamos, podemos actualizar la aplicación por si hubiera disponible una nueva versión:

sudo /etc/init.d/rpimonitor update

Eliminar/reinstalar

Si por algún motivo deseamos eliminar este servicio, haremos lo siguiente:

sudo apt purge rpimonitor
sudo rm -rf /etc/rpimonitor
sudo rm -rf /usr/share/rpimonitor
sudo rm -rf /var/lib/rpimonitor

Si más adelante queremos reinstalarlo, puesto que no hemos eliminado con los comandos anteriores la clave pública ni los repositorios, sólo hemos de seguir las instrucciones que se indicaron más arriba, es decir:

sudo apt update
sudo apt upgrade
sudo apt install rpimonitor
sudo /etc/init.d/rpimonitor update

Problemas de inicio y solución

A veces nos podemos encontrar con el problema de que el servicio no se inicia correctamente después del arranque de la Raspberry, mostrando en su lugar un mensaje de error. La solución es sencilla; sólo necesitaremos reiniciarlo manualmente para que vuelva a funcionar de forma adecuada:

sudo systemctl restart rpimonitor



Instalar phpSysInfo

phpSysInfo es una utilidad muy similar a la anterior (RPi-Monitor), ya que su finalidad es, asímismo, ofrecernos una amplia información sobre nuestro sistema. Pero antes de poder usarla necesitamos tener instalados en la Raspberry un servidor web y PHP. En este caso vamos a utilizar Apache (aunque también podríamos instalar Nginx de la manera que explicamos aquí).

sudo apt install apache2 php7.3 libapache2-mod-php7.3 php7.3-xml

A continuación nos dirigimos a la web de phpSysInfo y tomamos nota de cuál es la última versión. Entonces la descargamos desde la propia Raspberry mediante el comando wget que se muestra a continuación, pero cambiando los números de versión por los de la última disponible:

wget https://netcologne.dl.sourceforge.net/project/phpsysinfo/phpsysinfo/3.3.2/phpsysinfo-3.3.2.tar.gz

Acto seguido, la descomprimimos:

tar -zxvf phpsysinfo-3.3.2.tar.gz

Renombramos el directorio donde se ha descomprimido (eliminando los números de versión), lo copiamos en /var/www/html y ya podemos borrar lo que no necesitamos:

mv phpsysinfo-3.3.2 phpsysinfo
sudo cp -R phpsysinfo /var/www/html
rm -rf phpsysinfo*

Vamos a donde lo hemos copiado y usamos como fichero de configuración el que ya viene incluido como ejemplo, pero renombrándolo previamente:

cd /var/www/html/phpsysinfo
sudo cp phpsysinfo.ini.new phpsysinfo.ini

Desde el navegador de cualquier dispositivo de nuestra LAN podremos acceder escribiendo la IP local de la Raspberry seguida de /phpsysinfo:

http://192.168.1.33/phpsysinfo

Esto es un fragmento de la información que se nos mostrará:

El fichero anterior (/var/www/html/phpsysinfo/phpsysinfo.ini) puede editarse para hacer cambios en la configuración. Por ejemplo, modificando estas cinco líneas podemos definir el idioma y la plantilla por defecto, si queremos que aparezan o no sus respectivos menús desplegables en el panel superior y el tiempo de actualización de la información que se muestra:

DEFAULT_LANG="es"
DEFAULT_TEMPLATE="phpsysinfo"
SHOW_PICKLIST_LANG=fase
SHOW_PICKLIST_TEMPLATE=true
REFRESH=60000

Otros cambios requieren conocimientos algo más avanzados. Es lo que sucede si queremos que aparezca la temperatura de la CPU. En este caso localizamos la línea SENSOR_PROGRAM=false y la modificamos así:

SENSOR_PROGRAM="PiTemp"