Ejercicios prácticos con Raspberry Pi

Tekst
Loe katkendit
Märgi loetuks
Kuidas lugeda raamatut pärast ostmist
Šrift:Väiksem АаSuurem Aa

Observaciones

RDP hace el mismo trabajo que VNC, pero funciona de manera más eficiente y, por lo tanto, actualiza el contenido de la pantalla fluidamente. El único inconveniente es que para los usuarios de Mac OS X no se integra con la función Share Screen de OS X.

Para saber más

Consulte también el Capítulo 2.9.

2.11 Uso compartido de archivos en una red Mac
Problema

Quiere que su Raspberry Pi aparezca en la lista de ordenadores en el Finder de Mac OS X para que pueda conectarse a él y navegar por el sistema de archivos mediante el Finder.

Solución

El sistema operativo Mac OS X incluye una función de soporte para la visualización de archivos en el Finder a través de la red (Figura 2.11). Sin embargo, debe hacer algunos cambios de configuración en su Raspberry Pi para OS X.

Figura 2.11. Raspberry Pi en el Finder de Mac OS X.

Necesita saber la dirección IP de su Raspberry Pi (Capítulo 2.3).

Ahora, en Raspberry Pi, instale netatalk usando el comando:

$ sudo apt-get install netatalk

Luego, de vuelta en su Mac, en el menú del Finder seleccione Go→Connect to Server e introduzca afp://192.168.1.16 como dirección de servidor (pero utilice la dirección IP para su Raspberry Pi en lugar de la que se muestra aquí). A continuación, haga clic en Connect. Se le pedirá que inicie sesión. Tiene que reiniciar la Raspberry Pi antes de que llegue el mensaje de inicio de sesión.

Puede acceder usando el nombre pi y su contraseña, que será raspberry por defecto. El Finder ha de mostrarle el contenido de su directorio particular en Raspberry Pi.

Hay unos cuantos cambios de configuración que hacer en Raspberry Pi.

$ sudo apt-get install avahi-daemon

$ sudo update-rc.d avahi-daemon defaults

A continuación, escriba el comando:

$ sudo nano /etc/avahi/services/afpd.service

Pegue el siguiente código en el archivo:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->

<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

<name replace-wildcards="yes">%h</name>

<service>

<type>_afpovertcp._tcp</type>

<port>548</port>

</service>

</service-group>

Para activar el daemon escriba el comando:

$ sudo /etc/init.d/avahi-daemon restart

Cambie de nuevo a su Mac y deberá ver su Raspberry Pi en el Finder.

Observaciones

Ser capaz de mover archivos fácilmente entre su Mac y su Raspberry Pi es muy útil. Esto significa que puede utilizar archivos de su Pi sin tener que conectar ningún teclado separado, ratón o monitor.

También puede abrir archivos en Raspberry Pi como si estuvieran en su Mac. Esto tiene la ventaja de poder editarlos con TextMate o con su editor de textos de OS X favorito.

Si está utilizando Windows o Linux, también puede compartir archivos configurando su Raspberry Pi para trabajar como almacenamiento conectado en red (NAS); véase Capítulo 2.13.

Para saber más

Las instrucciones fueron adaptadas de este tutorial, que acredita el libro de Matt Richardson y Shawn Wallace Getting Started with Raspberry Pi (O’Reilly) como la fuente original.

2.12 Compartir la pantalla Pi en un Mac
Problema

Configura VNC, pero le gustaría compartir la pantalla de su Raspberry Pi como si fuera otro dispositivo Mac OS X en su red.

Solución

En primer lugar, siga el Capítulo 2.9 para instalar VNC. También necesitará el Capítulo 2.11.

A continuación, introduzca el comando:

$ sudo nano /etc/avahi/services/rfb.service

y pegue lo siguiente en el editor:

<?xml version="1.0" standalone='no'?>

<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

<name replace-wildcards="yes">%h</name>

<service>

<type>_rfb._tcp</type>

<port>5901</port>

</service>

</service-group>

Luego, introduzca el comando:

$ sudo /etc/init.d/avahi-daemon restart

Ahora debería ser capaz de ver la opción Share Screen mostrada en la Figura 2.12. Cuando se le pida una contraseña, utilice la contraseña que ha configurado para VNC, no su contraseña general de Raspberry.

Figura 2.12. Compartir la pantalla de Raspberry Pi con Mac OS X.

Observaciones

Este capítulo solo añade un poco de comodidad al proceso de compartir la pantalla de su Raspberry Pi.

Si usted tiene más de una Raspberry Pi en su red, es necesario darles diferentes nombres para que pueda identificarlas en la red (Capítulo 2.5).

