Ejercicios prácticos con Raspberry Pi

Text
Author:
Read preview
Mark as finished
How to read the book after purchase
Font:Smaller АаLarger 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







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 &



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

You have finished the free preview. Would you like to read more?