Blog de Acuariofilia, Biología y Medioambiente (Antonio Castro)

Blog sobre Acuariofilia, Biología, Medioambiente, Mundo animal, Maltrato Animal, Medioambiente, Biodiversidad, Cambio Climátido…

CAO-4: Visión general e instalación de Raspberry Pi

Continuamos con nuestro proyecto para construir un Controlador de Acuario por Ordenador (CAO). En esta ocasión vamos a explicar como usar una unidad Raspberry Pi como cerebro del sistema.

La primera decisión antes de trastear con un Raspberry Pi es decidir que modelo adquirir. Para nuestro proyecto CAO necesitaremos conexión a Internet con ello queda descartado el modelo A que es más barato 25$ y consume algo ménos, pero carece de conector Ethernet.

Raspberry Pi (B) Identificación de componentes de la placa.

Raspberry Pi (B) Identificación de componentes de la placa.

Foto de la Raspberry Pi (B)

Foto de la Raspberry Pi (B)


raspi-model-ab-mono-1-699x1024

 

Observe en la imagen anterior las diferencias. El modelo A carece de conector Ethernet y tiene 128MB de RAM en lugar de 256MB  memoria.

Si aún no tienes ninguna idea de para que sirve puedes visitar  Raspberry Pi el ordenador en miniatura donde explica qué es y todo lo que puedes hacer con él.

Puedes comprarlo en varios sitios. Yo lo compré en la tienda on-line de raspipc.es me llegó muy rápido y sin problemas. Concretamente adquirí un kit completo.

Kit de inicio Raspberry Pi 512 Ice (RF: 1051) Precio 66.77+IVA

El kit de inicio contiene lo esencial para poder utilizar la Rasberry Pi:

  • Una Raspberry Pi modelo B rev 512MB
  • Fuente de alimentacion 5v
  • Una tarjeta micro SD 8gb con adaptador SD y Raspbian instalado
  • Un cable HDMI versión 1.3
  • Una caja para la Raspberry Pi Policarbonato Mod. Apilable Ice 1039

El kit a mí me vino muy bien, pero tienes que ver lo que necesitas tú. Hoy me enteré de que el Conectrol venden tanto el Raspberry como el Arduino. Tienen tienda física en Madrid por la zona de Goya. Seguro que hay muchas tiendas más que ofrecen, y no puedo recomendar ninguna en especial. Lo suyo es comparar precios antes de comprar porque las diferencias son importantes.

Para hacer Funcionar Raspberry Pi hay que cargar un S.O. Existe una  Web oficial de descargas. Para el proyecto CAO, de momento, hemos optado por bajarnos la imagen de Raspbian “wheezy”.

Digresión:
Lo primero que hice fue intentar usar Raspberry Pi como reproductor multimedia cargando reproductores de video en Raspbian «wheezy», pero no conseguí que funcionara ni el reproductor Totem ni VLC y creo que no comparten librerías. Ambos reproductores mostraron la primera imagen de vídeo congelada. Puede ser por algún detallito como que el dispositivo de sonido se bloqueara por estar mal configurado o algo parecido. Si fuera un problema de configuración siempre se puede intentar arreglar. Si el problema tiene que ver con la versión del Kernel puede ser muy trabajoso arreglarlo. Tenemos la potencia de un Linux funcionando en un procesador con la potencia de un Pentium II a 300 Mhz y meterse en algunos berenjenales, con este cacharrito supone mucho tiempo de proceso.

La actualización de los paquetes con: apt-get update ; apt-get upgrade a mí me tardó unas dos horas.

Para usar Raspberry como reproductor multimedia recomiendo http://openelec.tv/

Una vez cargado en la tarjeta esta listo para usar, no hay nada que configurar. Funciona muy bien.

Instalación de Raspbian «wheezy»:

Vamos asumir que también usamos Linux como ordenador de apoyo para la instalación de Raspbian «Weezy». Iremos explicando los comandos Linux que usemos.

Digresión:

Si no tienes costumbre de usar los comandos de consola de Linux o este sistema operativo te resulta demasiado complicado de usar, tengo publicado en PDF de libre descarga un Curso de Linux para novatos, brutos y extremadamente torpes

