Raspberry Pi® a fondo para desarrolladores

Text
0
Kritiken
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Schriftart:Kleiner AaGrößer Aa

Webcam USB para captura de imágenes y streaming de vídeo

Añadir una cámara RPi, como las de las figuras 1-9(a) o 1-9(b), o una webcam, como la de la figura 19(c), permite integrar con un coste muy bajo la funcionalidad de captura de imágenes y vídeo en nuestros proyectos RPi. Además, ciertas librerías de Linux, como Video 4 Linux y Open Source Computer Vision (OpenCV), nos permitirán el desarrollo de aplicaciones de visión artificial. Este tema se trata en profundidad en el capítulo 15.


Figura 1-9: (a) RPi NoIR Camera. (b) Soporte para cámara RPi. (c) Webcam USB Logitech C920.

Teclado y ratón USB para computación de propósito general

Podemos conectar un ratón y un teclado USB al RPi, o bien usar una combinación estándar de teclado y ratón inalámbricos de 2,4 GHz. Existen combinaciones inalámbricas portátiles de muy pequeño tamaño, por ejemplo las Rii 174 Mini, Rii i10 o la ESYNiC mini; todas ellas ofrecen un teclado portátil con su touchpad integrado. Un adaptador Bluetooth USB también resulta útil para conectar periféricos al RPi.

Una combinación de teclado/touchpad se utiliza en el capítulo 14.

Carcasas para proteger el RPi

Existen numerosos tipos de carcasas para proteger nuestro RPi, por ejemplo la que se ilustra en la figura 1-10(a), que cuesta menos de 6 euros. Las carcasas resultan útiles para salvaguardar el RPi de cortocircuitos accidentales, como los que pueden suceder al dejar la placa sobre una superficie metálica, pero también influyen mucho en la temperatura de operación del RPi (véase el capítulo 12). Intente adquirir una carcasa con la ventilación adecuada, pero evite añadir ruidosos ventiladores o esos ridículos sistemas de refrigeración líquida.

Placas de extensión HAT

Las placas de extensión HAT (Hardware Attached on Top, literalmente "hardware que se fija encima", cuyo acrónimo "HAT" es un juego de palabras con el término inglés hat, que significa sombrero) son circuitos impresos que se pueden conectar al RPi mediante la cabecera de ampliación GPIO. Existen placas de extensión para las cabeceras GPIO de 26 pines de los modelos RPi más antiguos, pero el RPi carece de mecanismos formales para identificar el tipo de placa de extensión conectada. Las HAT se presentaron junto con el RPi modelo B+. Algunos de los 40 pins de la cabecera GPIO ampliada (ID_SD e ID_SC) de los modelos más recientes se emplean para identificar automáticamente el tipo de HAT conectada. Esto permite que Linux configure los pines GPIO de forma automática y que cargue los controladores que faciliten el manejo de la HAT.


Figura 1-10: Accesorios RPi: (a) Ejemplo de carcasa. (b) La placa Sense HAT.

(c) La placa T-Cobbler. (d) Una HAT para prototipado.

La figura 1-10(b) ilustra la placa RPi Sense HAT (40 euros). Contiene: una pantalla LED de matriz de puntos de 8x8, acelerómetro, giroscopio, magnetómetro, sensor de presión atmosférica, sensor de temperatura, sensor de humedad y una pequeña palanca de control. La figura 1-10(d) muestra, vacía, una placa HAT de bajo coste para prototipado que podemos usar para diseñar nuestra propia HAT. En su parte inferior derecha incluye un espacio para una EEPROM (Electrically Erasable Programmable Read-Only Memory, demoria de solo lectura programable y borrable eléctricamente) instalable en superficie que puede servir para que el RPi identifique la HAT.

Una alternativa al diseño de nuestras propias placas HAT consiste en utilizar la placa T-Cobbler (véase la figura 1-10(c)) para conectar la cabecera GPIO del RPi a una placa de pruebas (breadboard) mediante un cable plano de cuarenta pines (disponible con la T-Cobbler). Este dispositivo se ajusta perfectamente a la placa de pruebas (véase el capítulo 4) y proporciona etiquetas claras de todos los pines

de la cabecera GPIO del RPi.

Cómo destruir su RPi

