Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| technique:raspitv-accueil [2021/05/06 00:54] – francoisa | technique:raspitv-accueil [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Raspberry TV-Accueil ====== | + | **Cette |
| - | + | ||
| - | Le projet repose sur l' | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | * Un raspberry connecté | + | |
| - | * RS : RaspberrySlideShow, | + | |
| - | * RaspiTV : une appli qui vient piocher les infos dans Booked et les affiche de manière personnalisée | + | |
| - | + | ||
| - | ===== Préparation - Installation ===== | + | |
| - | + | ||
| - | - Installation de l' | + | |
| - | - Sur un Raspberry, installation du système [[.: | + | |
| - | - Sur le même Raspberry, installation du [[.: | + | |
| - | - Connexion entre le RaspiTV et l' | + | |
| - | + | ||
| - | ===== Installation du code pour API sur le serveur Web - Booked ===== | + | |
| - | < | + | |
| - | + | ||
| - | apt-get install git curl python3-pip | + | |
| - | mkdir -p / | + | |
| - | git clone https://code.cemea.org/francois.audirac/raspitv.git | + | |
| - | pip3 install flask flask_restful mysql.connector | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Correction des paramètres de connexions à la base de données (dans .env) issus du fichier / | + | |
| - | + | ||
| - | Et lancement de l'API : | + | |
| - | + | ||
| - | < | + | |
| - | ./ | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Test local de l'API : | + | |
| - | + | ||
| - | < | + | |
| - | curl http:// | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Doit renvoyer la date de dernière mise à jour de la base : | + | |
| - | + | ||
| - | < | + | |
| - | "2020-09-30 22: | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ===== Installation du code pour planning sur le Raspberry - raspitv ===== | + | |
| - | + | ||
| - | < | + | |
| - | apt-get install git curl python3-pip | + | |
| - | + | ||
| - | mkdir /srv && cd /srv | + | |
| - | + | ||
| - | git clone https:// | + | |
| - | + | ||
| - | pip3 install flask weasyprint requests | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Modifier les paramètres d' | + | |
| - | + | ||
| - | Et lancer le service pour vérifier que la connexion fonctionne | + | |
| - | + | ||
| - | ===== Config .env en production ===== | + | |
| - | + | ||
| - | < | + | |
| - | PRODENV=" | + | |
| - | + | ||
| - | # Utilisé sur le serveur Web | + | |
| - | APIBKD_DB=" | + | |
| - | APIBKD_USER=" | + | |
| - | APIBKD_PWD=" | + | |
| - | + | ||
| - | # Utilisé sur le raspi | + | |
| - | IPWEB=" | + | |
| - | # DEBUG : jour fixe | + | |
| - | MYDAY=" | + | |
| - | + | ||
| - | DELAYSLEEP=60 | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ===== Comment ça marche ? ===== | + | |
| - | + | ||
| - | 1) Booked fonctionne sur le mode d'une appli Web avec PHP & une base de données MySQL dont la structure reste technique. | + | |
| - | + | ||
| - | Une partie du [[https:// | + | |
| - | + | ||
| - | [[http:// | + | |
| - | < | + | |
| - | + | ||
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | }, | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ==== Installation et services en détail de l'API ==== | + | |
| - | + | ||
| - | - le code est placé dans /srv/raspitv | + | |
| - | + | ||
| - | - Personnaliser le .env (issu du .env.example) pour se connecter à la base de données. | + | |
| - | + | ||
| - | - installer le service **apibkd.service** | + | |
| - | + | ||
| - | - le service doit alors répondre aux requêtes web : [[http:// | + | |
| - | + | ||
| - | Voir procédure technique : [[https:// | + | |
| - | + | ||
| - | 2) Du côté du Raspberry, un script permanent diffuse un diaporama à partir d' | + | |
| - | + | ||
| - | Le code du projet propose un script | + | |
| - | + | ||
| - | ==== Installation et services en détail de la diffusion sur la TV ==== | + | |
| - | + | ||
| - | - le code est placé dans / | + | |
| - | + | ||
| - | - Personnaliser le **.env** | + | |
| - | + | ||
| - | - Personnaliser le fichier **/ | + | |
| - | + | ||
| - | - installer le service **raspitv.service** | + | |
| - | + | ||
| - | - le fichier / | + | |
| - | + | ||
| - | Voir [[: | + | |
| - | + | ||
| - | ==== Déroulement des étapes sur le raspberry rpi1 ==== | + | |
| - | + | ||
| - | 1) lors du démarrage (rpi ou service raspitv), lancement de rapitvdifff.sh : si le planning est absent, on copie un planning noir pour avoir au moins une image à diffuser (TODO : mettre autre chose = logo CEMEA ?) | + | |
| - | + | ||
| - | 2) On stoppe le diaporama (il est peut-être lancé) et on arrête la diffusion sur HDMI. | + | |
| - | + | ||
| - | 3) On lance plangen.py pour générer le planning qui est généré régulièrement selon les modifications. Ce programme est sensé tourner en permanence. | + | |
| - | + | ||
| - | 4) On ouvre la diffusion sur HDMI et 3 secondes après on lance le diaporama. | + | |
| - | + | ||
| - | 5) à intervalles réguliers (9h, 17h, week-end), on arrête la diffusion sur HDMI et le diaporama. Et le matin on relance la diffusion et le diaporama (rs). | + | |
| - | + | ||
| - | ===== Utilisation - vérifications - commandes ===== | + | |
| - | + | ||
| - | En cas de modification du code, voici les étapes à respecter pour relancer le diaporama : | + | |
| - | < | + | |
| - | + | ||
| - | systemctl stop rs # service qui diffuse le diaporama | + | |
| - | systemctl stop raspitv # service de génération du diaporama | + | |
| - | systemctl start raspitv.service # service qui stoppe l' | + | |
| - | # Pour éteindre / allumer la diffusion sur HDMI | + | |
| - | vcgencmd display_power 0 # éteindre | + | |
| - | vcgencmd display_power 1 # pour allumer l' | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Pour info, par défaut, le nouveau planning est généré sous forme d' | + | |
| - | + | ||
| - | Le fichier '' | + | |
| - | + | ||
| - | Il est possible de consulter la liste des images diffusées en utilisant : | + | |
| - | + | ||
| - | < | + | |
| - | journalctl -u rs.service # dernier log : q pour quitter | + | |
| - | ou | + | |
| - | journalctl -fu rs.service # pour avoir le flux en continu : Ctrl + C pour quitter. | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Parcourir le fichier de log avec les flèches du clavier ou espace (pgdown) et " | + | |
| - | + | ||