Empezamos:

Yo me he usado mi ordenador, con S.O. Ubuntu Linux, para descargar y grabar la tarjeta SD con el software para Raspberry. No uso apenas Windows, razón por la cual en todo este proyecto encontrarás indicaciones para trabajar en Windows. Os comento paso a paso como lo he hecho:

1) Desde la  Web oficial de descargas descargaremos la imagen comprimida de Raspbian «Weezy». Es un fichero.zip. Podemos apreciar en la página de descarga del fichero que existe un código de comprobación muy largo denominado SHA-1. Si queremos verificar que el fichero ha sido descargado sin errores podemos usar el comando siguiente:

sha1sum fichero.zip

2) Descomprimir la imagen en nuestro ordenador. Por ejemplo usando:

unzip fichero.zip

Obtendremos un fichero.img que será la imagen del sistema operativo.

3) Metemos la tarjeta SD en el ordenador y procedemos a identificar el dispositivo mediante alguno de los comandos siguientes:

  1. df -h
  2. sudo fdisk -l
  3. mount

Es imprescindible identificarlo bien ya que vamos a escribir directamente en el dispositivo la imagen descargada. Si nos equivocamos y escribimos en un dispositivo diferente, podríamos destruir toda la información contenida en alguno de nuestros discos y con ello quizás todo el sistema.

Con ayuda de los comandos anteriores identifique el dispositivo de la tarjeta, apúntelo (podrá ser /dev/sde o algo similar). Si no está seguro de haber comprendido lo que está haciendo, mejor no continue hasta entenderlo y cerciorarse.

4) Es probable que al introducir la tarjeta SD, esta se monte automáticamente y aparezca una o más particiones de la tarjeta montadas. Es conveniente desmontar todas las particiones. Necesitará privilegios de superusuario (root).

En lo sucesivo para gozar de tales privilegios vamos a abrir una sesión de la shell con sudo y desde ella continuaremos trabajando con los privilegios.

Esto se hace con:

sudo bash

5) Ahora desmontaremos todas las particiones de la tarjeta:

En lo sucesivo denominaremos al dispositivo como /dev/sd(Tarjeta)  (Por ejemplo: /dev/sde, /dev/sdf,…)

  1. umount /dev/sd(Tarjeta)
  2. umount /dev/sd(Tarjeta)1
  3. umount /dev/sd(Tarjeta)2

6) Copiar la imagen a la tarjeta:

  1. dd bs=1M if=fichero.img of=/dev/sd(Tarjeta)
  2. sync

El primer comando copia el contenido del fichero.img en la tarjeta y el segundo asegura que todo ha quedado copiado, pero observe el parpadeo del led del puerto de la tarjeta y no la retire hasta que termine este de parpadear.

7) Arrancar Raspberry Pi:

Metemos la tarjeta con la imagen en Raspberry, lo conectamos a un monitor mediante un cable HDMI, y le proporcionamos alimentación electrica.

Empezará a arrancar mostrando los estados por los que va pasando el arranque. Pasados unos segundos aparecerá en el monitor la pantalla de raspi-config  Si en algún momento sale de esa pantalla y desea volver para terminar de configurar algo, puede hacerlo tecleando el comando raspi-config.

8) Configuración: 

En esta pantalla aparecerán una serie de opciones, usaremos algunas de ellas para nuestra configuración. Realice las siguientes operaciones en el siguiente orden:

  1. expand_rootfs: La imagen que hemos usado es de 2Gbytes. Hemos decidido usar para este proyecto (CAO) una tarjeta de 8Gbytes así que necesitamos expandir  el sistema de ficheros de esta distribución Linux para aprovcechar todo el espacio de la tarjeta SD.
  2. configure_keyboard: Configuramos el teclado.
    a) Generic 105 key: Si no sabes cual es tu teclado y el tuyo tiene 105 teclas usa este.
    b) Other: No queremos un teclado inglés usa Other.
    c) Spanish: Queremos un teclado español.
    d) Spanish: Concretamente es_ES (dejar valor por defecto)
    e) The default for the keyboard layout: (dejar valor por defecto)
    f) No compose key: (dejar valor por defecto)
    g) Ctrl+Alt+Backspace:  (dejar valor por defecto)
  3. change_locale: Para España usemos “es_ES.UTF-8″
  4. memory_split: Por defecto sugiere (192+64) para el procesador y para gráficos respectivamente. Para CAO no necesitamos tanta memoria de vídeo vamos a darle más al procesador (224+32).
  5. ssh: Habilitamos ssh . Lo necesitaremos para trabajar en remoto desde la shell.
  6. Salimos con Finish.