Las placas RPi son dispositivos complejos y delicados que se pueden dañar con mucha facilidad si no somos diligentes en su manejo. Si vamos a iniciarnos en la plataforma RPi desde otras placas, por ejemplo Arduino, debemos extremar el cuidado a la hora de conectar los circuitos que hayamos construido para dichas placas. A diferencia del Arduino Uno, el microprocesador del RPi no se puede sustituir. Si dañamos el SoC del microprocesador, tendremos que comprar una nueva placa.

Estas son algunas de las cosas que no debemos hacer jamás:

❏No apague el RPi desenchufando directamente el cable de alimentación USB de la placa. Para hacerlo correctamente, debe emplear un procedimiento de apagado por software (véase el capítulo 2).

❏No coloque un RPi conectado a la fuente de alimentación sobre superficies metálicas, por ejemplo ordenadores con superficies de aluminio, ni en tableros de trabajo que tengan restos metálicos, virutas de cable o componentes electrónicos. Si cortocircuitamos los pines de la cabecera que sobresalen por la parte inferior de la placa, podemos inutilizarla. Como precaución podemos adquirir una pequeña carcasa como la de la figura 1-10(a). Otra posibilidad consiste en fijar unas pequeñas almohadillas de goma autoadhesivas en la parte inferior de la placa.

❏No conecte circuitos source/sink (impulso/drenaje de corriente continua), salvo corrientes muy pequeñas, desde/hacia la cabecera GPIO. La corriente máxima que podemos alimentar o drenar desde muchos de los pines de la cabecera oscila entre 2 y 3 mA. Los pines de alimentación y tierra pueden alimentar y drenar corrientes mayores. Por su parte, algunos modelos de Arduino permiten corrientes de hasta 40 mA en cada entrada/salida. Este tema se trata con detalle en los capítulos 4 y 6.

❏Los pines GPIO toleran 3,3 V. No conecte circuitos alimentados a 5 V o inutilizará la placa. Este tema se trata con detalle en los capítulos 4, 6 y 8.

❏No conecte circuitos que apliquen potencia a la cabecera GPIO en tanto el RPi no esté encendido. Asegúrese de que todos los circuitos autoalimentados se conecten por la línea de 3,3 V o mediante optoacopladores. Este tema se trata en el capítulo 6.

Por otra parte, debería asegurarse de hacer siempre lo siguiente:

❏Compruebe con mucho cuidado el número de cada pin que vaya a utilizar. La cabecera GPIO tiene 40 patillas y resulta muy sencillo equivocarse y conectar algo en la patilla 21 en lugar de en la 19, por ejemplo. La tarjeta T-Cobbler (véase figura 1-10(c)) resulta muy útil para interconectar el RPi con una placa de pruebas. Es muy recomendable contar con una para el trabajo de prototipado.

Resumen

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

❏Describir las posibilidades del Raspberry Pi (RPi) y su idoneidad para diferentes tipos de proyecto.

❏Describir los principales sistemas y subsistemas hardware de las placas RPi.

❏Identificar accesorios importantes, presentes en el mercado, que permitan mejorar las capacidades de nuestro RPi.

❏Apreciar cabalmente la potencia y complejidad del RPi como plataforma de computación física.

❏Ser consciente de los primeros pasos a seguir para proteger la placa de cualquier daño físico.

Soporte

Las principales fuentes de documentación de soporte adicional se listaron anteriormente en este mismo capítulo. Si encuentra dificultades con la plataforma RPi que no estén descritas en la documentación, visite los foros de usuarios de Raspberry Pi en la dirección www.raspberrypi.org/forums/. Por favor, no olvide nunca que los miembros de la comunidad de usuarios que publican en los foros lo hacen de manera altruista y dedican voluntariamente una buena parte de su tiempo a resolver las dudas de otros.

1 www.roylongbottom.org.uk/Raspberry%20Pi%20Benchmarks.htm.

2 Antes conocido como XBMC.

3 github.com/raspberrypi/firmware/blob/master/boot/LICENCE.broadcom.

Capítulo

2

El software del Raspberry Pi

En este capítulo se nos presenta el sistema operativo Linux junto con herramientas software que podremos utilizar con el Raspberry Pi (RPi). El objetivo de este capítulo es aprender a conectar nuestra placa a una red o conexión serie y controlarla mediante comandos de Linux básicos. Asimismo, se examinan herramientas de configuración específicas para personalizar el RPi y para actualizar el software de la placa. Tras completar el capítulo, el lector debería ser capaz de controlar un LED del sistema en la placa a través de comandos Linux que habrá aprendido siguiendo un tutorial paso a paso. Este ejemplo le mostrará cómo enviar comandos del shell de Linux a través de una ventana de terminal. El capítulo finaliza con un análisis de la mejor manera de apagar y reiniciar la placa correctamente y con seguridad.

