technique:raspberryslideshow

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
technique:raspberryslideshow [2023/11/17 12:29] – [Spécificités Fife] guillaumevtechnique:raspberryslideshow [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Raspberry Slideshow ====== +**Cette page est obsolèteVeuillez accéder au contenu à son nouvel emplacement : [[https://bibliotech.cemea.org/books/outils-technique/page/raspberryslideshow|raspberryslideshow]]**
- +
-Voir [[.:raspberryslideshow:devcemea|RS version CEMEA en-cours]] pour notes sur les essais de fonctionnaltiés en plus à implémenter +
- +
-===== DONE, ce qui fonctionne ===== +
- +
-1) Télécharger le fichier +
- +
-  la version gratuite proposée en téléchargement fonctionne, mais uniquement avec des fichiers installés sur une clef USB (images et vidéos) +
-  La version "payante" mais libre propose l'utilisation de documents trouvés sur le réseau (http ou partagés sur un serveur ou dans un cloud) +
- +
-Voir les liens actifs ici : [[https://ladoc.cemea.org/doku.php?id=dsi:tv_diffus_raspberrys|https://ladoc.cemea.org/doku.php?id=dsi:tv_diffus_raspberrys]] +
- +
-2) Extraire le Zip +
- +
-3) Avec BalenaEtcher ou autre logiciel, graver le fichier .img sur une carte micro SD +
- +
-4) Puis l'insérer dans une Raspberry Pi et la redémarrer avec un cable réseau. +
- +
-===== Prise en main ===== +
- +
-Utilisateur par défaut (compte sudo) : ''pi'' \\ Mot de passe : ''live'' +
- +
-Par défaut la version démarre sur un diaporama, pour l'interrrompre, lors d'une transition passer sur une console avec Ctrl-alt F2 ou F3 et s'identifier avec le compte ''pi''  (mdp : ''live''+
- +
-Puis taper : +
-<code> +
- +
-sudo systemctl stop rs +
- +
-</code> +
- +
-Si on a l'IP du raspberry (par exemple à l'AN en regardant sur pfsense les lease DHCP), on peut se connecter dessus : +
- +
-<code> +
-ssh pi@10.1.9.X +
- +
-</code> +
- +
-^Numéro d'inventaire^IP à l'AN +
-|83-17766-rpi1  |10.1.9.209| +
-|83-17767-rpi2  |10.1.9.207| +
-|83-17761-rpi3  |10.1.9.208| +
-|83-17768-rpi4  |10.1.9.210| +
- +
-===== Préparation ===== +
- +
-Quelques astuces avant de l'utiliser, en supposant que la connexion réseau est opérationnelle. +
- +
-D'abord mettre à jour raspi-config (la version dans l'image rs-13.1-donors.img est assez vieille, les menus ne sont pas les mêmes). On fait la mise à jour à la main car raspi-config ne peut le faire lui même : la Suite de buster est passé de "testing" à "oldstable" (et oui, l'image date de quand buster était la testing, c'est pas tout récent). +
- +
-(Bien penser à répondre "y" aux questions de changements de suite debian) +
-<code> +
- +
-sudo apt update # Répondre y +
- +
-</code> +
- +
-1) lancer +
- +
-<code> +
-sudo raspi-config +
- +
-</code> +
- +
-Choisir ''update raspi-config''  avant de faire la suite +
- +
-3) Options à activer depuis le menu raspi-config : +
- +
-  * 1 System Options : +
-      * S2 : Audio : force headphone (si besoin de muet) +
-      * S3 : changer le mot de passe de l'utilisateur pi; +
-      * S4 : hostname : à personnaliser comme rpi1 +
-      * S6 : Network at boot ? No (disabled) +
-  * 2 Display Options +
-      * D1 : Résolution à changer si besoin ? +
-  * 3 Interfaces Options : +
-      * P2 SSH enable Yes : (si désactivé) +
-  * 4 Performance Options : +
-      * P2 : GPU Memory : 128 Mo +
-  * 5 Localisation Options : +
-      * L1 : Locale : fr_FR.UTF-8 (décocher "en") et valider "fr_FR.UTF-8" +
-      * L2 : Timezone : "Europe / Paris", +
-      * L3 : KeyBoard Layout : il va choisir automatiquement un keyboard layout adapté au français (donc AZERTY) +
-  * 6 Advanced Options : +
-      * A1 : "expand filesystem" pour augmenter la taille disponible au maximum sur la partition, +
-      * A4 : Network Interface name Predictable : No (on conserve les noms eth0, wlan0..) +
-  * 8 Update +
-      * mettre à jour raspi-config : update +
-  * Finish pour quitter +
- +
-Et avant de redémarrer, afficher son IP et tester la connexion en ssh : +
- +
-<code> +
-ssh pi@10.1.9.x +
- +
-</code> +
- +
-3) Lancer une mise à jour complète : +
- +
-<code> +
-sudo apt update # vérifie les différences entre paquets locaux et distants +
-sudo apt upgrade # mets à jour les nouveaux paquets +
-sudo apt dist-upgrade # mets à jour les noyaux +
-sudo apt autoremove # supprime les paquets "inutiles" +
- +
-</code> +
- +
-soit en une ligne : +
- +
-<code> +
-sudo apt -y update && apt -y dist-upgrade && sudo apt -y autoremove +
- +
-</code> +
- +
-==== Ajout de configuration Réseau ==== +
- +
-=== Wifi en DHCP === +
- +
-Editer le fichier de config ''/etc/network/interfaces'' et le remplacer par +
- +
-<code> +
-source-directory /etc/network/interfaces.d +
-</code> +
- +
-Ensuite, lancer  +
-<code> +
-raspi-config +
-</code> +
- +
-Et aller dans "System Options" > "Wireless LAN", rentrer le SSID et le mot de passe +
- +
- +
-=== Wifi et IP statique === +
- +
-Remplacer le fichier /etc/network/interfaces par le simple contenu : +
- +
- +
-<code> +
-source-directory /etc/network/interfaces.d +
-</code> +
- +
-Modifier ''/etc/wpa_supplicant/wpa_supplicant.conf'' +
- +
-Et rajouter : +
- +
-<code> +
-country=FR +
-network={ +
-    ssid="SSIDdemonwifi" +
-    psk="Motdepasseduwifi" +
-+
- +
-</code> +
- +
-Puis dans ''/etc/dhcpcd.conf'', rajouter la config de l'IP fixe : +
- +
-<code> +
-interface wlan0 +
-static ip_address=192.168.5.201/24 +
-static routers=192.168.5.1 +
-static domain_name_servers=10.1.9.1 +
- +
-</code> +
- +
-Puis lancer pour activer le dhcpcd (client DHCP) +
- +
-<code> +
-sudo systemctl enable dhcpcd +
- +
-</code> +
- +
-Tester la connexion SSH à distance à travers le wifi par exemple. +
- +
-<code> +
-ssh pi@192.168.5.201 # ou 202 - 203 +
- +
-</code> +
- +
-===== Fonctionnement général ===== +
- +
-Placer les fichiers sur une clef USB à la racine (pas de sous-dossiers) et placer la clef dans le Raspberry-Slideshow. +
- +
-Le programmeau démarrage vérifie si la clef USB contient des documents et les copie dans /var/lib/rs/ +
- +
-Puis il les affiche en continu. Depuis la version 13, la clef est démontée une fois les fichiers copiés. +
- +
-Au second redémarrage, il n'est donc plus nécessaire de laisser la clef USB. +
- +
-===== Configuration ===== +
- +
-Il est possible de paraméter certaines options dans le fichier ''/etc/rs.conf''  (comme DEBUG="y" pour voir les logs dans ''/var/log/rs.log''+
- +
-D'autres options d'accès sont paramétrables avec un fichier media.conf à placer dans la clef USB ou dans le dossier ''/var/lib/rs/'' +
- +
-Les scripts se trouvent dans ''/usr/lib/rs/'' +
- +
-Accéder au menu de configuration avec +
- +
-<code> +
-raspi-config +
- +
-</code> +
- +
-La résolution de la tv de l'accueil est en 1920×1080 50Hz 16:9 +
- +
-==== SSH ==== +
- +
-La version gratuite n'a pas de SSH activé. Il faut l'activer avec raspi-config en local (ou en créant un fichier vide nommé ''ssh''  à la racine de / depuis la carte SD par exemple) +
- +
-==== Activation d'un splashscreen ==== +
- +
-Par défaut, le démarrage est verbeux. Solutions possibles : +
- +
-[[https://yingtongli.me/blog/2016/12/21/splash.html|https://yingtongli.me/blog/2016/12/21/splash.html]] +
- +
-Dans /boot/cmdline.txt, compléter la ligne avec : +
-<code> +
- +
-logo.nologo consoleblank=0 loglevel=1 quiet +
- +
-</code> +
- +
-Rajouter le fichier ''/etc/systemd/system/splashscreen.service'' +
- +
-<code> +
-[Unit] +
-Description=Splash screen +
-DefaultDependencies=no +
-After=local-fs.target +
- +
-[Service] +
-ExecStart=/usr/bin/fbi -d /dev/fb0 --noverbose -a /opt/splash.png +
-StandardInput=tty +
-StandardOutput=tty +
- +
-[Install] +
-WantedBy=sysinit.target +
- +
-</code> +
- +
-Copier le fichier splash voulu dans **/opt/splash.png (à distance)** +
- +
-Activer le service +
- +
-<code> +
-sudo systemctl enable splashscreen +
- +
-</code> +
- +
-==== Extinction automatique à certains moments (si besoin) ==== +
- +
-A heures précises, on peut éteindre le Raspberry. Mais il faudra le rallumer manuellement. (Voir procédure plus bas pour ne pas éteindre le raspberry). +
- +
-<code> +
-sudo crontab -e +
- +
-</code> +
- +
-Et rajouter pour lancer l'extinction à 21h : +
- +
-<code> +
-0 21 * * * /sbin/shutdown -P now +
- +
-</code> +
- +
-==== Extinction / allumage de l'affichage ==== +
- +
-[[https://www.instructables.com/id/Raspberry-Pi-Wall-Display-Without-X-Windows/|https://www.instructables.com/id/Raspberry-Pi-Wall-Display-Without-X-Windows/]] +
- +
-L'idéal est de ne pas l'éteindre, mais de mettre l'affichage en noir et de le relancer à une heure précise. C'est fait ! +
-<code> +
- +
-sudo nano /etc/crontab +
- +
-</code> +
- +
-<code> +
-0 18 * * * root systemctl stop rs.service && vcgencmd display_power 0 # arret de diffusion et extinction de l'écran à 18h +
-30 8 * * mon,tue,wed,thu,fri root vcgencmd display_power 1 && sleep 3 && systemctl start rs.service # allumage du lundi au vendredi +
-0 9 * * sun,sat root /sbin/reboot # reboot à 9h chaque samedi et dimanche matin +
- +
-</code> +
- +
-Et relancer le service cron pour le prendre en compte +
- +
-<code> +
-sudo systemctl restart cron +
- +
-</code> +
- +
-==== Accès Partage réseau ==== +
- +
-Il est possible d'utiliser l'accès à un partage réseau pour déposer du contenu à diffuser +
- +
-Il est nécessaire de créer un fichier sur la clef USB (ou ailleurs dans un [[https://www.binaryemotions.com/raspberry-slideshow-download/|fichier media.conf]] à créer dans ''/var/lib/rs/''  ), contenant par exemple : +
-<code> +
- +
-# Fichiers statiques à ajouter +
- +
-url: https://www.binaryemotions.com/rs-default-media/verona.san-zeno.jpg +
-url: https://www.binaryemotions.com/rs-default-media/verona.arena.jpg +
- +
-# Server-managed inventory : liste distante de fichiers +
-serverlist: https://www.binaryemotions.com/rs-default-media/images.txt +
- +
-# Samba share : partage réseau +
-smb.share: //ipserveur/partages/cemea-ffe/ressources/films +
-smb.username: ffe +
-smb.password: motdepasse +
- +
-# Dropbox key. +
-dropbox: clef_personnelle_du_compte +
- +
-# Refresh time in seconds. +
-refresh: 600 +
- +
-</code> +
- +
-Cas de l'AN : définir un utilisateur dédié "tvaccueil" qui accèdera au dossier partagé "TV-Accueil"+
- +
-Editer le fichier ''/var/lib/rs/media.conf'' +
- +
-<code> +
-# Samba share : partage réseau +
-smb.share: //10.1.9.1/partages/TV-ACCUEIL/ +
-smb.username: tvaccueil +
-smb.password: motdepasse +
- +
-# Refresh time in seconds. +
-refresh: 600 +
- +
-</code> +
- +
-Et redémarrer le service rs : +
- +
-<code> +
-systemctl restart rs +
- +
-</code> +
- +
-==== Réduire le temps d'affichage des infos réseau au démarrage ==== +
- +
-Modifier la valeur de 10 à 0 dans ''/etc/rs.conf'' +
- +
-<code> +
-INFORMATIONAL_SCREEN_WAIT=0 +
- +
-</code> +
- +
-==== Hack pour allonger délai ==== +
- +
-Rajouter dans ''/etc/rs.conf'' +
- +
-<code> +
-# delay avant lancement du script pour prise en main +
-BOOT_DELAY=120 +
- +
-</code> +
- +
-Et dans ''/usr/lib/rs/rs.sh''  après : +
- +
-<code> +
-loadComponents +
- +
-</code> +
- +
-<code> +
-# ajout de delay +
-if [ -z ${BOOT_DELAY x} ]; then +
-        sleep $BOOT_DELAY +
-fi +
- +
-</code> +
- +
-Cacher le message d'affichage : +
- +
-<code> +
-echo "Initializing, please wait...">/dev/tty1 +
- +
-</code> +
- +
-==== Clavier en azerty en direct ==== +
- +
-<code> +
-sudo nano /etc/default/keyboard +
- +
-</code> +
- +
-Et remplacer "gb" par "fr" si ce n'est pas déjà le cas : +
- +
-<code> +
-XKBLAYOUT="gb" +
-XKBLAYOUT="fr" +
- +
-</code> +
- +
-===== Relancer manuellement le service ===== +
- +
-Voici les étapes à respecter pour relancer le diaporama : +
- +
-<code> +
-systemctl stop rs # service qui diffuse le diaporama +
-systemctl start rs # service qui relance le diaporama +
- +
-</code> +
- +
-Il est possible de consulter la liste des images diffusées en utilisant : +
- +
-<code> +
-journalctl -u rs.service +
- +
-</code> +
- +
-Parcourir le fichier de log avec les flèches du clavier ou espace (pgdown) et "q" pour quitter le fichier. +
- +
-===== Spécificités Fife ===== +
- +
-==== Config serveur ==== +
- +
-On va faire un CT très simple, fife-diapos.potiron, qui pointe sur fife-diapos.cemea.org, qui va nous servir à accueillir toutes les images à diffuser, ainsi que les serverlist pour rpi slideshow. +
- +
-Notre nginx.conf est simplissime : +
-<code> +
-server { +
- listen 80; +
- root /var/www/html; +
- +
- index index.html index.htm index.nginx-debian.html; +
- +
- server_name fife-diapos.cemea.org; +
- +
- location +
- try_files $uri $uri=404; +
-+
-+
-</code> +
-==== Rpi3 (devant salles) ==== +
- +
-Raspberry du jour pour diffusion devant les salles, tourne en boucle : Raspi du jour (branché sur l'écran du cinéma à côté du programme de films classiques) +
- +
-IP : filaire et wifi : 192.168.3.110 - 192.168.95.7 +
- +
-<WRAP center round important 60%> +
-À modifier si besoin +
-</WRAP> +
- +
-Voir [[https://gitlab.cemea.org/cemeasi/fife-diapos]] pour création des fichiers de listes, des dossiers des affiches ... L'idée est la suivante : +
- +
-  Le rPi est configuré pour récupérer un .txt au démarrage, et récupérer une liste de fichiers à partir de ça +
-  On a la main sur le serveur, en mettant à jour ce .txt, on sait qu'au prochain démarrage du rPi il récuperera les bons fichiers +
-  * On configure le rPi pour reboot tous les matins à 8h, pour qu'il puisse récupérer les bons fichiers +
-  * On évite le paramètre media.refresh de rpi slideshow, qui n'est pas bien fonctionnel, et fait que le rPi s'arrête de fonctionner en plein milieu de la journée sans raison +
-  * Au besoin, si on veut forcer une modif à la main, il suffit de reboot le rPi +
- +
-Configurer : +
-<code> +
-serverlist: http://fife-diapos.cemea.org/ecran-cinema/ecran-cinema.txt +
-</code> +
- +
-<WRAP center round important 60%> +
-Important ! Avec cette méthode, il faut donc le soir penser à mettre à jour le .txt sur le serveur fife-diapos (en changeant le lien symbolique, c'est détaillé dans le repo) +
-</WRAP> +
- +
- +
-**Modif de la crontab** +
- +
-sudo crontab -e +
- +
-<code> +
-0 8 * * * /usr/sbin/reboot +
-</code> +
- +
- +
- +
-==== Rpi4 : Raspi du jour (salle staff/VIP) ==== +
- +
-IP : wifi : 192.168.95.8 +
- +
-- planning du jour dans : +
- +
-serverlist: [[https://fife-diapos.cemea.org/salle-staff/salle-staff.txt]] +
- +
-**Modif de la crontab** +
- +
-sudo crontab -e +
- +
-<code> +
-0 8 * * * /usr/sbin/reboot +
-</code> +
- +
- +
- +
  • technique/raspberryslideshow.txt
  • Dernière modification : 2024/04/02 15:08
  • de 127.0.0.1