Ejercicios prácticos con Raspberry Pi

Tekst
0
Recenzje
Przeczytaj fragment
Oznacz jako przeczytane
Czcionka:Mniejsze АаWiększe Aa

Para saber más

Para encontrar archivos en lugar de comandos consulte el Capítulo 3.25.

3.27 Supervisar la actividad del procesador
Problema

Raspberry Pi a veces puede funcionar un poco lento, por lo que desea ver qué está acaparando el procesador.

Solución

Utilice el Administrador de tareas, lo encontrará dentro del menú de inicio en el grupo de programas Herramientas del sistema (Figura 3.8).

Figura 3.8. Administrador de tareas.

El Administrador de tareas le permite ver cuánta CPU y memoria se está utilizando. También puede hacer clic con el botón derecho del ratón en un proceso y seleccionar la opción para eliminarlo en el menú emergente.

Los gráficos de la parte superior de la ventana muestran el uso total de la CPU y la memoria. Los procesos se enumeran debajo, y puede ver la CPU que cada uno está utilizando.

Observaciones

Si prefiere hacer este tipo de cosas desde la línea de comandos, utilice el comando top de Linux para mostrar datos similares sobre el procesador y la memoria y los procesos que utilizan más recursos (Figura 3.9). Puede utilizar el comando kill para detener un proceso. Tendrá que hacerlo como superusuario.

En este caso, puede ver que es un programa de Python que utiliza el 97 % de la CPU. La primera columna muestra el ID del proceso (2447). Para detener este proceso, introduzca el comando:

$ kill 2447

Es posible eliminar procesos vitales del sistema operativo de esta manera. Si lo hace, apagar y volver a encender su Pi restablecerá las cosas a la normalidad.

Figura 3.9. Utilizar el comando top para ver el uso de los recursos.

A veces, es posible que tenga un proceso en ejecución que no sea visible inmediatamente cuando utilice top. Si este es el caso, puede buscar todos los procesos que se ejecutan usando el comando ps y canalizando (Capítulo 3.32) los resultados con el comando grep, que buscará los resultados y resaltará los elementos de interés.

Por ejemplo, para encontrar el ID del proceso de Python que acapara la CPU, ejecutaríamos el siguiente comando:

$ ps -ef | grep "python"

pi 2447 2397 99 07:01 pts/0 00:00:02 python speed.py

pi 2456 2397 0 07:01 pts/0 00:00:00 grep --color=auto python

En este caso, el ID del proceso del programa speed.py de Python es 2447. La segunda entrada en la lista es el propio proceso del ps.

Una variación en el comando kill es el comando killall. Utilícelo con precaución, ya que elimina todos los procesos que coinciden con su argumento. Así, por ejemplo, el siguiente comando eliminará todos los programas de Python que se estén ejecutando en Raspberry Pi:

$ sudo killall python

Para saber más

Puede consultar las páginas de la documentación para top, ps, grep, kill y killall. Puede verlas escribiendo man seguido del nombre del comando, como se muestra aquí:

$ man top

3.28 Trabajar con archivos comprimidos
Problema

Ha descargado un archivo comprimido y desea descomprimirlo.

Solución

Dependiendo del tipo de archivo, necesitará utilizar los comandos tar o gunzip.

Observaciones

Si el archivo que desea descomprimir solo tiene la extensión .gz, puede descomprimirlo usando el comando:

$ gunzip myfile.gz

También puede encontrar archivos (llamados tarballs) que contienen un directorio que ha sido archivado con la utilidad de Linux tar y luego son comprimidos con gzip en un archivo con un nombre como myfile.tar.gz.

Puede extraer los archivos y las carpetas originales de un tarball utilizando el comando tar:

$ tar -xzf myfile.tar.gz

Para saber más

Puede obtener más información sobre tar desde las páginas de la documentación, a las que puede acceder mediante el comando man tar.

3.29 Mostrar los dispositivos USB conectados
Problema

Ha conectado un dispositivo USB y quiere asegurarse de que Linux lo reconoce.

Solución