Materiales necesarios para este capítulo:

❏Una placa Raspberry Pi (idealmente RPi3, 2, o B+).

❏Un cable de alimentación USB y una fuente de alimentación.

❏Una tarjeta micro-SD (a partir de 8 GB e idealmente de Clase 10 o superior).

❏Infraestructura y cableado de red, cable serie o adaptador WiFi.

 

Puede encontrar más detalles sobre este capítulo en la dirección:

www.exploringrpi.com/chapter2/.

Linux en el Raspberry Pi

Una Linux distribution es una versión de dominio público de Linux que contiene un conjunto determinado de herramientas y programas. Existen numerosísimas distribuciones diferentes de Linux, que suelen estar orientadas a distintas aplicaciones. Por ejemplo, los propietarios de servidores de alto nivel pueden instalar las distribuciones Red Hat Enterprise, Debian u OpenSUSE; los usuarios de ordenadores personales, Ubuntu, Debian, Fedora o Linux Mint. El alma común a todas las distribuciones es el núcleo (kernel) de Linux, concebido y desarrollado por Linus Torvalds en 1991.

A la hora de decidirnos por una u otra distribución de Linux para nuestro sistema empotrado, lo más sensato sería optar por una que cumpliera los siguientes requisitos:

❏Una distribución estable y con buen soporte.

❏Una distribución que incluya un gestor de paquetes de calidad.

❏Que sea compacta y pensada para ocupar poco espacio de almacenamiento.

❏Que cuente con el soporte de una buena comunidad de usuarios para nuestro dispositivo concreto.

❏Que incluya buenos controladores para los periféricos que vayamos a usar.

Distribuciones de Linux para el RPi

En esencia, las abundantes distribuciones Linux para sistemas empotrados utilizan todas el mismo núcleo estándar de Linux. Sin embargo, cada una incluye un conjunto de herramientas y configuraciones que resultan en experiencias de usuario muy diferentes. Las principales distribuciones de Linux de código abierto empleadas por la comunidad de usuarios de RPi son Raspbian, Ubuntu, OpenELEC y Arch Linux.

Raspbian es una versión de Debian concebida específicamente para el RPi. Debian (una abreviación de Debbie e Ian) es una distribución Linux dirigida por su comunidad de usuarios, que pone mucho énfasis en el desarrollo de código abierto. Ninguna organización comercial participa en el desarrollo de Debian. Raspbian amplía Debian con herramientas y paquetes de software, por ejemplo Java, Mathematica o Scratch, específicos para el RPi. En la actualidad tenemos disponibles tres versiones de Raspbian para descargar desde la web de Raspberry Pi:

❏Raspbian Jessie: es una imagen basada en Debian Jessie (Debian versión 8.x) con soporte completo de escritorio. (Tamaño de imagen: sobre 1,3 GB comprimida y unos 4 GB descomprimida).

❏Raspbian Jessie Lite: una imagen con tamaño mínimo basada también en Debian Jessie. Cuenta con un soporte de escritorio limitado, pero que se le puede ampliar fácilmente más adelante. (Tamaño de imagen: sobre 375 MB comprimida y unos 1,4 GB descomprimida).

❏Raspbian Wheezy: una imagen antigua basada en Debian Wheezy (Debian versión 7.x) que está disponible por motivos de compatibilidad con ciertos paquetes de software. Siempre que nos sea posible elegiremos la imagen Jessie, en particular si pretendemos realizar compilación cruzada de aplicaciones.

NOTA Raspbian (Jessie) se utiliza en los ejemplos paso a paso de este libro y, por tanto, es la distribución que recomendamos con insistencia. Asimismo, Debian es la distribución Linux de escritorio que utilizamos en el libro porque ofrece un excelente soporte para el desarrollo multiplataforma gracias a sus toolchain para compilación cruzada (www.debian.org).

