Derek Molloy

Raspberry Pi® a fondo para desarrolladores


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

pestaña y haga clic en el icono "Apps". Si en su versión de Chrome no aparece el acceso a Chrome Web Store, escriba "chrome web store" en la barra de direcciones y pulse Intro. En el campo de búsqueda de dicha página, escriba "Secure Shell". Localice la App e instálela. Acabado el proceso, la App Secure Shell aparecerá junto con las demás aplicaciones para Chrome. Si no puede acceder a ellas por su versión o configuración de Chrome, escriba "chrome://apps" en la barra de direcciones y podrá acceder a sus iconos. Cuando inicie la App Secure Shell deberá configurar los ajustes de conexión como en la figura 2-4 y la aplicación se ejecutará en una pestaña como en la figura 2-5.

      Figura 2-5: La App Secure Shell para Chrome.

      La instalación de PuTTY incluye también compatibilidad con el protocolo FTP (File Transfer Protocol) de transferencia de archivos. Este nos permite transferir archivos hacia y desde el RPi utilizando nuestra conexión de red. Puede iniciar la aplicación PuTTY Secure File Transfer Protocol escribiendo psftp en el intérprete de comandos de Windows. No olvide que para que esto funcione debe incluir el directorio del ejecutable putty.exe en la variable de entorno PATH de su sistema.

      En el prompt psftp> , escriba open [email protected] (o la dirección IP) para conectar con el RPi. Nuestro ordenador se identifica ahora como máquina local, local machine, y el RPi, como máquina remota (remote machine). Cuando emita un comando, normalmente lo hará en la máquina remota. Después de conectar, nos encontraremos en la carpeta de usuario (o directorio home directory) de la cuenta que hayamos utilizado. Por lo tanto, bajo la distribución RPi Raspbian, si nos conectamos como "pi", estaremos en el directorio /home/pi/.

      Para transferir un solo archivo c:\temp\test.txt desde el ordenador local hasta el RPi, seguiremos los pasos que se detallan a continuación:

      psftp: no hostname specified; use "open host.name" to connect

      psftp> open [email protected]

      Using username "pi".

      [email protected]'s password: raspberry

      Remote working directory is /home/pi

      psftp> lcd c:\temp

      New local directory is c:\temp

      psftp> mkdir test

      mkdir /home/pi/test: OK

      psftp> cd test

      Remote directory is now /home/pi/test

      psftp> put test.txt

      local:test.txt => remote:/home/pi/test/test.txt

      psftp> dir test.*

      Listing directory /home/pi/test

      -rw-r--r-- 1 pi pi 8 Dec 18 16:45 test.txt

      psftp>

      Los comandos que contienen el prefijo l se dirigen a la máquina local, por ejemplo lcd (local change directory) para cambiar el directorio local o lpwd (local print working directory) para el directorio de impresión local. Para transferir un solo archivo desde la máquina local a la máquina remota, empleamos el comando put. Para realizar la operación inversa, traer un archivo de la máquina remota a la máquina local, usamos get. Para enviar o traer múltiples archivos están los comandos mput y mget. Si nos olvidamos de un comando, escribimos help para obtener ayuda.

      Si utilizamos una máquina cliente con Linux, podemos emplear el comando sftp en lugar de psftp. Casi todo lo demás queda igual. La aplicación cliente sftp también está instalada en la distribución del RPi de manera predeterminada, así que podrá invertir el orden de las comunicaciones, es decir: podremos hacer que el RPi actúe como servidor y otra máquina como cliente.

      Aquí mostramos algunos trucos y consejos útiles para el uso de los comandos psftp y sftp :

      ❏El comando mget -r * realiza una recuperación recursiva de todo un directorio. Esto resulta útil cuando queremos transferir una carpeta que contenga a su vez varias carpetas. También podemos utilizar la opción -r con los comandos get, put y mput.

      ❏El comando dir *.txt aplica un filtro para mostrar solo los archivos acabados en ".txt" del directorio actual.

      ❏El comando mv mueve un archivo o directorio de la máquina remota a una nueva ubicación en la propia máquina remota.

      ❏El comando reget reinicia una recuperación de archivos que se hubiera interrumpido. El archivo recuperado parcialmente debe continuar existiendo en la máquina local.

      El comando psftp se puede enviar como una sola línea o como un script local desde el símbolo del sistema. Puede crear un archivo de prueba, test.scr, que contenga un conjunto de comandos psftp que necesite enviar. Ejecute después psftp desde el símbolo del sistema, pasando la contraseña con -pw y el archivo de script con -b (o -be para continuar aun con errores y -bc para mostrar los comandos a medida que se ejecutan), del siguiente modo:

      c:\temp>more test.scr

      lcd c:\temp\down

      cd /tmp/down

      mget *

      quit

      c:\temp>psftp [email protected] -pw mypassword -b test.scr

      Using username "pi".

      Remote working directory is /home/pi ...

      En este punto, deberíamos ser capaces de comunicarnos con el RPi mediante una aplicación cliente SSH. Esta sección analiza los comandos que podemos emitir para interaccionar con el RPi.

      Cuando se conecte por primera vez con el RPi mediante SSH, se le pedirá que inicie sesión. Podrá hacerlo la primera vez con el usuario "pi" y la contraseña "raspberry":

      login as: pi

      [email protected]'s password: raspberry

      Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

      permitted by applicable law.

      pi@erpi:~$

      Ya estamos conectados al RPi y tenemos la ventana de terminal en Linux lista para recibir los comandos. El símbolo del sistema, $ ,indica que hemos iniciado sesión como un usuario estándar. Por su parte, # indica que hemos iniciado la sesión en la cuenta de superusuario o root (véase el capítulo 3). Para un nuevo usuario de Linux, este paso puede resultar un desafío, puesto que es difícil hacerse con todo el arsenal de comandos a nuestra disposición. En esta sección intentaremos que el lector alcance un nivel de Linux suficiente para empezar con confianza. Se ha escrito como referencia y acompañada de ejemplos, de manera que pueda regresar a ella cuando necesite ayuda.

      Lo primero que podríamos hacer nada más conectarnos es averiguar la versión de Linux que estamos ejecutando. Esta información resulta muy útil a la hora de publicar preguntas en foros de usuario.

      pi@erpi ~ $ uname -a

      Linux erpi 4.1.13-v7+ #826 SMP PREEMPT Nov 13 20:19:03 2015 armv7l GNU/Linux

      Hemos utilizado Linux 4.1.13, compilado para la arquitectura ARMv7 en la fecha listada.

      La versión del núcleo de Linux se describe por tres números, separados por puntos, de la forma: X.Y.Z. El número X cambia muy de tarde en tarde; la versión 2.0, por ejemplo, se publicó en 1996, y la 4.0, en abril de 2015. El número Y cambia un poco más a menudo, pero tampoco demasiado, cada dos años más o menos. Sin embargo, en el núcleo más reciente ha cambiado con bastante frecuencia: la versión 4.1 se publicó en junio de 2015. El número Z sí que cambia frecuentemente.

      Después podemos utilizar el comando passwd para establecer una contraseña nueva para la cuenta de usuario "pi".