Si usted es un usuario de Windows o Linux, todavía puede conectarse a Raspberry Pi mediante VNC (Capítulo 2.9).

Para saber más

Las instrucciones han sido adaptadas de este tutorial, que acredita el libro de Matt Richardson y Shawn Wallace Getting Started with Raspberry Pi (O’Reilly) como fuente original.

2.13 Usar Raspberry Pi como almacenamiento conectado a la red (NAS)
Problema

Desea utilizar su Raspberry Pi como almacenamiento conectado a la red (NAS) mediante el acceso a una unidad USB conectada a su Raspberry Pi desde ordenadores de su red.

Solución

La solución a este problema es instalar y configurar Samba. Para ello ejecute los comandos:

$ sudo apt-get install samba

$ sudo apt-get install samba-common-bin

Ahora, conecte el disco duro USB a su Raspberry Pi. Automáticamente se montará en la carpeta /media. Para comprobar que está ahí, utilice el comando:

$ cd /media

$ ls

La unidad deberá aparecer con el nombre que se le dio cuando se formateó. Se montará automáticamente cada vez que Raspberry Pi se inicie.

Ahora tiene que configurar Samba, por lo que la unidad puede ser compartida en la red. Para ello, primero tiene que añadir un usuario Samba (pi). Introduzca el siguiente comando y escriba una contraseña:

$ sudo smbpasswd -a pi

New SMB password:

Retype new SMB password:

Added user pi.

Después tendrá que hacer algunos cambios en el archivo /etc/samba/smb.conf, por lo que introduzca el comando:

$ sudo nano /etc/samba/smb.conf

La primera línea que busca está cerca de la parte superior del archivo:

workgroup = WORKGROUP

Solo necesita cambiar esto si se va a conectar desde un ordenador Windows. Este debe ser el nombre de su grupo de trabajo (workgroup) de Windows. Para Windows XP, por defecto, es MSHOME; para las nuevas versiones de Windows es HOME (pero compruébelo en la red de Windows).

El siguiente cambio a realizar está más abajo del archivo en la sección de autenticación. Busque la línea:

# security = user

Quite el # de delante para activar la seguridad.

Finalmente, desplácese a la derecha hasta el final del archivo y añada las siguientes líneas:

[USB]

path = /media/NAS

comment = NAS Drive

valid users = pi

writeable = yes

browseable = yes

create mask = 0777

public = yes

Guarde el archivo y reinicie Samba introduciendo el comando:

$ sudo /etc/init.d/samba restart

Si todo va bien, la unidad USB ahora debe ser compartida en la red.

Observaciones

Para conectarse a la unidad en un Mac OS X, simplemente seleccione Go→Connect to Server desde el menú del Finder. A continuación, introduzca smb://raspberrypi/USB en el campo de dirección del servidor (Server Address). Verá un cuadro de diálogo de inicio de sesión, donde se tendrá que cambiar el nombre de usuario a pi (Figura 2-13).

 

Figura 2.13. Conectar a NAS con Mac OS X.

Si se está conectando a NAS desde un ordenador Windows, el procedimiento exacto puede variar dependiendo de la versión de Windows. Sin embargo, el principio básico es que en algún momento tendrá que introducir la dirección de red que debe ser \\raspberrypi\USB (Figura 2.14).

Figura 2.14. Conectarse a NAS desde Windows.

Se le pedirá el nombre de usuario y contraseña antes de poder utilizar el disco desde NAS (Figura 2.15).

Figura 2.15. Navegación NAS en Windows.

Si usted es usuario de Linux, este comando montará la unidad NAS para usted:

$ sudo mkdir /pishare

$ sudo smbmount -o username=pi,password=raspberry //192.168.1.16/USB /pishare

Para saber más

Es posible que desee cambiar el nombre de la red de Raspberry Pi a algo más adecuado como piNAS (véase Capítulo 2.5).

2.14 Impresión en red
Problema

Desea imprimir en una impresora de red con Raspberry Pi.

Solución

Use el sistema de impresión común de Unix (CUPS).

Comience introduciendo el siguiente comando en un terminal para instalar CUPS. Esto puede tomar algo de tiempo.

$ sudo apt-get install cups

Dese privilegios de administrador para CUPS introduciendo el siguiente comando:

$ sudo usermod -a -G lpadmin pi

CUPS está configurado a través de una interfaz web. Los navegadores web Midori ni Dillo funcionan bien con las páginas de administración de CUPS, pero Iceweasel funciona muy bien. Puede instalar el navegador Iceweasel introduciendo el siguiente comando:

$ sudo apt-get install iceweasel

Inicie Iceweasel desde el grupo Internet del menú de inicio y vaya a la dirección http://localhost:631.