Ubuntu es una distribución íntimamente relacionada con Debian. De hecho, la siguiente descripción es la de la propia web de Ubuntu (www.ubuntu.com): "Debian es la piedra sobre la que se edifica Ubuntu." Ubuntu es una de las distribuciones Linux más populares para el escritorio, sobre todo por su empeño en hacer Linux más accesible a los nuevos usuarios. Resulta fácil de instalar, tiene un soporte de controladores para escritorio excelente y también ofrece distribuciones binarias para el RPi. La baza principal de Ubuntu es la experiencia de usuario de su escritorio. Si se va a usar el RPi como dispositivo de computación de propósito general (véase el capítulo 14) Ubuntu puede ser la distribución que mejor se adapte a esa tarea.

OpenELEC (www.openelec.tv) se centra particularmente en las aplicaciones multimedia y sobre todo en Kodi (www.kodi.tv). Si desea utilizar el RPi como dispositivo multimedia para el hogar (home media center), esta distribución ofrece seguramente el mejor rendimiento. Las distribuciones OpenELEC utilizan generalmente un sistema de archivos de solo lectura, como squashfs (squash file system o squashFS), para un mayor rendimiento y fiabilidad. Sin embargo, tales optimizaciones dificultan el trabajo de prototipado y desarrollo.

Arch Linux (www.archlinuxarm.org) es una distribución de Linux ligera y flexible que persigue la simplicidad como objetivo principal. Su público son los usuarios de Linux de nivel medio o avanzado a los que ofrece control total, con la responsabilidad que conlleva, de la configuración del sistema. Hay disponibles versiones de Arch Linux ya compiladas y listas para el RPi. Sin embargo, comparada con otras distribuciones, en la actualidad ofrece menos soporte a los usuarios nuevos de Linux en la plataforma RPi.

La RPi Foundation desarrolló un instalador de Linux para usuarios nuevos llamado NOOBS, que contiene Raspbian pero ofrece la facilidad de descarga e instalación de otras distribuciones Linux. Numerosos kits incluyen una tarjeta SD con NOOBS junto con el hardware RPi. Sin embargo, si optamos por descargar e instalar una imagen Raspbian, deberíamos descargar directamente la imagen siguiendo las instrucciones de la sección siguiente.

Asimismo, han comenzado a aparecer otras soluciones no Linux, como Windows 10 IoT Core y RISC OS, para el RPi. Se trata de desarrollos muy interesantes y sin duda bienvenidos. Sin embargo, en la actualidad tienen un soporte limitado para dispositivos y requisitos de programación muy específicos si se los compara con Linux. Para seguir el libro, que se centra como sabemos en soluciones Linux, es mejor obviar dichas distribuciones.

Cómo crear una imagen Linux en una tarjeta SD para el RPi

La manera más fácil de configurar una tarjeta SD para iniciar con ella el RPi consiste en descargar el archivo de imagen de una distribución Linux (archivo con extensión .IMG , generalmente comprimido a su vez en formato .zip) desde el sitio web

www.raspberrypi.org/downloads y grabarlo en una tarjeta SD mediante una utilidad de grabación de imágenes. Las siguientes utilidades para grabación de imágenes convierten este proceso en algo sencillo y directo.

ADVERTENCIA Cuando grabamos el archivo de imagen de una distribución Linux en una tarjeta SD, se pierde todo el contenido anterior de la misma. Asegúrese de grabar la imagen descargada en el dispositivo correcto cuando utilice las herramientas aquí descritas.

❏Windows: Use Win32DiskImager (disponible en tiny.cc/erpi202). Introduzca la tarjeta SD antes de iniciar la aplicación y asegúrese bien de seleccionar la tarjeta SD correcta.

❏Mac OS y Linux: Utilice, con sumo cuidado, la herramienta para clonar discos dd. En primer lugar, identifique el dispositivo. Debería mostrarse como /dev/mmcblkXp1 o /dev/sddX en Linux, o bien /dev/rdiskX en Mac OS, donde la X es un número. Asegúrese de que X haga referencia a la tarjeta SD en la que desea escribir el archivo de imagen. Para ello puede comprobar, por ejemplo, que el espacio disponible en el dispositivo (escriba cat /proc/partitions) se corresponde con el tamaño de la tarjeta SD. Luego, desde una ventana de terminal, escriba el comando dd con privilegios de root (groso modo, equivalente a una cuenta de administrador de Windows, solo que en el mundo Linux es más apropiado aquel término), donde if será el nombre del archivo de entrada (input file) y of será el nombre del dispositivo de salida (un tamaño de bloque bs de 1M debería ser suficiente):

molloyd@desktop:~$ sudo dd bs=1M if=RPi_image_file.img of=/dev/XXX

