Thursday, July 24, 2014

Empezando con Raspberry pi

Mis inicios con la Raspberry Pi

Después de pasar unos días de tensión por los fallos de mi disco duro en red tenía dos opciones posibles: Comprar un segundo disco de red o complicarme los fines de semana montandolo con un disco duro USB y una Raspberry PI.

Pues sí, amigos enredas, mi alma aventurera me llevó a buscar una Raspberry PI. 

En la foto siguiente puedes ver lo que encontré:






Raspberry Pi con caja negra    ...    48.69 €
http://www.ibertronica.es/raspberry-pi-caja-placa-b-512mb-negra.html

Disco duro 3,5 Seagate 3 TB con USB3    ...    123.20 €
http://www.appinformatica.com/discos-duros-externos-seagate-d.d.-ext-3-tb-3.5--expansion-usb-3.0.php

Tarjeta SD Sandisk 8 GB clase 10     ...    12.40 €
http://www.appinformatica.com

Cargador 700mA Blackbery    ...    Recuperado

Cable de red ethernet    ...    Recuperado

Total que la broma sale por 185 €

Por 175 € se puede conseguir un disco duro en red de 3TB como el WD My Cloud, pero ¿dónde está la gracia y el orgullo del make-it-yourself? Aparte que la Raspberry Pi es un pequeño ordenador al cual se le puede sacar mucho más provecho.

Lo primero que hice fue instalar el NOOBS desde:
http://www.raspberrypi.org/downloads
Estuve varios días probando la raspberry con los distintos sistemas operativos que ofrece NOOBS y alucinando con la potencia que tiene como HTPC con los S.O. basados en XBMC hasta que dejé de jugar y me puse manos a la obra con el proyecto.


A continuación los apuntes que voy tomando para dejar el invento como lo necesito.

Preparando la tarjeta SD

Siguiendo las recomendaciones de:

Formateo la tarjeta SD con la herramienta SDFormatter.

 Instalando Raspbian en la SD




Configuración inicial de Raspbian

Siguiendo las instrucciones de:
http://raspberryparatorpes.net/empezando/raspi-config-configuracion-inicial-de-raspbian/

Para iniciar sesión me pide Usuario y Contraseña:
Raspberrypi login: pi
Password: raspberry
No viene nada mal una actualización del sistema:
sudo apt-get update
sudo apt-get upgrade

Montando disco duro externo NTFS

He elegido un disco duro externo formateado en NTFS por si en alguna ocasión me interesa conectarlo a uno de mis PCs con Windows directamente por USB3.

Doy soporte a Raspbian para discos formateados en NTFS instalando su controlador:
sudo apt-get install ntfs-3g

Con el siguiente comando veo las unidades de disco conectadas a la raspberry pi:
sudo fdisk -l
En mi caso tengo una tarjeta SD de 7948 MB em /dev/mmcblk0 y un disco duro externo de 3000.6 GB en /dev/sda
El sistema ha creado una partición llamada /dev/sda1 para poder acceder al disco duro.

Creo la carpeta para el punto de montaje para el disco duro:
sudo mkdir /mnt/NAS
Con el siguiente comando puedo montar el disco duro:
sudo mount -t auto /dev/sda1 /mnt/NAS
Como me interesa que esté montado cada vez que encienda la raspberry tengo que editar el archivo  fstab con el editor de textos nano:
sudo nano /etc/fstab
Añado la siguiente línea en el archivo fstab:
/dev/sda1 /mnt/NAS ntfs-3g rw, defaults 0 0
Voy pulsando CTRL+X para guardar y salir, S y Entrar para confirmar.

Después de reiniciar con "sudo reboot" compruebo que el disco está montado con "df -h"

Creo los directorios con los que quiero trabajar y compruebo que están:
cd /mnt/NAS
sudo mkdir Videos Fotos Descargas
ls

Instalando SAMBA

Instalo SAMBA para que cualquier PC Windows pueda acceder mediante el protocolo SMB:
sudo apt-get install samba samba-common-bin
Antes de configurar SAMBA hago una copia de seguridad del fichero de configuración:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Edito el fichero de configuración:
sudo nano /etc/samba/smb.conf
Lo primero a localizar y modificar en caso necesario es el identificador del grupo de trabajo:
workgroup = WORKGROUP
Al final del fichero añado las siguientes líneas para crear dos carpetas compartidas para todos los usuarios que accedan a la red:
[VideosPI]
path = /mnt/NAS/Videos
writeable = Yes
only guest = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
public = yes

