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 " | + | |
- | + |