NOTA Tanto el programa Win32DiskImager como el comando dd crearán una partición en la tarjeta SD del tamaño justo para grabar la imagen del sistema operativo, con independencia del espacio nominal de la misma. Este tema se tratará más adelante en este mismo capítulo.

Introduzca la tarjeta SD en el RPi, conecte el cable de red y enchufe el cable de alimentación micro-USB de 5 V. También podemos conectar un teclado y un ratón USB y un monitor con su cable HDMI al RPi para usarlo como dispositivo de computación de propósito general (véase el capítulo 14). No obstante, para proyectos de electrónica, el RPi se emplea como dispositivo empotrado independiente que se comunica a través de la interfaz de red. Por lo tanto, los pasos siguientes indican cómo conectar el RPi a una red para establecer comunicación con él.

Cómo conectarse a una red

Hay dos maneras principales de conectarnos y comunicar con el RPi mediante una red: con un cable Ethernet estándar o con un cable Ethernet cruzado. Conectar el RPi a una red puede resultar engorroso para los principiantes. Generalmente es algo sencillo de hacer en casa, donde uno tiene el control total de su propia red. Sin embargo, en redes locales complejas, como las de las universidades, podemos enfrentarnos a múltiples subredes para comunicaciones tanto por cable como inalámbricas. En redes tan complejas, las restricciones de enrutamiento pueden dificultar, si no hacer imposible, conectarse a un RPi mediante un cable Ethernet estándar. Ambos métodos resultan aptos para conectar nuestro RPi a Windows, a un Mac o a una máquina con Linux.

Cable Ethernet estándar

Cuando hablamos de usar un "cable Ethernet estándar", queremos decir que vamos a utilizar uno para conectar el RPi a una red local del mismo modo que haríamos con un ordenador de sobremesa o un portátil. Tanto para el usuario doméstico como para el usuario avanzado, una conexión estándar Ethernet a una red local es probablemente la mejor solución para las comunicaciones en red de su RPi. La tabla 2-1 relaciona las ventajas y desventajas que se presentan al utilizar este tipo de conexión. El problema principal reside en la complejidad de la red local. Si el lector comprende bien la configuración de su red y tiene acceso a los ajustes del router, esta es la mejor opción de lejos. Si el router de su red está instalado lejos de su ordenador de sobremesa, podría adquirir un pequeño switch para la red (entre 10 y 20 euros) o bien un punto de acceso inalámbrico con un router multipuerto integrado (por unos 30 euros). La segunda opción resulta muy útil para aplicaciones inalámbricas que empleen los dispositivos RPi 3, Zero o A+, así como para ampliar el alcance de su red inalámbrica.

NOTA Este análisis es asimismo relevante para la conectividad en red inalámbrica. Si se ve obligado a utilizar una conexión inalámbrica, por ejemplo para el RPi Zero, lea la sección "Comunicaciones por WiFi" al principio del capítulo 13 y, luego, vuelva a este punto. Para modificar los archivos de configuración de un adaptador WiFi puede utilizar un cable USB a TTL, que se describe en la sección siguiente. Asimismo, puede montar la tarjeta micro-SD destinada a la placa RPi en un ordenador con Linux, o en otra RPi, y hacer los cambios necesarios directamente en dichos archivos.

Tabla 2-1: Ventajas y desventajas de una conexión Ethernet estándar para el RPi.


VentajasDesventajas
Tenemos control total sobre la configuración de las direcciones IP, así como de la configuración de las IP estáticas/dinámicas.Podríamos necesitar privilegios de administrador, así como el conocimiento adecuado de la infraestructura de la red.
Podemos interconectar numerosas placas RPi a una sola red, incluidos dispositivos inalámbricos.El RPi necesita una fuente de alimentación, que puede ser un cable de corriente con adaptador, o bien alimentación PoE (Power over Ethernet) (véase el capítulo 12).
El RPi se puede conectar a Internet sin que haga falta que un ordenador lo esté.La configuración resulta más difícil para los principiantes si la estructura de la red es compleja.

El primer desafío de esta configuración es dar con nuestro RPi en la red. De forma predeterminada, el RPi se configura para solicitar una dirección IP al servidor DHCP (Dynamic Host Configuration Protocol, protocolo de configuración dinámica de Host). En un entorno de red local doméstica, este servicio lo provee generalmente un servidor DHCP integrado en el propio router (el aparato que todos tenemos en casa y que es router, módem, cortafuegos, elemento de red local y, en la actualidad, WiFi) que la conecta a Internet a través de nuestro ISP (Internet Service Provider, proveedor de servicio de Internet).

 