Utilice el comando lsusb. Esto mostrará todos los dispositivos conectados a los puertos USB de su Raspberry Pi:

$ lsusb

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.

Bus 001 Device 004: ID 15d9:0a41 Trust International B.V. MI-2540D [Optical mouse]

Observaciones

Este comando le indicará si un dispositivo está conectado o no, pero no garantiza que esté funcionando correctamente. Puede haber drivers para instalar y cambios de configuración para hacer en el hardware.

Para saber más

Para obtener un ejemplo de uso de lsusb al conectar una webcam externa consulte el Capítulo 4.6.

3.30 Redirigir la salida desde la línea de comandos a un archivo
Problema

Desea crear rápidamente un archivo con algo de texto o grabar una lista de directorios en un archivo.

Solución

Utilice el comando > para redirigir la salida que aparecería en la línea de comandos.

Por ejemplo, para copiar una lista de directorios en un archivo llamado myfiles.txt, haga lo siguiente:

$ ls > myfiles.txt

$ more myfiles.txt

Desktop

indiecity

master.zip

mcpi

Observaciones

Puede usar el comando > en cualquier comando de Linux que produzca una salida, incluso si está ejecutando, por ejemplo, un programa de Python.

También puede usar el comando opuesto (<) para redirigir la entrada del usuario, aunque esto no es tan útil como >.

Para saber más

Para utilizar cat para unir varios archivos consulte el Capítulo 3.31.

3.31 Concatenar archivos
Problema

Usted tiene un número de archivos de texto y desea unirlos en un archivo grande.

Solución

Utilice el comando cat para concatenar un numero de archivos en un archivo de salida (output). Por ejemplo:

$ cat file1.txt file2.txt file3.txt > full_file.txt

Observaciones

Unir archivos es el verdadero propósito del comando cat. Puede proporcionar tantos nombres de archivos como desee, y todos se escribirán en el archivo al que los dirija. Si no redirecciona la salida, aparecerá en la ventana del terminal. Si son archivos grandes, puede tardar.

Para saber más

Consulte también el Capítulo 3.8, donde se utiliza cat para mostrar el contenido de un archivo.

3.32 Usar pipes (tuberías)
Problema

Desea utilizar la salida de un comando de Linux como entrada de otro comando.

Solución

Utilizar el comando pipe, que es el símbolo de barra (|) en el teclado, para canalizar la salida de un comando a otro. Por ejemplo:

$ ls -l *.py | grep Jun

-rw-r--r-- 1 pi 226 Jun 7 06:49 speed.py

Aquí encontrará todos los archivos con la extensión py que también tengan Jun en su lista de directorios, indicando que fueron modificados por última vez en junio.

Observaciones

A primera vista, esto se parece bastante a la redirección de salida usando > (Capítulo 3.30). La diferencia es que > no funcionará si el objetivo es otro programa. Solo funcionará para redirigir a un archivo.

 

Puede encadenar tantos programas como quiera, como se muestra aquí, aunque no es algo que hará a menudo.

$ command1 | command2 | command3

Para saber más

Puede consultar el Capítulo 3.27 para un ejemplo de uso de grep para encontrar un proceso.

Véase el Capítulo 3.26 para buscar en su historial de comandos, usando un pipe y grep.

3.33 Ocultar la salida al terminal
Problema

Desea ejecutar un comando, pero no quiere que la salida aparezca en pantalla.

Solución

Redireccione la salida a /dev/null utilizando >. Por ejemplo:

$ ls > /dev/null

Observaciones

Este ejemplo ilustra la sintaxis, pero es bastante inútil. Un uso más común se da cuando está ejecutando un programa y el desarrollador deja muchos mensajes de rastreo en su código que realmente no quiere ver. El siguiente ejemplo oculta la salida innecesaria del comando find (véase el Capítulo 3.35).

$ find / -name gemgem.py 2>/dev/null

/home/pi/python_games/gemgem.py

Para saber más

Para más información acerca de cómo redirigir la salida estándar, consulte el Capítulo 3.30.

3.34 Ejecutar programas en segundo plano
Problema

