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
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)