Los servidores DHCP asignan direcciones IP dinámicamente desde un grupo (pool) de direcciones para un intervalo fijo de tiempo llamado "tiempo de cesión" (lease time), que se especifica en la configuración del servidor DHCP. Este tipo de direcciones IP se denominan dinámicas. Una vez que expira el tiempo de cesión, nuestro RPi recibe una nueva dirección IP cuando vuelve a conectarse a la red local. Este cambio puede resultar frustrante porque podríamos tener que volver a buscar el RPi en la red local. El capítulo 13 describe cómo configurar la dirección IP de nuestro RPi para que sea la misma, es decir, para que sea una dirección IP estática, cada vez que la placa se conecte a la red.

Podemos usar cualquiera de los métodos siguientes para identificar la IP dinámica de nuestro RPi:

❏Navegador web: utilice un navegador web para acceder al router de su red local doméstica (generalmente la dirección de acceso es una de estas: 192.168.1.1, 192.168.0.1 o 10.0.0.1). Inicie sesión y busque la opción para acceder al estado de la tabla DHCP. Debería llegar a una entrada que detalle las direcciones IP asignadas, las direcciones físicas MAC y el tiempo de cesión restante para un dispositivo llamado "raspberrypi". El nombre de host de mi placa es "erpi", como ya sabemos, así que:

DHCP IP Assignment Table

IP Address MAC Address Client Host Name Leased Time

192.168.1.116 B8-27-EB-F3-0E-C6 erpi 12:39:56

❏Herramienta de escaneo de puertos: utilice una herramienta como nmap, en Linux, o bien Zenmap, que es una versión con interfaz gráfica de usuario (en adelante GUI, Graphical User Interface), disponible para Windows (diríjase a tiny.cc/erpi203). Para buscar dispositivos en una subred, escribimos nmap -T4 -F 192.168.1.*. Buscamos una entrada que tenga abierto el puerto 22 para SSH. Debería identificarse a sí mismo con la Raspberry Pi Foundation (véase la figura 2-1(a)) como resultado del rango de direcciones MAC asignado a la fundación. Después podrá hacer un ping para comprobar la conexión de red (véase la figura 2-1(b)).


Figura 2-1: (a) Zenmap escanea la red para localizar el RPi. (b) Un ping de prueba desde el ordenador.

❏Zeroconf (resolución de nombres de host con configuración cero): Zeroconf es un conjunto de herramientas para resolución de nombres de host, direccionamiento automático y descubrimiento de servicios. De forma predeterminada, la distribución Raspbian del RPi utiliza un servicio avahi para dar soporte a Zeroconf en nuestra red local, lo que permite que el nombre del host sea visible. Por ejemplo, el nombre de host de mi placa es "erpi". Así, es posible conectarse al RPi utilizando la cadena erpi.local:

pi@erpi:~$ systemctl status avahi-daemon

• avahi-daemon.service - Avahi mDNS/DNS-SD Stack

Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled)

Active: active (running) since Thu 2015-12-17 21:53:46 GMT; 8h ago

Main PID: 385 (avahi-daemon)

Status: "avahi-daemon 0.6.31 starting up."

CGroup: /system.slice/avahi-daemon.service

├─385 avahi-daemon: running [erpi.local]

└─419 avahi-daemon: chroot helper

NOTA Las máquinas Windows no soportan Zeroconf de forma predeterminada. Puede instalar el software Bonjour Print Services for Windows (o bien iTunes) desde el enlace tiny.cc/erpi204. Si tiene éxito, ahora debería poder realizar un ping de prueba (de forma predeterminada el nombre es raspberrypi.local):

C:\Users\Derek> ping erpi.local

Pinging erpi.local [fe80::9005:94c0:109e:9ecd%6] with 32 bytes of data:

Reply from fe80::9005:94c0:109e:9ecd%6: time=1ms ...

❏Conexión serie USB a TTL: una última opción consiste en establecer una conexión serie USB a TTL con el RPi y escribir ifconfig para averiguar la dirección IP. La dirección es la “inet addr” asociada al adaptador eth0.

Cable Ethernet cruzado

