Linux at Home

Linux at Home

A l’origine conçu pour être l’ordinateur le moins cher du monde (sans écran / clavier ), le RPI permet de réaliser bon nombre d’applications en linux embarqué. Compter #50€ avec boitier et frais de port.

L’utilisation en tant qu’ordinateur est moins évidente (pas très réactif en tant que tel).

Par contre on peut s’en servir -par exemple- comme centre multimédia performant ;
c’est donc pas cher, utile au quotidien et formateur (il faut un moment donné passer par le terminal linux).

C’est également une solution idéale pour tout projet nécessitant un noyau linux (ex: caméra de surveillance, gps, etc…).
Pour rappel les cartes comme les arduinos ou certaines cartes nucleos ne peuvent supporter un noyau linux, assez vite nécessaire pour gérer de l’ethernet par exemple.


Installation

Tutoriel Démarrage

http://raspbian-france.fr/

Installer Raspbian

https://www.raspberrypi.org/downloads/

sudo raspi-config # --> Expand Filesystem

Communiquer avec le RPI

Pour connaître l’adresse ip attribuée par la box : Dans un navigateur web : 192.168.1.1

Supposons l’adresse du RPI=192.168.1.12:

Dans un terminal :

$ ssh pi@192.168.1.12

mot de passe par défaut : raspberry

Changer le mot de passe :

$ passwd 

Copier un fichier dans le RPI

$ scp [File] pi@192.168.1.12:/home/pi/		# copie dans le répertoire pi du RPI

Disque réseau avec Samba

Dans le RPI (via SSH):

# Installation
$ sudo apt-get install samba

# Configuration
$ sudo mkdir /storage/my_disk
$ ls -l /dev/disk/by-uuid/		# récupération de l'UUID du disk
$ nano /etc/fstab

UUID=votre_UUID    /storage/my_disk    ntfs-3g    defaults    0    2
 
$ nano /etc/samba/smb.conf

[my_disk]
    path = /storage/my_disk
    browseable = yes
	writable = yes
    read only = no
    guest ok = yes
    force group = storage

# Exécution
$ mount -a
$ service smbd start

!! Le raspberry ne démarrera que si my_disk est branché

Si le disque d’apparait pas directement dans l’explorateur de fichiers du PC, taper dans la barre d’adresse de cet explorateur :

smb://192.168.1.12/storage/my_disk

Les commandes à exécuter lors du démarrage du RPI (par exemple démarrage de samba) peuvent être placées dans /etc/rc.local


Centre multimédia KODI

Toutes les TV ont désormais un port USB pour lire un disque dur.
Pour des TV plus anciennes on pourrait utiliser un disque dur multimédia ou une passerelle multimédia associée à un disque dur.

Cette dernière solution est coûteuse et non évolutive. Quant aux TV récentes l’évolutivité reste à voir et tous les formats vidéo ne sont pas forcément supportés.

En un rien de temps on peut transformer un RPI en passerelle multimédia

REM : VLC n’utilise pas l’accélération graphique pour afficher les vidéos ; cette solution est donc à proscrire.

Pour certaines TV, le contrôle de KODI peut se faire directement depuis la télécommande (les commandes arrivent au RPI via le HDMI).
Si cela ne marche pas on peut envisager d’utilier un clavier sans fil bluetooth avec pad intégré.

# Installation
$ apt-get update && apt-get upgrade
$ apt-get install kodi
 
# Configuration GPU
$ nano /boot/config.txt
gpu_mem=128 

# Ajouter l'utilisateur kodi au group input 
$ adduser kodi input

# Utiliser le clavier avec Kodi
$ nano  /etc/udev/rules.d/99-input.rules
KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660" 

# Démarrage automatique  
$ nano /etc/default/kodi

ENABLED=1
USER=pi 

serveur audio mpd (music player daemon)

Considérons le RPI branché à une chaine hifi (entré aux).
Le disque dur contient de la musique dans /storage/my_disk/AUDIO
Il est possible de contrôler depuis son PC (ou smartphone) le choix des fichiers audio grace à un serveur multimédia mpd (côté RPI) associé à un client mpc (côté PC)
La plupart des formats audio sont supportés.

# Installation 
$ apt-get install mpd
$ apt-get remove pulseaudio

# Configuration
$ nano /etc/mpd.conf
music_directory    "/storage/my_disk/AUDIO"

# Exécution
service mpd start

Côté PC : clients pour mpd :

  • Windows : auremo
  • Linux : ario / gmpc

Client torrent transmission

REMARQUE PREALABLE : L’utilisation d’un client torrent est possible uniquement dans le cadre de téléchargements légaux.

# Installation
$ apt-get install transmission-cli transmission-common transmission-daemon

# Configuration
$ mkdir /storage/my_disk/torrent/complet
$ mkdir /storage/my_disk/torrent/incomplet
$ addgroup storage
$ usermod -a -G storage debian-transmission

$ service transmission-daemon stop				# pour s'assurer qu'il est bien arrêté 
$ sudo nano /etc/transmission-daemon/settings.json
"download-dir": "/storage/my_disk/torrent/complet",
"incomplete-dir": "/storage/my_disk/torrent/incomplet",

# Exécution
$ service transmission-daemon start

Le contrôle et l’ajout des torrents se fait avec l’explorateur web à l’adresse :

http://192.168.1.12:9091


Mise en place d’un VPN avec openVPN

# Installation
$ apt-get install openvpn
 
# Exécution
$ cd OPENVPN_		# dossier contenant openvpn.ovpn, ca.crt, client.key, client.crt
$ openvpn --config openvpn.ovpn --auth-user-pass pass --script-security 2 --up ./up_script.sh --down ./down_script.sh

# pass :  fichier contenant ID + Password
# up_script.sh : Script à lancer au démarrage d'openvpn
# down_script.sh : Script à lancer en cas de crash d'openvpn (pour stopper un programme par exemple)