Script: Horloge vidéo
Matériel nécessaire
- une raspberry pi
- une carte sd
- un écran
- En option : un module RTC pour conserver l'heure quand la rpi est éteinte.
Installation
Flasher Rpi OS lite
Flasher une image de Rpi OS lite sur une carte SD.
Préparation du système : SSH, Clavier, autologin et montage USB
- Au démarrage, se connecter avec les identifiants par défaut:
Le clavier étant en qwerty par défaut, il faut tapper 'q' à la place de 'a'
login: pi
password: raspberry
- activer le ssh, le login automatique et changer le mappage du clavier avec la commande
raspi-config
.
1.System options > Boot / Auto login > console automatic login
5.Localisation Options > Keyboard > Generic 105-key > Other > French > Right Alt > Right Ctrl
3.Interface Options > SSH > enable SSH
Installation du lecteur vidéo 'omxplayer'
sudo apt update
sudo apt install -y omxplayer
Montage automatique des périphériques USB
- Installer le support pour NTFS et exFat:
sudo apt install -y ntfs-3g exfat-fuse
- Installation de usbmount pour monter automatiquement le stockage usb:
sudo apt install -y usbmount
- Configurer usbmount en éditant le fichier
/etc/usbmount/usbmount.conf
Ajouter Ă la ligne :FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus"
les systèmes de fichiers
ntfs
etexfat
:FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus ntfs exfat"
- Réparer usbmount:
sudo mkdir /etc/systemd/system/systemd-udevd.service.d sudo nano -w /etc/systemd/system/systemd-udevd.service.d/00-my-custom-mountflags.conf
Insérer le contenu suivant dans ce fichier :
[Service] PrivateMounts=no
puis relancer le service usbmount :
sudo systemctl daemon-reexec sudo service systemd-udevd restart
Par défaut, les supports USB seront montés dans /media/usbX
ou X est un nombre de 0 Ă 7.
Vérification du montage
Pour vérifier que le système de fichier est monté, utiliser la commande df
:
df -h | grep usb
/dev/sda1 7.2G 6.5G 732M 91% /media/usb0
Installation du script videoclock
- Créer le script dans le dossier utilisateur de
pi
par défaut :
cd /home/pi
wget https://wiki.arthus.net/assets/videoclock.sh
chmod +x videoclock.sh
Copie des vidéos
Copier les vidéos dans le dossier utilisateur /home/pi/
. Le script cherche par défaut des fichiers dont le nom suit le schéma HHMM.mp4
, HH
étant l'heure (0-24) et MM
les minutes (0-60).
Pour copier les fichiers vidéos de type *.mp4
de la clé sur la carte sd :
cp /media/usbX/*.mp4 /home/pi
Adapter le 'usbX' pour correspondre au point de montage réel du support usb.
Démarrage automatique du script au lancement de la rpi
Éditer le fichier /etc/rc.local
et y ajouter la ligne suivante ; /home/pi/videoclock.sh
:
# ajout de la ligne
echo "/home/pi/videoclock.sh" | sudo tee -a /etc/rc.local
# ajout du bit d'éxecution'
sudo chmod +x /etc/rc.local
Redémarrer la rpi.
sudo reboot
Le script
#!/bin/bash
# By default, videos should be in the /home/pi/ folder with this script.
# Be sure to set the execution bit with : chmod +x videoclock.sh
# Put that line in /etc/rc.local
# /home/pi/videoclock.sh
# Optionnaly, you can use :
# setsid /home/pi/videoclock.sh >/dev/null 2>&1 < /dev/null &
# to run the script as a daemon.
# Video file extension
EXT=".mp4"
# Video files path
VIDEOFILESFOLDER="./"
# Video player command
# RPI's omxplayer is used as default
PLAYER="omxplayer"
# PLAYER="mpv"
# Keep track of old time
OLTIME="0000"
while true; do
# Get date in format HHMM
TIME=`date +"%H%M"`
# Get seconds for offset
OFFSET=`date +"%S"`
if [ -f $VIDEOFILESFOLDER$TIME$EXT ] && [ $TIME != $OLTIME ] ;then
OLTIME=$TIME
if [ $PLAYER == "omxplayer" ];then
$PLAYER -l 00:00:$OFFSET $OLTIME$EXT &
elif [ $PLAYER == "mpv" ];then
$PLAYER --start=00:$OFFSET $OLTIME$EXT &
fi
else
echo "No video to load, waiting a bit..."
fi
sleep 10
done
Image disque
Une image disque pré-configurée est disponible ici :
https://wiki.arthus.net/assets/videoclock-2021-09-01.7z
Au premier lancement, il est nécessaire :
- d'étendre le système de fichier à la taille de la carte SD :
sudo raspi-config
6 Advanced options > A1 Expand Filesystem
puis redémarrer. - d'installer
omxplayer
:sudo apt install -y omxplayer
Sources
https://raspberrypi.stackexchange.com/questions/100312/raspberry-4-usbmount-not-working/107449#107449
https://stackoverflow.com/questions/19233529/ddg#19235243
http://cl-rpi.fr/index.php/2017/09/30/module-rtc-ds1307-installer-configurer-horloge-externe-raspberry-pi/