En la tercera entrega del proyecto Construyendo un coche RC autónomo voy a detallar los primeros pasos con la Raspberry Pi. La idea es que este mini ordenador, que cuenta con WiFi en su versión 3, se ancle al vehículo radiocontrol para obtener imágenes (mediante su videocámara) para su posterior procesado mediante una red neuronal.

Raspberry Pi

Como la Raspberry Pi no deja de ser un ordenador, voy a instalar en ella la distribución GNU/Linux Raspbian (que no es más que una variante de Debian pero adaptado a las capacidades y recursos de la Raspberry Pi). Tras descargarla, seguiremos los pasos indicados en la documentación para grabar la distribución en una tarjeta micro SD de 16 GB.

Para grabarla, existen varias aplicaciones. La recomendada en la propia página de Raspbian es Etcher, una mini aplicación que permite seleccionar una tarjeta SD destino y una imagen ISO, y con sólo pulsar un botón tendremos la tarjeta micro SD con la distribución lista para ser utilizada.

Etcher - Grabando la imagen de Raspbian en una tarjeta micro SD

Una vez grabada la imagen en la tarjeta micro SD la introducimos en la Raspberry Pi, y usando un cargador de móvil con cable USB - micro USB la enchufamos a la corriente, y con un cable DVI a la televisión o a un monitor para poder configurarla (incluido el adaptador WiFi para así más tarde poder conectarnos de forma remota mediante SSH utilizando un gestor de conexiones como Gnome Connection Manager). Necesitaremos también un teclado de ordenador USB para poder realizar la configuración.

El usuario por defecto de la distribución Raspbian es pi, con la contraseña raspberry. Como queremos que nuestro vehículo autónomo no sea hackeado (o al menos, tan fácilmente), lo mejor será cambiar esta contraseña por defecto por una privada, secreta e intransferible.

Para realizar la configuración inicial y cambiar el password del usuario pi, activar el servidor SSH (para poder acceder remotamente), expandir todo el sistema de archivos usando todo el espacio de la tarjeta micro SD, etcétera, vamos a ejecutar el siguiente comando:

sudo raspi-config

Una vez configurado los diferentes apartados, vamos a configurar la WiFi para poder conectarnos de forma remota mediante SSH. Para ello, configuramos mediante línea de comandos la nueva Raspberry Pi 3 según la documentación oficial, que ha cambiado y ya no utiliza los ficheros de configuración de red /etc/network/interfaces.

En primer lugar queremos conocer el ESSID de la red WiFi a la que nos vamos a conectar, por lo que necesitamos un listado de las disponibles si no lo conocemos:

sudo iwlist wlan0 scan

Ahora editamos el fichero /etc/wpa_supplicant/wpa_supplicant.conf:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Añadimos al final las siguientes líneas para identificar las redes WiFi a las que nos vamos a conectar. En mi caso, la de casa y la de la oficina de ITERNOVA, poniendo los identificadores de cada red SSID y su contraseña secreta correspondiente:

network={
        ssid="WIFI-DE-CASA"
        psk="clave-secreta-de-wifi-de-casa"
        priority=1
        id_str="HOME"
}

network={
        ssid="WIFI-DE-ITERNOVA"
        psk="clave-secreta-de-wifi-de-iternova"
        priority=2
        id_str="ITERNOVA"
}

Ahora necesitamos editar el fichero /etc/dhcpcd.conf ya que queremos asignar IP estáticas (tanto de Ethernet como de WiFi). En nuestro caso, queremos asignar las IP 192.168.1.198 para el interfaz eth0 y 192.168.1.199 para el interfaz WiFi wlan0.

sudo nano /etc/dhcpcd.conf

Al final del fichero incluiremos las siguientes líneas:

# eth0 static configuration
interface eth0
static ip_address=192.168.1.198/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

# wlan0 static configuration
interface wlan0
static ip_address=192.168.1.199/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

Con esto, reiniciamos la Raspberry Pi y ya debería estar conectada a la red.

# Reiniciamos 
sudo reboot

# Tras reboot, comprobamos los interfaces de red activos
sudo ifconfig

Como además hemos activado el servicio SSH, podremos conectarnos de forma remota desde nuestro ordenador para actualizar los diferentes paquetes desde la propia aplicación raspi-config. Como veremos en próximos posts, desde aquí también podremos activar la cámara que vayamos a usar e instalar los paquetes y librerías que vamos a necesitar.

Conectados a la Raspberry Pi mediante SSH usando la WiFi

Si os está gustando y empezáis a ver mil millones de posibilidades utilizando la Raspberry Pi para experimentos, no dejéis de visitar los artículos de la revista MagPi (que se puede descargar de forma gratuita en PDF).

Más información sobre el proyecto