[DescargasPI]
path = /mnt/NAS/Descargas
writeable = Yes
only guest = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
public = yes
[FotosPI]
path = /mnt/NAS/Fotos
writeable = Yes
only guest = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
public = yes

Reinicio SAMBA:
sudo service samba restart
Ya puedo ver las carpetas desde cualquier PC con windows:

Instalando un servidor DLNA/UPnP

Para poder compartir el contenido multimedia con mi Smart TV instalo minidlna:
sudo apt-get install minidlna
Configuro:
sudo nano /etc/minidlna.conf
Busco la línea que empieza por media_dir y lo modifico para poder compartir las dos carpetas. La V indica que sólo indexe Videos y la P Fotos:
media_dir=/mnt/NAS/DescargasPI
media_dir=V,/mnt/NAS/VideosPI
media_dir=P,/mnt/NAS/Fotos
Ahora cambio el nombre del dispositivo:
friendly_name=RasPi DLNA
Recargo e indexo:
sudo service minidlna force-reload
Inicio el servicio:
sudo service minidlna start

Conectando con la Raspberry Pi por SSH

He manejado la Rapberry PI con un monitor HDMI y con un teclado inalámbrico Logiteck k400 pero también es posible hacerlo desde otro PC a través del protocolo SSH.

Para Windows un buen cliente SSH es putty (  http://www.chiark.greenend.org.uk/~sgtatham/putty/ )

Para conocer la IP de la Raspberry desde el propio terminal:
ifconfig
En mi caso la IP es 192.168.1.41

Con putty conecto con el protocolo SSH:


Instalando un servidor de impresoras

En esto me he dejado guiar por estos dos tutoriales:
http://www.bartbania.com/index.php/cups-raspberry-printer/
http://geekytheory.com/tutorial-raspberry-pi-12-como-crear-un-servidor-de-impresion/

Instalo el CUPS (Common Unix Printing System):
sudo apt-get install cups

Doy permiso al usuario por defecto en raspberry para administrar las impresoras:
sudo usermod -a -G lpadmin pi

Desde un navegador pongo la IP de mi Raspberry con el puerto 661, en mi caso 192.168.1.41:661 . Después entro en Administración para añadir la impresora que tengo conectada por USB a la Raspberry PI:
Me ha pedido entrar a través de htts, usuario: pi y contraseña: raspberry
Encuentra a la primera mi impresora:
HP DESKJET 950C (HP DESKJET 950C)

IP estática en la Raspberry Pi

Hasta ahora la Raspberry Pi pillaba la IP dinámica a través del servidor DHCP del router. Según los PCs conectados en ese momento las IPs iban cambiando de 192.168.1.41 o .42 o .43
Para asegurarme que tenga siempre la misma IP y no tener que buscarla cada vez que entro por SSH modifico la configuración de red, cambiando dhcp por estática. Para ello edito el fichero interfaces:
sudo nano /etc/network/interfaces
auto eth0

#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
Reinicio la raspberry y compruebo la IP:
sudo reboot
ifconfig

Me ha servido de ayuda el siguiente tutorial:
http://www.electroensaimada.com/ip-estaacutetica.html

Enlaces interesantes sobre Raspberry PI

http://www.raspberrypi.org/
http://misapuntesde.com/
http://muyraspi.blogspot.com.es/
http://www.frambuesapi.co
http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/
http://muyraspi.blogspot.com.es/2013/03/nas-con-la-raspberry-pi.html
http://sobrebits.com/montar-un-servidor-casero-con-raspberry-pi-parte-8-nas-con-raspberry-pi-y-samba/
http://www.belinuxmyfriend.com/2012/10/servidor-dlna-con-la-raspberry-pi.html

Comandos Terminal Linux interesantes para RASPBIAN

sudo poweroff  -  Apagar de forma segura la Raspberry (halt)
ls  -  Listar archivos de un directorio
sudo mkdir dir1  -  Crear un directorio de nombre dir1
sudo rmdir dir1  -  Eliminar un directorio de nombre dir1