Derek Molloy

Raspberry Pi® a fondo para desarrolladores


Скачать книгу

de host (Host Name, Advanced Options): esta opción nos permite ajustar el nombre de host del RPi en la red. Asimismo, actualiza los archivos hostname y hosts y reinicia el servicio de red:

      pi@erpi ~ $ cat /etc/hostname

      erpi

      pi@erpi ~ $ cat /etc/hosts

      ...

      127.0.1.1 erpi

      Esta entrada significa ahora que mi placa RPi se encuentra en la dirección Zeroconf erpi.local.

      ❏División de memoria (Memory Split, Advanced Options): la CPU y el procesador gráfico o GPU del RPi comparten la memoria DDR de la placa. Esta opción nos permite ajustar la asignación de memoria a la GPU. En general, 64 MG suele ser una cantidad correcta. Sin embargo, si vamos a utilizar la cámara CSI del RPi deberemos aumentarla, normalmente a 128 MB (véase el capítulo 15), o bien si vamos a usar la GPU para gráficos en 3D. Este valor queda establecido durante el arranque (cuando se lee del archivo /boot/config.txt) y no se puede modificar en tiempo de ejecución.

      ❏SSH (Advanced Options): esta opción nos permite habilitar o deshabilitar el servidor SSH en el RPi. Obviamente, nunca deberíamos desactivar el modo SSH cuando nuestro RPi esté en modo headless, sobre todo si carecemos de un modo alternativo de conectarnos a la placa. Esta opción deshabilita el servicio SSH:

      pi@erpi ~ $ systemctl status sshd

      • ssh.service - OpenBSD Secure Shell server

      Loaded: loaded (/lib/systemd/system/ssh.service; enabled)

      Active: active (running) since Thu 2015-12-17 21:53:47 GMT

      Process: 628 ExecReload=/bin/kill -HUP $MAINPID

       Main PID: 492 (sshd)

      CGroup: /system.slice/ssh.service

      └─492 /usr/sbin/sshd -D

      Las restantes opciones de la figura 2-8 modifican también el archivo /boot/config.txt y se analizan en los capítulos 6 y 8. Muchas de estas opciones exigen el reinicio del RPi para que las acciones surtan efecto, puesto que se trata de ajustes de inicialización que pasan al núcleo durante el inicio.

      La distribución Raspbian se puede actualizar en el RPi siguiendo unos cuantos pasos sencillos. No obstante, tenga en cuenta que algunos de ellos, la actualización en particular, pueden tardar bastante en completarse, hasta varias horas, dependiendo de lo actualizada que esté la imagen y de la velocidad de nuestra red.

      Una llamada a apt update descargará las listas de paquetes desde las ubicaciones de Internet identificadas en el archivo /etc/apt/sources.list. Esta acción no instala nuevas versiones del software, sino que actualiza las listas de paquetes y sus interdependencias:

      pi@erpi ~ $ sudo apt update

      Get:1 http://archive.raspbian.org jessie InRelease [15.0 kB]

      Hit http://archive.raspberrypi.org jessie InRelease ...

      Building dependency tree Reading state information... Done

      Cuando se complete esta actualización, podremos descargar e instalar automáticamente las últimas versiones del software disponible usando el comando apt upgrade. Como es lógico, deberemos siempre realizar un apt update antes de un apt upgrade:

      pi@erpi ~ $ sudo apt upgrade

      Reading package lists... Done Building dependency tree

      Reading state information... Done Calculating upgrade... Done ...

      After this operation, XXXXX B of additional disk space will be used.

      Do you want to continue? [Y/n]

      Existe una herramienta adicional específica para el RPi que nos permite actualizar el núcleo de Linux, los controladores y las librerías del RPi. La herramienta rpi-update puede recibir llamadas directas, sin argumentos, pero también cuenta con determinados ajustes avanzados, que se describen en github.com/Hexxeh/rpi-update. Por ejemplo, estos ajustes permiten actualizar el firmware sin tener que sustituir el núcleo:

      pi@erpi ~ $ sudo apt install rpi-update

      pi@erpi ~ $ sudo rpi-update

      *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom

      This update bumps to rpi-4.1.y linux tree ...

      *** Updating firmware

      *** Updating kernel modules

      *** depmod 4.1.15-v7+

      *** Updating VideoCore libraries

      *** Using HardFP libraries ...

      *** A reboot is needed to activate the new firmware

      pi@erpi ~ $ sudo reboot

      Después de reiniciar la placa, la versión actual del núcleo debería quedar alineada con el núcleo y el firmware recién instalado:

      molloyd@desktop:~$ ssh [email protected]

      pi@erpi ~ $ uname -a

      Linux erpi 4.1.15-v7+ #830 SMP Tue Dec 15 17:02:45 GMT 2015 armv7l GNU/Linux

      La salida de vídeo del RPi se puede reconfigurar mediante la aplicación tvservice

      (/opt/vc/bin/tvservice). Deberíamos conectar el cable del monitor HDMI en el RPi y utilizar la aplicación tvservice para listar los modos de conexión de la pantalla CEA (típicamente televisiones) o DMT (típicamente monitores de ordenador) conectada:

      pi@erpi ~ $ tvservice --modes CEA

      Group CEA has 0 modes:

      pi@erpi ~ $ tvservice --modes DMT

      Group DMT has 13 modes:

      …

      mode 51: 1600x1200 @ 60Hz 4:3, clock:162MHz progressive

      mode 58: 1680x1050 @ 60Hz 16:10, clock:146MHz progressive

      (prefer) mode 82: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive

      pi@erpi ~ $ tvservice --status

      state 0x120006 [DVI DMT(82) RGB full 16:9], 1920x1080 @ 60.00Hz, progressive

      Podemos fijar explícitamente la resolución del RPi con la misma herramienta. Por ejemplo, podemos actualizar la resolución de salida a un modo DVI 1600 × 1200, disponible en la lista de más arriba:

      pi@erpi ~ $ tvservice --explicit="DMT 51"

      Powering on HDMI with explicit settings (DMT mode 51)

      pi@erpi ~ $ tvservice --status

      state 0x120006 [DVI DMT (51) RGB full 4:3], 1600x1200 @ 60.00Hz, progressive

      pi@erpi ~ $ fbset -depth 8 && fbset -depth 16

      La última línea fuerza un refresco del buffer de cuadro o frame buffer (una área de la memoria de vídeo) para actualizar la pantalla. Después de comprobar la nueva resolución, podemos establecer de forma explícita el valor en el archivo /boot/config.txt, donde hdmi_group=1 establece un modo CEA, y hdmi_group=2 un modo DMT:

      pi@erpi /boot $ more config.txt | grep ^hdmi

      hdmi_group=2

      hdmi_mode=51

      Si no estamos usando la salida HDMI, podemos desconectarla completamente. Ello nos permitiría ahorrar una corriente de entre 25 y 30 mA.

      pi@erpi ~ $ tvservice --off

      Powering off HDMI

      Existen herramientas adicionales también diseñadas para el RPi que permiten capturar datos de imagen y vídeo, que describiremos con detalle en el capítulo 15.

      Esta