Un cable Ethernet cruzado es un cable que ha sido modificado para facilitar la conexión y la comunicación directa de dos dispositivos sin necesidad de un switch intermedio. Es posible comprar el cable cruzado como tal, o bien adquirir un adaptador. La tabla 2-2 relaciona las ventajas y desventajas que se presentan al utilizar este tipo de conexión.

Tabla 2-2: Ventajas y desventajas de utilizar un cable de red cruzado.


VentajasDesventajas
Podremos conectar nuestro RPi a la red local aunque carezcamos de acceso a la infraestructura hardware de la misma.Si nuestro ordenador no tiene más que una conexión de red, no será posible conectarlo a Internet a través de la red cableada. Es más conveniente utilizarlo con un dispositivo que cuente con múltiples adaptadores.
El RPi puede gozar de acceso a Internet siempre que el ordenador posea dos adaptadores de red y que tenga activada la opción de compartir.El RPi seguirá precisando de una fuente de alimentación externa, que puede ser un cable con adaptador de corriente.
Proporciona una configuración de red local razonablemente estable.Podría requerir un cable Ethernet cruzado o adaptador especializados. Sin embargo, lo más probable es que nuestro ordenador tenga Auto-MDIX.

La mayoría de los ordenadores actuales son capaces de detectar automáticamente una conexión cruzada (es decir, host a host) gracias a la funcionalidad Auto-MDIX, lo que permite utilizar un cable Ethernet estándar. La interfaz de red del RPi también ofrece funcionalidad Auto-MDIX, de manera que se puede utilizar cuando se carezca de acceso a la infraestructura de la red local. Si dispone de dos adaptadores de red, por ejemplo una toma de red Ethernet y una tarjeta de red inalámbrica, podrá compartir fácilmente la conexión a Internet con su RPi estableciendo un puente entre ambos adaptadores. Como ejemplo, veamos los pasos necesarios para hacerlo en Windows:

1. Conecte uno de los extremos de un cable de red Ethernet estándar, o bien de uno cruzado, al RPi, y el otro a la toma de red de su ordenador.

2. Encienda el RPi conectando un cable de alimentación micro-USB.

3. Establezca ahora el puente entre ambas conexiones de red. En Windows, seleccione "Redes e Internet" y, luego, "Conexiones de red". Seleccione los dos adaptadores de red, tanto el cableado como el inalámbrico, al mismo tiempo. Haga clic con el botón derecho y seleccione la opción para puentear las conexiones. Pasado algún tiempo, las dos conexiones deberían aparecer habilitadas y puenteadas. Asimismo, la ventana de redes de Windows debería mostrar el puente de conexión (véase la figura 2-2).

4. Reinicie el RPi. De forma ideal, debería emplear un cable serie USB a TTL para hacer esto, o también el botón de reinicio descrito en el capítulo 1. Una vez reiniciado el RPi, debería ser capaz de obtener una dirección IP directamente desde el servidor DHCP de nuestra red local.

Después podrá comunicar directamente con el RPi desde cualquier terminal de su red local (incluyendo su propio ordenador principal) siguiendo los pasos descritos en la sección siguiente. La figura 2-2 muestra un ejemplo de configuración a partir de los datos mostrados dicha sección. Podemos observar cómo el servidor DHCP asigna al ordenador portátil la dirección IP 192.168.1.111, y al RPi, la 192.168.1.115. Por lo tanto, una sesión SSH desde el ordenador de sobremesa, que tiene la dirección IP 192.168.1.4, hacia el RPi ofrece la siguiente interacción:

molloyd@desktop:~$ ssh pi@192.168.1.115

pi@192.168.1.115's password: raspberry

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

permitted by applicable law.

pi@erpi ~ $ echo $SSH_CLIENT

192.168.1.4 60898 22

pi@erpi ~ $ ping www.google.com

PING www.google.com (213.233.153.230) 56(84) bytes of data.

64 bytes from www.google.com (213.233.153.230):icmp_seq=1 ttl=61 time=13.6ms


Figura 2-2: Un ejemplo de configuración con cable Ethernet cruzado.

Los iconos de la imagen fueron creados por los artistas del proyecto GNOME (GNU GPL CC-BY-SA-3.0).

Este tipo de conexión es particularmente útil en el seno de una red local compleja, por ejemplo la de una universidad, porque así el portátil se puede conectar directamente con el RPi. Asimismo, el RPi podrá, a su vez, conectarse a Internet, como queda ilustrado en este ejemplo por su capacidad para enviar un ping al servidor web de Google.