Multimedia,  Raspberry Pi

Encendido apagado de disco duro externo con Raspberry Pi I

openelec
OpenElec

Como ya va siendo hora de actualizar la fantástica smart tv, he aprovechado las entradas / salidas que proporciona Raspberry Pi para poder gestionar el encendido del disco duro que tiene asociado.

La idea es poder encender de manera remota el disco duro y ahorrar en consumo eléctrico y en desgaste de disco. Claro está, también es posible apagarlo después de su uso.

Para conseguir esta utilidad he extraído la fuente de alimentación original de la caja externa y la he colocado en otra caja más grande donde también he ubicado una pequeña placa que incluye un relé. La placa además del relé incluye ciertos elementos electrónicos que le dotan de las oportunas protecciones. Lo podéis encontrar en múltiples tiendas online, por ejemplo. Para los que no tengan mucha idea de electrónica (como es mi caso), con esta placa se puede abrir o cerrar un circuito dependiendo del estado de unas entradas.

A continuación unas imágenes para explicar mejor el proceso. En las tres primeras, se puede ver la nueva caja para el trasformador donde queda un hueco para poner el relé. También se aprecian las conexiones del la placa del relé.

Resumiendo, la fuente de alimentación proporciona 3 hilos, uno con una tensión de +5v, otro de +12v y uno común de 0v. Tanto el de +5v como el de +12v se conecta a una ficha que a su vez conecta con la caja del disco. Pero en el caso del cable de 0v (negro) lo llevo al relé al borne com. En el relé existen 2 conexiones más en este lado; una etiquetada como NO y otra NC. Hay que elegir una de estas dos para conectarla ya al disco duro. Si se escoge NO (normalmente abierto) el circuito permanece abierto de manera predeterminada y escogiendo NC el circuito estará cerrado.

En la otra parte del relé, se encuentra la alimentación de la placa y la entrada para gestionar el relé. En concreto, el borne VCC con una tensión de +5v, el de 0v y el contacto «in» donde yo he conectado el gpio23 que se encuentra en el pin16.

Gestiona el encendido del disco, parte 1
1. Fuente de alimentación colocada sobre la caja y detalle del relé
Gestiona el encendido del disco, parte 2
2. Colocación de la placa de relé junto a la fuente de alimentación
Gestiona el encendido del disco, parte 3
3. Fuente original insertada junto al relé en una caja más grande
Gestiona el encendido del disco, parte 4
4. Raspberry Pi también sobre la caja

Una vez descrita la parte física es la hora de la del software. Para gestionar los gpios se puede desarrollar con diferentes lenguajes, se puede desarrollar desde c, pasando por python, o incluso directamente en bash. A continuación describo las órdenes básicas de gestión.

# Primero es necesario exportar el gpio utilizado para la gestión del relé.
OpenELEC:~ # echo 23 > /sys/class/gpio/export

# Establecer el sentido del gpio. En este caso de salida.
OpenELEC:~ # echo out > /sys/class/gpio/gpio23/direction

# Fijar el valor a 0 o 1. En mi caso para encencer el disco duro, lo establezco a 0 para que se
# encienda ya que utilice el contacto de NO
OpenELEC:~ # echo 0 > /sys/class/gpio/gpio23/value

# Para apagar el disco. Establezco el value a 1.
OpenELEC:~ # echo 1 > /sys/class/gpio/gpio23/value

Deja un comentario