He mencionado solo las opciones que nos interesa cambiar, para más detalles consulte: RPi raspi-config

Este menú de configuración solo se activa automáticamente durante el primer arranque. Una vez que salimos de él podemos volver a entrar con el comando raspi-config (recuerde que necesita privilegios de root para ello).

9) Entre en una sesión de consola y haga login usando el usuario pi:

login:

  • Usuario: pi
  • Contraseña: raspberry

10) Pare el sistema introduciendo el comando:

shutdown -h now

11) Desenchufe el Raspberry Pi.

12) Saque la tarjeta SD

13) Introduzca la tarjeta SD en un Linux repitiendo los pasos 3) 4) y 5)

14) Saque una copia de seguridad de la tarjeta con la nueva configuración:

  1. dd bs=1M if=/dev/sd(Tarjeta) of=ficheroPersonalizado.img
  2. sync

Observe que ahora en entrada (if) hemos indicado la tarjeta y en la salida (of) el fichero.

15) La imagen que obtendrá será mucho más grande que la original Wheezy de 1,9 Gbytes. Esta ocupará 7,3 Gbytes porque expandimos el sistema de ficheros con (expand_rootfs), pero  funcionará sin problemas y arrancará con la nueva configuración.

Con esto ya está todo. Espero que estas indicaciones os sirvan de ayuda.

Un punto de comienzo para documentarse sobre Arduino es leer está: Guía de Usuario Arduino (PDF)

Comunicación entre Raspberry Pi y Arduino por puerto serie:

Conectando el puerto USB de Arduino con uno de los puertos de Raspberry Pi podremos establecer conexión entre ellos.

HUB MULTICONECTOR 10 PUERTOS USB 2.0 - 480Mbps

Si necesitáramos controlar varios acuarios podríamos usar un solo servidor con Raspberry Py, y un Arduino por cada uno de los acuario que deseemos controlar. El Raspbery solo tiene un par de puertos USB, pero en uno de ellos podemos conectar un HUB multiconector (ladrón de puertos) USB que enchufado a un puerto proporciona varios más.

Con ello podríamos controlar toda una instalación de acuarios centralizando el control de todos ellos en un solo servidor.  Lo comento porque pese que es divertido jugar con estos cacharritos y al precio reducido de estos elementos, no estamos ante un juguete.  Tanto Raspberry Pi como Arduino, pese a su reducido precio, se usan en la automatización de instalaciones nada baratas.

Para alguien que controle un poco de Linux no es complicado comunicar ambos cacharrillos. No vamos a avanzar más sobre ello de momento, pero si algún fiera ya tiene ambos aparatitos, Raspberry Pi y Arduino, y desea experimentar por su propia cuenta la comunicación entre ambos, le recomiendo visitar un par de sitios:

Iremos profundizando en estos temas en sucesivos artículos.

Anterior

Noticias biológicas y medioambientales (Feb-2013).

Siguiente

Mi receta para un acuario comunitario, de agua dulce, bien plantado y con peces tropicales pequeños.

2 comentarios

  1. Buen artículo sobre Raspberry. Nosotros tenemos publicados algunos temas relacionados sobre ello por si os interesa. Saludos.

  2. Antonio Castro

    He echado un rápido vistazo a todos vuestros artículos. No son muchos pero están muy bien. Si tenéis ideas sobre arduino (he visto que tenéis algo) o sobre sensores utilizables en acuarios me dais un toque. Felicidades por vuestro sitio
    http://www.todoelectronica.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Funciona con WordPress & Tema de Anders Norén