Vaya a la pestaña de administración y seleccione la opción Add Printer. Se mostrará la lista de impresoras que están en la red o conectadas directamente al puerto USB de Raspberry Pi (Figura 2-16).

Figura 2.16. Descubrir impresoras con CUPS.

Siga los cuadros de diálogo para configurar la impresora.

Observaciones

Cuando haya terminado puede probar la impresora con AbiWord (véase el Capítulo 4.3). Escriba algún texto y cuando esté listo para imprimirlo deberá ver su impresora recién agregada disponible para imprimir (Figura 2-17).

Figura 2.17. Imprimir desde AbiWord.

Para saber más

Consulte también la web oficial de CUPS.

CAPÍTULO 3
Sistema operativo
3.1 Introducción

Este capítulo explora muchos aspectos del sistema operativo Linux utilizado por Raspberry Pi. Esto en muchas ocasiones implica el uso de líneas de comandos.

3.2 Mover archivos de forma gráfica
Problema

Desea mover archivos a través de una interfaz gráfica como puede hacer en un Mac OS X o PC.

Solución

Utilice el Administrador de archivos.

Puede encontrar este programa en el grupo Accesorios del menú de inicio (Figura 3.1).

Con el Administrador de archivos puede arrastrar un archivo o directorio de un directorio a otro o utilizar el menú Edición para copiar un archivo en una ubicación y pegarlo en otra. Esto funciona igual que el Administrador de archivos de Windows o que el Finder de Mac OS X.

Figura 3.1. Administrador de archivos.

Observaciones

En el lado izquierdo del Administrador de archivos se muestran las unidades instaladas, es decir, si conecta una unidad flash USB o una unidad USB externa, aparecerá aquí.

El área central muestra los archivos de la carpeta actual, desde donde puede navegar utilizando los botones de la barra de herramientas o escribiendo una ubicación en el área de ruta de archivo en la parte superior.

Haga clic con el botón derecho en un archivo para ver las opciones que se pueden usar en ese archivo (Figura 3-2).

Figura 3.2. Opciones del Administrador de archivos.

Para saber más

Consulte también el Capítulo 3.5.

3.3 Comenzar una sesión de terminal
Problema

Cuando utiliza Raspberry Pi es necesario ejecutar comandos de texto en un terminal.

Solución

Seleccione el icono LXTerminal (parece un monitor de ordenador negro) en la parte superior del escritorio de Raspberry Pi, o seleccione la opción de menú Terminal en el menú de inicio del grupo Accesorios (Figura 3-3).

Figura 3.3. Abrir LXTerminal.

Observaciones

Cuando se inicia LXTerminal se establece en su directorio personal (/home/pi).

Puede abrir tantas sesiones de terminal como desee. A menudo es útil tener un par de sesiones abiertas en diferentes directorios para que no tenga que cambiar constantemente los directorios usando el comando cd (Capítulo 3.4).

Para saber más

En la siguiente sección (Capítulo 3.4) verá la estructura de directorios al navegar usando el terminal.

3.4 Navegar por el sistema de archivos mediante un terminal
Problema

Necesita saber cómo cambiar de directorio y cómo moverse por el sistema de archivos usando el terminal.

Solución

El comando principal utilizado para navegar por el sistema de archivos es cd (cambiar directorio). Después de cd debe especificar el directorio al que desea cambiar. Esto puede ser una ruta relativa a un directorio de dentro del directorio actual o una ruta absoluta a otro lugar del sistema de archivos.

Para ver cuál es el directorio actual puede utilizar el comando pwd (imprimir –mostrar– el directorio de trabajo).

Observaciones

Pruebe algunos ejemplos. Abra una sesión de terminal y verá un mensaje como este:

pi@raspberrypi ~ $

El mensaje de cada comando (pi@raspberrypi ~ $) es un recordatorio de su nombre de usuario (pi) y el nombre de su ordenador (raspberrypi). El carácter ~ es una abreviatura para su directorio de inicio (/home/pi). Por lo tanto, en cualquier momento puede cambiar de su directorio actual a su directorio personal de la siguiente manera:

$ cd ~


A lo largo del libro utilizo un $ al principio de cada línea donde se escribe el comando. La respuesta de la línea de comandos no será prefijada por nada; aparecerá igual que ocurre en la pantalla de Raspberry Pi.

Puede confirmar que el comando realmente estableció el directorio en el directorio de inicio mediante el comando pwd:

$ pwd

/home/pi

Si desea subir un nivel en la estructura de directorios, puede usar el valor especial .. (dos puntos) después del comando cd, como se muestra aquí:

$ cd ..

$ pwd

/home

