Raspberry Pi® a fondo para desarrolladores. Derek Molloy
Чтение книги онлайн.

Читать онлайн книгу Raspberry Pi® a fondo para desarrolladores - Derek Molloy страница 27

Название: Raspberry Pi® a fondo para desarrolladores

Автор: Derek Molloy

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9788426727800

isbn:

СКАЧАТЬ a continuación es para el RPi 2:

      pi@erpi ~ $ cd /sys/class/leds/

      pi@erpi /sys/class/leds $ ls

      led0 led1

      NOTA Las ubicaciones del directorio de sysfs varían ligeramente entre las distintas versiones del núcleo de Linux, así como entre las diferentes versiones.

      Puede observar el mapeo de ambos LED en sysfs: led0 and led1. Es posible cambiar el directorio para modificar las propiedades de uno de los LED. Por ejemplo, para modificar el comportamiento del ACT LED (led0):

      pi@erpi /sys/class/leds $ cd led0

      pi@erpi /sys/class/leds/led0 $ ls

      brightness device max_brightness subsystem trigger uevent

      Aquí vemos varias entradas de archivo diferentes que nos aportan más información y acceso a los ajustes. Observe que esta sección utiliza algunos comandos que veremos detalladamente en el capítulo siguiente.

      Para determinar el estado de un LED escribiremos lo siguiente:

      pi@erpi /sys/class/leds/led0 $ cat trigger

      none [mmc0] timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2

      cpu3 default-on input

      donde se observa que el ACT LED está configurado para mostrar actividad en el dispositivo mmc0, la tarjeta micro-SD. Para anular este disparador, escribimos:

      pi@erpi /sys/class/leds/led0 $ sudo sh -c "echo none > trigger"

      pi@erpi /sys/class/leds/led0 $ cat trigger

      [none] mmc0 timer oneshot heartbeat backlight gpio cpu0 cpu1 ...

      Veremos que el LED deja de parpadear por completo. Utilizaremos cat trigger para ver el nuevo estado. Ahora que el disparador del LED está apagado, podemos conectar o desconectar completamente el ACT LED mediante:

      NOTA sudo sh -c sirve para ejecutar un comando del shell desde un comando de cadena de caracteres que requiera acceso de superusuario. No es posible ejecutar el comando utilizando la instrucción "sudo" únicamente, puesto que también se hace uso de la redirección (>)

      del comando echo hacia un archivo (por ejemplo, brightness). Este tema se trata en el capítulo 3.

      pi@erpi /sys/class/leds/led0 $ sudo sh -c "echo 1 > brightness"

      pi@erpi /sys/class/leds/led0 $ sudo sh -c "echo 0 > brightness"

      Incluso podemos establecer el intervalo que nos convenga para que el LED parpadee. Si observamos cuidadosamente, observaremos la naturaleza dinámica de sysfs. Si ejecutamos el comando ls en este punto, el directorio aparecerá como sigue, pero cambiará en breve:

      pi@erpi /sys/class/leds/led0 $ ls

      brightness device max_brightness subsystem trigger uevent

      Para que el LED parpadee, debemos configurar el disparador en modo temporizador con el comando echo timer > trigger. Verá cómo el LED ACT parpadea a intervalos de 1 segundo. Observe las nuevas entradas delay_on y delay_off en el directorio led0:

      pi@erpi /sys/class/leds/led0 $ sudo sh -c "echo timer > trigger"

      pi@erpi /sys/class/leds/led0 $ ls

      brightness delay_off delay_on device max_brightness subsystem

      trigger uevent

      El temporizador del LED emplea los tiempos definidos en ambas entradas. Puede encontrar más información sobre estos valores empleando el comando concatenate (concatenar). Por ejemplo, las líneas siguientes informan del retardo en milisegundos:

      pi@erpi /sys/class/leds/led0 $ cat delay_on

      500

      pi@erpi /sys/class/leds/led0 $ cat delay_off

      500

      Para que el ACT LED parpadee con una frecuencia de 5 Hz (100 milisegundos encendido y 100 apagado), escribiremos:

      pi@erpi /sys/class/leds/led0 $ sudo sh -c "echo 100 > delay_on"

      pi@erpi /sys/class/leds/led0 $ sudo sh -c "echo 100 > delay_off"

      El comando echo mmc0 > trigger devuelve el LED a su estado predeterminado, lo que provoca la desaparición de las entradas delay_on y delay_off:

      pi@erpi /sys/class/leds/led0 $ sudo sh -c "echo mmc0 > trigger"

      pi@erpi /sys/class/leds/led0 $ ls

      brightness device max_brightness subsystem trigger uevent

      ADVERTENCIA Desconectar el cable de alimentación sin que el núcleo de Linux pueda desmontar la tarjeta micro-SD puede corromper el sistema de archivos.

      Por último, vamos a analizar el procedimiento correcto para apagar el RPi. Una desconexión inapropiada puede corromper el sistema de archivos ext4 o, como poco, prolongar los tiempos de inicio a causa de las comprobaciones del mismo. Veamos algunos puntos importantes a la hora de encender, apagar o reiniciar el RPi:

      ❏Escribir sudo shutdown -h now apaga la placa de forma correcta. Si escribimos sudo shutdown -h +5 retrasaremos el apagado cinco minutos.

      ❏Escribir sudo reboot reiniciará correctamente la placa.

      Si el diseño de nuestro proyecto contempla una carcasa para el RPi y necesitamos un medio para apagarlo correctamente desde el exterior, es posible cablear un botón externo a la cabecera GPIO y escribir un script que se ejecute durante el inicio y que solicite una entrada a la GPIO. Si se detecta esa entrada, se podrá llamar directamente a /sbin/shutdown -h now.

      Después de leer este capítulo debería ser capaz de hacer lo siguiente:

      ❏Comunicarse con el RPi desde su ordenador mediante una conexión de red.

      ❏Comunicarse con el RPi usando una conexión de respaldo serie mediante un cable USB a TTL de 3,3 V.

      ❏Interaccionar con el RPi y controlarlo mediante sencillos comandos de Linux.

      ❏Realizar la edición básica de archivos desde una ventana de terminal del intérprete de comandos de Linux.

      ❏Gestionar los paquetes de software de Linux y establecer la fecha y la hora del sistema.

      ❏Emplear utilidades específicas para la configuración avanzada del RPi.

      ❏Utilizar el sysfs de Linux para modificar el estado de los LED de la placa del RPi.

      ❏Iniciar y apagar el RPi con seguridad.

      1 СКАЧАТЬ