Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Borne d'affichage dynamique 3D

par Mike Da Funk

En ce début d'année scolaire je recycle des solutions employées dans le passé en voulant les améliorer

C'est le cas des bornes d'affichage dynamiques, j'ai décidé d'y intégrer des effets de transitions OpenGL

Au départ je suis parti sur une base Lubuntu 18.04 : les effets 3D de LibreOffice ne fonctionnaient pas et le système figeait sur une diapo. Puis j'ai essayé Ubuntu 10.10 : Effets 3D OK sous OpenOffice mais au bout d'un moment le système revenait sur le bureau. => Ce qui est étonnant est que les deux systèmes précédents fonctionnent nickel dans mon bureau, le soucis doit donc venir de la prise réseau de la borne...

Ubuntu 18.04, pas d'effet 3D dans Impress... 

Finalement le système de borne avec effets 3D fonctionne très bien sur Ubuntu 16.04 + LibreOffice 6.

 

Cela fait depuis 2008 qu'OpenOffice gère les transitions en OpenGL

Contenu du fichier "aide configuration" :

Le principe de cette borne est d'afficher un diaporama LibreOffice partagé sur le réseau

En outre, elle vérifiera toutes les 20 secondes la date de modification de ce fichier.

Si le fichier a été modifié, elle quittera LO, téléchargera le nouveau fichier et relancera LO
Plusieurs bornes peuvent être installées, toutes se synchroniseront sur le fichier partagé

Le projet d'origine vient de là : http://wiki.dane.ac-versailles.fr/index.php?title=Affichage_dynamique_avec_Raspberry_et_LibreOffice_Impress,_dans_un_r%C3%A9seau_Samba
______________________________________________________________________________

Les fichiers nécessaires à l'utilisation de la borne sont :
=> Sur le bureau : script_lanceur_diapo + aide configuration
=> Dans Documents : diapo_erreur (ne pas s'occuper du dossier "affichage_dynamique")
=> Et dans le dossier Images : logiciels_libres.png (fond d'écran)

Niveau NAS ou serveur de partage, chez moi le chemin complet est :
//10.207.XX.XXX/borne-affichage/diaporama-borne.odp

Quelques explications :
=> //10.207.XX.XXX/ c'est l'adresse IP de mon NAS
=> borne-affichage/ c'est le dossier partagé sur mon NAS
=> diaporama-borne.odp c'est le fichier diapo partagé sur mon NAS
______________________________________________________________________________

Du coup, vous n'avez qu'à éditer le script pour l'adapter à votre configuration réseau...
Pour l'éditer, double cliquez sur "script_lanceur_diapo.sh"

Les premières lignes sont assez explicites, à adapter selon votre partage chez vous
Après avoir modifié le script, enregistrez-le et redémarrez la borne pour tester

Si vous avez bien renseigné le script et que vous avez bien partagé diaporama-borne.odp
sur votre réseau (d'où mon fichier exemple prêt à l'emploi), cela devrait fonctionner...
______________________________________________________________________________

Enfin la borne est programmée pour s'éteindre à 18h et 21h, pour modifier l'horaire :
depuis un terminal (ctrl + alt + t), tapez : sudo crontab -e (entrée)
Le mot de passe système est tout simplement la lettre 'r'
                                                            

Voici la première image du diaporama dédié à la borne d'affichage destinée aux élèves

Contenu du fichier "script_lanceur_diapo.sh"

#!/bin/sh


# Pour éviter que l'écran ne s'éteigne au bout d'un certain temps       
xset s off         
xset -dpms

# On attend 2 secondes pour tester si l'arrière plan s'affiche
#sleep 2

# On affiche l'image d'arrière fond pour "masquer" le bureau LXDE de Raspbian.
#feh -Z -F -Y "/home/tech-guyane/Images/logiciels_libres.png" &

# Partie à adapter selon votre configuration réseau
IP_DU_NAS_OU_SERVEUR="10.207.XX.XXX"
DOSSIER_PARTAGE="borne-affichage"
IDENTIFIANT="XXXXXXX"
MDP="XXXXX"

# Initialisation des variables
VERSION_OLD="toto"
PID=""

# On teste toutes 20 secondes si une nouvelle version du diapo est disponible sur le partage et on met à jour si nécessaire ...
while true; do
    
    # On rècupère la date de dernière modification du diaporama, sur le partage Samba
    VERSION_NEW=$(smbclient //$IP_DU_NAS_OU_SERVEUR/$DOSSIER_PARTAGE -U $IDENTIFIANT%$MDP -c 'ls \diaporama-borne.odp' | cut -f 1 | awk '{print $4 $5 $6 $7 $8}')
   
    # Si la diapo sur le partage est plus récent que celui projeté actuellement, on re-télécharge la nouvelle version du diapo puis on la projette
    if [ "$VERSION_NEW" != "$VERSION_OLD" ]
    then
        # On ferme le diapo projeté
        kill "$PID"

        # On attend 2 secondes avant de passer à la suite
        sleep 2

        # On nettoie le répertoire affichage_dynamique avant d'y mettre la nouvelle version du diaporama
        rm -rf "/home/tech-guyane/Documents/affichage_dynamique"
        mkdir "/home/tech-guyane/Documents/affichage_dynamique"
        
                smbclient //$IP_DU_NAS_OU_SERVEUR/$DOSSIER_PARTAGE -U borne%british -c 'get \diaporama-borne.odp /home/tech-guyane/Documents/affichage_dynamique/diaporama-borne_temp.odp'
        sleep 2

                # On relance le diapo uniquement si le téléchargement s'est bien passé, sinon on affiche un message d'erreur
        if [ -e "/home/tech-guyane/Documents/affichage_dynamique/diaporama-borne_temp.odp" ]
        then
            mv -f "/home/tech-guyane/Documents/affichage_dynamique/diaporama-borne_temp.odp" "/home/tech-guyane/Documents/affichage_dynamique/diaporama-borne.odp"
            VERSION_OLD="$VERSION_NEW"
        else
            cp -f "/home/tech-guyane/Documents/diapo_erreur.odp" "/home/tech-guyane/Documents/affichage_dynamique/diaporama-borne.odp"
        fi
        
        # On attend 1 seconde avant de passer à la suite (ce qui fait que les utilisateurs visionnent l'image d'arrière fond pendant 5 secondes au total avant la projection du nouveau diaporama ...)
        sleep 1
        
                # On relance libreoffice avec la nouvelle version du diapo
        libreoffice6.2 --norestore --show "/home/tech-guyane/Documents/affichage_dynamique/diaporama-borne.odp" &
            PID=$(echo "$!");  
        
            # On attend 20 secondes avant la prochaine synchro
        sleep 20
        
    else    
        # Pas de mise à jour du diapo : on attend 40 secondes avant de re-vérifier la synchro
        sleep 40
    fi
done

 

Borne 'télévision' à l'entrée principale du lycée Tarcy

Borne 'télévision' à l'entrée principale du lycée Tarcy

Affichage dynamique à l'entrée de la cantine du lycée Tarcy

Affichage dynamique à l'entrée de la cantine du lycée Tarcy

Une des bornes du batiment C du lycée Tarcy

Une des bornes du batiment C du lycée Tarcy

En espérant que ce billet vous sera utile !

 

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article