Desea ejecutar un programa, pero también trabaja en otras tareas.

Solución

Ejecute el programa o el comando en segundo plano utilizando el comando &.

Por ejemplo:

$ python speed.py &

[1] 2528

$ ls

En lugar de esperar hasta que el programa haya terminado de ejecutarse, la línea de comandos muestra el ID del proceso (el segundo número) e inmediatamente le permite continuar con cualquier otro comando que quiera ejecutar. Puede utilizar el ID del proceso para eliminar procesos en segundo plano (Capítulo 3.27).

Para llevar un proceso del segundo plano al primer plano utilice el comando fg:

$ fg

python speed.py

Esto informa del comando o programa que se está ejecutando y luego espera a que finalice.

Observaciones

La salida del proceso en segundo plano seguirá apareciendo en el terminal.

Una alternativa para poner procesos en segundo plano es simplemente abrir más de una ventana de terminal.

Para saber más

Para obtener información sobre cómo administrar procesos consulte el Capítulo 3.27.

3.35 Crear alias de comandos
Problema

Desea crear alias para los comandos que utiliza con frecuencia.

Solución

Edite el archivo ~/.bashrc utilizando nano (Capítulo 3.7) y luego muévase al final del archivo y añada tantas líneas como desee como estas:

alias l='ls -a'

Esto crea un alias llamado l que, cuando lo introduzca, será interpretado como el comando ls -a.

Guarde y salga del archivo usando Ctrl-X y Ctrl-Y, y luego, para actualizar el terminal con el nuevo alias, escriba el siguiente comando:

$ source .bashrc

Observaciones

Muchos usuarios de Linux configuran un alias para rm como el siguiente para que confirme las eliminaciones.

$ alias rm='rm -i'

No es una mala idea, siempre y cuando no se olvide cuando utilice el sistema de otra persona que no tenga este alias configurado.

Para saber más

Para más información sobre rm, consulte el Capítulo 3.11.

3.36 Ajustar la fecha y la hora
Problema

Desea configurar manualmente la fecha y la hora de su Raspberry Pi, porque no tiene conexión a Internet.

Solución

Utilice el comando de Linux date.

El formato de fecha y hora es MMDDHHMMYYYY, donde MM es el número del mes, DD es el día del mes, HH y MM son las horas y los minutos, respectivamente, y YYYY es el año.

Por ejemplo:

$ sudo date 010203042013

Wed Jan 2 03:04:00 UTC 2013

Observaciones

Si Raspberry Pi está conectada a Internet, a medida que arranque, automáticamente establecerá la hora utilizando un servidor de tiempo de Internet.

También puede utilizar date para mostrar la hora UTC simplemente introduciendo date (fecha):

$ date

Wed Jan 2 03:08:14 UTC 2013

Para saber más

Si desea que su Raspberry Pi mantenga la hora correcta incluso cuando no hay red, puede utilizar un módulo de reloj a tiempo real (RTC) (Capítulo 12.14).

3.37 Saber cuánto espacio tiene en la tarjeta SD
Problema

Desea saber cuánto espacio hay libre en la tarjeta SD.

Solución

Utilice el comando de Linux df:


$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 3.6G 1.7G 1.9G 48% /
/dev/root 3.6G 1.7G 1.9G 48% /
devtmpfs 180M 0 180M 0% /dev
tmpfs 38M 236K 38M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 75M 0 75M 0% /run/shm
/dev/mmcblk0p1 56M 19M 38M 34% /boot

Observaciones

En cuanto a la primera línea de los resultados, puede ver que hay 3,6 GB de almacenamiento en la tarjeta SD, de los cuales se utilizan 1,7 GB.

Cuando se quede sin espacio en el disco es probable que obtenga un comportamiento inesperado, como mensajes de error que indiquen que no se pudo escribir un archivo.

Para saber más

Puede encontrar la página de la documentación para df utilizando man df.

CAPÍTULO 4
Software
4.1 Introducción

Este capítulo contiene una serie de fórmulas para utilizar softwares preconfigurados en Raspberry Pi.