Como ya se deduce, la ruta de acceso a un archivo o directorio en particular está formada por palabras separadas por /. Así que, la raíz de todo el sistema de archivos es /. Para acceder al directorio de inicio, dentro de /, será /home/. Entonces, para encontrar el directorio pi dentro de ese utilizará /home/pi/. El último / se puede omitir.

Las rutas también pueden ser absolutas (comenzando con / y especificando la ruta completa desde la raíz) o pueden ser relativas al directorio de trabajo actual, en cuyo caso no deben comenzar con /.

Tendrá acceso completo de lectura y escritura a los archivos en su directorio de inicio, pero una vez que se mueva a los lugares donde se guardan los archivos del sistema y las aplicaciones, su acceso a algunos archivos estará restringido solo a la lectura. Puede anular esto (Capítulo 3.12), pero se debe tener cuidado.

Compruebe la raíz de la estructura del directorio introduciendo los siguientes comandos:


$ cd /
$ ls
bin dev home lost+found mnt proc run selinux sys usr
boot etc lib media opt root sbin srv tmp var

El comando ls (lista) nos muestra todos los archivos y directorios bajo un / del directorio raíz. Verá que hay un directorio home (de inicio) en la lista; es el directorio del que acaba de llegar.

 

Ahora cambie a uno de esos directorios usando el comando:


$ cd etc
$ ls
adduser.conf hosts.deny polkit-1
alternatives hp profile
apm iceweasel profile.d
apparmor.d idmapd.conf protocols
apt ifplugd pulse
asound.conf init python

Usted notará un par de cosas. Primero, hay una gran cantidad de archivos y carpetas en la lista, más de lo que puede caber en la pantalla a la vez. Utilice la barra de desplazamiento del lateral de la ventana del terminal para moverse hacia arriba y hacia abajo.

En segundo lugar, verá que los archivos y las carpetas tienen alguna codificación de color. Los archivos se muestran en blanco, mientras que los directorios son azules.

A menos que le guste escribir, la tecla Tab le ofrece un buen atajo. Si empieza a escribir el nombre de un archivo, al pulsar la tecla Tab la función de autocompletar intentará completar el nombre del archivo. Por ejemplo, si va a cambiar el directorio a network, escriba el comando cd netw y después pulse la tecla Tab. Debido a que netw es suficiente para identificar el archivo o directorio, se autocompletará al pulsar la tecla Tab.

Si lo que ha escrito no es suficiente para identificar de forma exclusiva el nombre del archivo o del directorio, pulsando otra vez la tecla Tab mostrará una lista de opciones posibles que coinciden con lo que ha escrito hasta ahora.

Por lo tanto, si se había detenido en net y pulsó la tecla Tab, verá lo siguiente:

$ cd net

netatalk/ network/

Puede proporcionar un argumento adicional después de ls para restringir las cosas que desea listar. Cambie el directorio a /etc y luego ejecute lo siguiente:

$ ls f*

fake-hwclock.data fb.modes fstab fuse.conf

fonts:

conf.avail conf.d fonts.conf fonts.dtd

foomatic:

defaultspooler direct filter.conf

fstab.d:

pi@raspberrypi /etc

$

El carácter * se llama comodín. Al especificar f* después de ls, estamos diciendo que queremos listar todo lo que empieza con f.

Con ayuda, los resultados primero muestran todos los archivos dentro de /etc que empiezan con f y luego el contenido de todos los directorios en esa carpeta que comiencen con f.

Un uso común de comodines es listar todos los archivos con una cierta extensión (por ejemplo, ls *.docx).

Una convención en Linux (y en muchos otros sistemas operativos) es prefijar archivos que deben estar ocultos por el usuario iniciando su nombre con un punto. Los archivos o carpetas así denominados no aparecerán cuando escriba ls a menos que también proporcione ls con la opción -a. Por ejemplo:

$ cd ~

$ ls -a

.

..

Adafruit-Raspberry-Pi-Python-Code

.advance

.AppleDB

.AppleDesktop

.AppleDouble

Asteroids.zip

atari_roms

.bash_history

.bash_logout

.bashrc

.cache

.config

.dbus

Desktop

.dillo

.dmrc

.emulationstation

.fltk

.fontconfig

.gstreamer-0.10

.gvfs

indiecity

.local

motor.py

.mozilla

mydocument.doc

Network Trash Folder

.profile

.pulse

.pulse-cookie

python_games

sales_log

servo.py

.stella

stepper.py.save

switches.txt.save

Temporary Items

thermometer.py

.thumbnails

.vnc

.Xauthority

.xsession-errors

.xsession-errors.old

Como puede ver, la mayoría de los archivos y carpetas de su directorio de inicio están ocultos.