Algunas fórmulas de este capítulo están relacionadas con la conversión de Raspberry Pi a un solo uso, mientras que otras utilizan piezas específicas de softwares en Raspberry Pi.

4.2 Crear un centro multimedia
Problema

Desea convertir su Raspberry Pi en un centro multimedia.

Solución

Para utilizar su Raspberry Pi como centro multimedia debe tener una Raspberry Pi 3 o el modelo B de la Raspberry Pi 2, ya que la reproducción de vídeo es muy intensa en los procesadores.

Puede configurar su Raspberry Pi como centro multimedia durante el proceso de instalación de NOOBS (Capítulo 1.6). En lugar de seleccionar Raspbian como la distribución a instalar, seleccione OpenELEC_Pi1 si tiene la Raspberry Pi 1 o OpenELEC_Pi2 si tiene la Raspberry Pi 2.

OpenELEC es una distribución que optimiza su Raspberry Pi como centro multimedia. Incluye el software del centro multimedia Kodi, basado en el proyecto de código abierto XBMC que fue desarrollado originalmente para convertir las consolas Xbox en centros multimedia. Desde entonces, el código ha sido llevado a muchas plataformas, incluyendo Raspberry Pi (Figura 4.1).


Figura 4.1. Raspberry Pi como centro multimedia.

Raspberry Pi es perfectamente capaz de reproducir vídeos en full HD, así como música en streaming, archivos MP3 y radio por Internet.

Observaciones

Kodi es una potente pieza de software con muchas características. Quizás la manera más simple de comprobar que está funcionando es poner algunos archivos de música y/o vídeo en una unidad flash USB o en un disco duro externo y conectarlo a Raspberry Pi. Debería poder reproducirlos desde Kodi.

Puesto que Raspberry Pi es probable que esté cerca de su TV, puede ver si su TV tiene un puerto USB que pueda proporcionar corriente suficiente para ejecutar Raspberry Pi. Si este es el caso, no necesitará una fuente de alimentación aparte.

Es una buena idea tener un teclado y un ratón inalámbricos, si los compra como un conjunto usarán un solo puerto USB para el dongle, ya que evitará tener los cables por todas partes. También puede comprar miniteclados con trackpads incorporados que son útiles en esta situación.

 

Una conexión de red por cable ofrece generalmente un rendimiento superior y mejor que una conexión WiFi, pero no siempre es posible tener Pi cerca de una toma Ethernet. Si este es el caso, puede configurar XBMC para utilizar un dongle WiFi para una conexión de red.

La configuración de Kodi es muy intuitiva. Puede encontrar las instrucciones completas sobre el uso del software en http://kodi.wiki/.

Para saber más

Puede agregar un control remoto IR a Raspberry Pi para controlar XBMC.

4.3 Instalar programas de ofimática
Problema

Necesita abrir procesadores de texto y documentos de hojas de cálculo en Raspberry Pi.

Solución

Raspberry Pi es, después de todo, un ordenador Linux, por lo que hay varias aplicaciones de ofimática que puede instalar para utilizar hojas de cálculo y documentos de procesador de textos.

Los programas para Raspberry Pi se descargan de Internet, por lo que necesitará tener una conexión.

Antes de instalar cualquier software nuevo, una buena idea es abrir un terminal y ejecutar el siguiente comando:

$ sudo apt-get update

Para instalar el procesador de texto AbiWord, ejecute este comando:

$ sudo apt-get install abiword

Se le pedirá que confirme la instalación escribiendo Y; después de un minuto aproximadamente la instalación estará completa. Si observa su menú de Inicio, verá una nueva sección llamada Office, donde encontrará AbiWord (Figura 4-2).

AbiWord abrirá .doc, .docx, y otros formatos comunes de documentos de procesadores de textos.

Si necesita usar una hoja de cálculo, Gnumeric es una buena opción. Instálelo utilizando el comando:

$ sudo apt-get install gnumeric

Figura 4.2. AbiWord en Raspberry Pi.

To koniec darmowego fragmentu. Czy chcesz czytać dalej?