RPi-piDeskboard : Différence entre versions
(→Note: Écran Raspberry Pi 3.5", 5", 7") |
|||
(17 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 12 : | Ligne 12 : | ||
Toutes les actions doivent ce passer en mode SSH car le Pi sera transformé en panneau d'affichage, alors habituez-vous dès maintenant en y connectant que l'essentiel. | Toutes les actions doivent ce passer en mode SSH car le Pi sera transformé en panneau d'affichage, alors habituez-vous dès maintenant en y connectant que l'essentiel. | ||
− | == | + | == Installation Automatique == |
− | + | Vous pouvez installer depuis le script du package; | |
− | + | wget https://raw.githubusercontent.com/levelKro/pideskboard/main/__install/install.sh | |
− | + | chmod +x ./install.sh | |
− | + | ./install.sh | |
− | |||
− | |||
− | |||
− | |||
− | == | + | == Installation Manuelle == |
− | Suivez | + | Suivez les étapes avec précautions |
=== Téléchargements de sources externes === | === Téléchargements de sources externes === | ||
Ligne 30 : | Ligne 26 : | ||
git clone --depth=1 https://gitlab.com/DarkElvenAngel/initramfs-splash.git | git clone --depth=1 https://gitlab.com/DarkElvenAngel/initramfs-splash.git | ||
git clone https://github.com/levelKro/pideskboard.git | git clone https://github.com/levelKro/pideskboard.git | ||
− | sudo cp /home/pi/pideskboard/__install | + | |
+ | === Copies des fichiers de piDeskboard === | ||
+ | sudo cp -r /home/pi/pideskboard/__install/_fonts /home/pi/.fonts | ||
sudo cp /home/pi/initramfs-splash/boot/initramfs.img /boot/initramfs.img | sudo cp /home/pi/initramfs-splash/boot/initramfs.img /boot/initramfs.img | ||
sudo cp /home/pi/pideskboard/splash.png /boot/splash.png | sudo cp /home/pi/pideskboard/splash.png /boot/splash.png | ||
sudo cp /home/pi/pideskboard/__install/boot/splash.txt /boot/splash.txt | sudo cp /home/pi/pideskboard/__install/boot/splash.txt /boot/splash.txt | ||
+ | sudo cp /home/pi/pideskboard/__install/systemd/piwebctrl.service /etc/systemd/system/piwebctrl.service | ||
+ | sudo chmod +x /home/pi/pideskboard/sh/*.sh | ||
+ | sudo systemctl enable piwebctrl | ||
+ | cd /home/pi/pideskboard | ||
+ | git remote add upstream https://github.com/levelKro/pideskboard.git | ||
+ | git pull upstream main | ||
=== Configuration du piDeskboard === | === Configuration du piDeskboard === | ||
vous devez configurer les fichiers suivant et dans certains cas les renommer sans le ".dist" à la fin. | vous devez configurer les fichiers suivant et dans certains cas les renommer sans le ".dist" à la fin. | ||
− | * "/home/pi/pideskboard/configs/config.php" ( | + | Vous pouvez le faire durant la prochaine étape des installation des packages. |
+ | * "/home/pi/pideskboard/configs/config.php" (ne pas toucher) | ||
* "/home/pi/pideskboard/configs/db/mail.ini.dist" | * "/home/pi/pideskboard/configs/db/mail.ini.dist" | ||
* "/home/pi/pideskboard/configs/db/weather.ini.dist" (require un code API de OpenWeather) | * "/home/pi/pideskboard/configs/db/weather.ini.dist" (require un code API de OpenWeather) | ||
* "/home/pi/pideskboard/configs/db/radio.ini" | * "/home/pi/pideskboard/configs/db/radio.ini" | ||
− | * "/home/pi/pideskboard/configs | + | * "/home/pi/pideskboard/configs/config.ini" (toutes les configs) |
− | |||
− | |||
=== Installation des packages === | === Installation des packages === | ||
sudo apt update && sudo apt upgrade -y | sudo apt update && sudo apt upgrade -y | ||
sudo apt install -y python3-dev python3-pip yasm wget git samba espeak | sudo apt install -y python3-dev python3-pip yasm wget git samba espeak | ||
− | sudo apt install -y | + | sudo apt install -y php php-cli php-imap php-curl php-xml php-xmlrpc |
− | sudo apt install -y | + | sudo apt install -y python3-gi python3-gi-cairo libgirepository1.0-dev gir1.2-gtk-3.0 python3-gst-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-tools gstreamer1.0-gtk3 python3-opencv python3-numpy |
− | sudo apt install -y gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly-amr | + | sudo apt install -y gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly-amr vlc python3-vlc |
+ | sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox -y | ||
sudo dpkg -i mbrola.deb | sudo dpkg -i mbrola.deb | ||
sudo apt install -y mbrola-fr* | sudo apt install -y mbrola-fr* | ||
− | pip3 install opencv-contrib-python numpy | + | sudo pip3 install opencv-contrib-python numpy python-vlc psutil gpiozero |
=== Configuration du système === | === Configuration du système === | ||
− | |||
− | |||
− | |||
− | |||
====Samba : Partage des fichiers configurables ==== | ====Samba : Partage des fichiers configurables ==== | ||
Ligne 104 : | Ligne 104 : | ||
===Avant de redémarré=== | ===Avant de redémarré=== | ||
− | Vous devez configurer quelques paramètre dans le fichier "config. | + | Vous devez configurer quelques paramètre dans le fichier "config.ini" de l'interface, qui récupère également les donnés affichés. Vous pouvez le faire via le partage Windows ou par ligne de commande. |
====Par ligne de commande==== | ====Par ligne de commande==== | ||
− | * Ouvrez l'éditeur sur le fichier avec cette commande; <pre>nano /home/pi/pideskboard/configs/config. | + | * Ouvrez l'éditeur sur le fichier avec cette commande; <pre>nano /home/pi/pideskboard/configs/config.ini</pre> et éditer le. |
====Par partage Windows==== | ====Par partage Windows==== | ||
Ligne 113 : | Ligne 113 : | ||
* Aller dans "Réseau" et attendez quelques instant, vous devriez voir le nom de votre appareil s'afficher, si vous n'avez pas changé le "hostname" de Raspbian par défaut, vous attendez de voir un "RASPBERRYPI", sinon c'est le nom que vous lui avez donné. | * Aller dans "Réseau" et attendez quelques instant, vous devriez voir le nom de votre appareil s'afficher, si vous n'avez pas changé le "hostname" de Raspbian par défaut, vous attendez de voir un "RASPBERRYPI", sinon c'est le nom que vous lui avez donné. | ||
* Ouvrez votre partage, et entrer également dans le dossier "configs" | * Ouvrez votre partage, et entrer également dans le dossier "configs" | ||
− | * Ouvrez le fichier "config. | + | * Ouvrez le fichier "config.ini" avec l'éditeur de texte de votre choix, si vous ne savez pas lequel, utiliser le Bloc-Note (Notepad). |
==Utilisation== | ==Utilisation== | ||
Ligne 123 : | Ligne 123 : | ||
===Lancement=== | ===Lancement=== | ||
Une fois tout installé, lancer un redémarrage avec ; <pre>sudo reboot</pre>. Si tous est correctement installé, vous devriez voir après quelques minutes l'interface. | Une fois tout installé, lancer un redémarrage avec ; <pre>sudo reboot</pre>. Si tous est correctement installé, vous devriez voir après quelques minutes l'interface. | ||
+ | |||
+ | ===Contrôle à distance=== | ||
+ | Le piDeskboard vient avec le module piWebCtrl. vous pouvez y accéder via le <pre>http://<ip-du-pi>:9000/</pre>. | ||
===Utiliser ailleurs=== | ===Utiliser ailleurs=== | ||
− | + | L'interface Web a été retiré pour gagner en performances. | |
==Structures == | ==Structures == | ||
− | Voici la structures des fichiers | + | Voici la structures des fichiers (principaux) |
* '''piDeskboard''' (dans /home/pi) | * '''piDeskboard''' (dans /home/pi) | ||
Ligne 134 : | Ligne 137 : | ||
** '''py''' : Fichiers Python | ** '''py''' : Fichiers Python | ||
*** '''ui''' : Interface principal local | *** '''ui''' : Interface principal local | ||
− | ** ''' | + | *** '''ctrl''' : Dossiers di piWebCtrl |
− | + | ** '''php''' : Fichiers de collecte et traitement des données | |
*** '''sys''' : Fichiers système | *** '''sys''' : Fichiers système | ||
− | + | ** '''configs''' : Fichiers configurables | |
+ | ** '''__install''' : Fichiers à copier pour l'installation | ||
==Support== | ==Support== | ||
Ligne 147 : | Ligne 151 : | ||
* Pour faire parler votre Raspberry, utilise eSpeak <pre>/pidesk/sh/cli_talk.sh <packlang> <text></pre> | * Pour faire parler votre Raspberry, utilise eSpeak <pre>/pidesk/sh/cli_talk.sh <packlang> <text></pre> | ||
* Lancer l'application sur l'écran principal <pre>/pidesk/sh/cli_deskboard.sh</pre> | * Lancer l'application sur l'écran principal <pre>/pidesk/sh/cli_deskboard.sh</pre> | ||
+ | * Lancer le piWebCtrl <pre>/pidesk/sh/cli_webctrl.sh</pre> | ||
* Affiche une image d'attente (fullscreen) <pre>/pidesk/sh/cli_splash.sh</pre> | * Affiche une image d'attente (fullscreen) <pre>/pidesk/sh/cli_splash.sh</pre> | ||
* Vérifie si le script PHP CLI correspondant est lancé <pre>/pidesk/sh/cli_checkScript.sh <espeak|cron></pre> | * Vérifie si le script PHP CLI correspondant est lancé <pre>/pidesk/sh/cli_checkScript.sh <espeak|cron></pre> | ||
* Vérifie si l'interface est active <pre>/pidesk/sh/cli_checkApp.sh</pre> | * Vérifie si l'interface est active <pre>/pidesk/sh/cli_checkApp.sh</pre> | ||
− | * Si l'interface est active, il la tue et le redémarre à nouveau <pre>/pidesk/sh/ | + | * Si l'interface est active, il la tue et le redémarre à nouveau <pre>/pidesk/sh/cli_restartApp.sh</pre> |
− | * | + | * Tuer l'interface <pre>/pidesk/sh/cli_killApp.sh</pre> |
− | * | + | * Si le piWebCtrl est actif, il le tue et le redémarre à nouveau <pre>/pidesk/sh/cli_restartCtrl.sh</pre> |
+ | * Tuer piWebCtrl <pre>/pidesk/sh/cli_killCtrl.sh</pre> | ||
+ | * Fermer le système avec <pre>/pidesk/sh/cli_poweroff.sh</pre> | ||
+ | * Redémarrer le système avec <pre>/pidesk/sh/cli_reboot.sh</pre> | ||
* Lance les moniteurs <pre>/pidesk/sh/dm_monitor.sh</pre> | * Lance les moniteurs <pre>/pidesk/sh/dm_monitor.sh</pre> | ||
* Lance le piDeskboard en autologin <pre>/pidesk/sh/dm_start.sh</pre> | * Lance le piDeskboard en autologin <pre>/pidesk/sh/dm_start.sh</pre> | ||
=== Modifier l'écran de démarrage === | === Modifier l'écran de démarrage === | ||
− | + | Consulter la page [[RPi-BootScreen]] pour les détails. | |
+ | |||
=== Personnaliser le design === | === Personnaliser le design === | ||
''à venir'' | ''à venir'' | ||
Ligne 163 : | Ligne 172 : | ||
* L'installation n'a pas été testé un nombre de fois pour en assurer la fiabilité et la stabilité, merci de rapporter vos commentaires à ce sujet à levelkro@yahoo.ca. | * L'installation n'a pas été testé un nombre de fois pour en assurer la fiabilité et la stabilité, merci de rapporter vos commentaires à ce sujet à levelkro@yahoo.ca. | ||
* Pour les autres problèmes, référez-vous à https://github.com/levelKro/pideskboard/issues | * Pour les autres problèmes, référez-vous à https://github.com/levelKro/pideskboard/issues | ||
+ | |||
+ | |||
+ | == Mise à jours == | ||
+ | Pour actualiser les codes du PiDeskabord; | ||
+ | cd /home/pi/pideskboard | ||
+ | git pull upstream main | ||
+ | sudo reboot | ||
+ | |||
+ | == Note: Écran Raspberry Pi 3.5", 5", 7" == | ||
+ | Si vous utilisez un écran LCD spécial pour Raspberry Pi; qui ce connect via le GPIO ou autres, et qui fait partie de la librairie "LCD-show", vous devez ABSOLUMENT appliquer ce correctif, sinon vous risquez d'avoir un erreur lors du démarrage du serveur X sous Raspbian Lite. Remplacer "<LCDXX-show>" par l'exécutable requis pour votre matériel, par exemple; LCD35-show, ou MHS35-show. | ||
+ | sudo sed -i 's|sudo reboot|echo "..."|g' /home/pi/LCD-show/LCDXX-show | ||
+ | sudo -s cat >> /home/pi/LCD-show/LCDXX-show << EOF | ||
+ | sudo sed -i 's|fbturbo|fbdev|g' /usr/share/X11/xorg.conf.d/99-fbturbo.conf | ||
+ | sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbdev.conf | ||
+ | sudo reboot | ||
+ | EOF | ||
+ | |||
+ | [[Catégorie:Programmation]] | ||
[[Catégorie:Raspberry Pi]] | [[Catégorie:Raspberry Pi]] |
Version actuelle datée du 29 novembre 2021 à 21:35
Le piDeskboard est un petit ensemble de scripts PHP et python pour transformer un Raspberry PI en panneau d'affichage utile sur le bureau (ou ailleurs ou vous en avez besoin).
L'ensemble des fichiers est constitué de scripts en PHP (maincore+ui), en Python (ui) et en Bash Script (cli)
Sommaire
- 1 Pré-requis
- 2 Installation Automatique
- 3 Installation Manuelle
- 4 Utilisation
- 5 Structures
- 6 Support
- 7 Mise à jours
- 8 Note: Écran Raspberry Pi 3.5", 5", 7"
Pré-requis
- Raspbian OS Lite (décembre 2020 est une bonne version)
- Fichier système étendu ("first run" fait)
- Accès internet et Hostname configuré
- Accès SSH
Toutes les actions doivent ce passer en mode SSH car le Pi sera transformé en panneau d'affichage, alors habituez-vous dès maintenant en y connectant que l'essentiel.
Installation Automatique
Vous pouvez installer depuis le script du package;
wget https://raw.githubusercontent.com/levelKro/pideskboard/main/__install/install.sh chmod +x ./install.sh ./install.sh
Installation Manuelle
Suivez les étapes avec précautions
Téléchargements de sources externes
cd /home/pi wget https://raspberry-pi.fr/download/espeak/mbrola3.0.1h_armhf.deb -O mbrola.deb git clone --depth=1 https://gitlab.com/DarkElvenAngel/initramfs-splash.git git clone https://github.com/levelKro/pideskboard.git
Copies des fichiers de piDeskboard
sudo cp -r /home/pi/pideskboard/__install/_fonts /home/pi/.fonts sudo cp /home/pi/initramfs-splash/boot/initramfs.img /boot/initramfs.img sudo cp /home/pi/pideskboard/splash.png /boot/splash.png sudo cp /home/pi/pideskboard/__install/boot/splash.txt /boot/splash.txt sudo cp /home/pi/pideskboard/__install/systemd/piwebctrl.service /etc/systemd/system/piwebctrl.service sudo chmod +x /home/pi/pideskboard/sh/*.sh sudo systemctl enable piwebctrl cd /home/pi/pideskboard git remote add upstream https://github.com/levelKro/pideskboard.git git pull upstream main
Configuration du piDeskboard
vous devez configurer les fichiers suivant et dans certains cas les renommer sans le ".dist" à la fin. Vous pouvez le faire durant la prochaine étape des installation des packages.
- "/home/pi/pideskboard/configs/config.php" (ne pas toucher)
- "/home/pi/pideskboard/configs/db/mail.ini.dist"
- "/home/pi/pideskboard/configs/db/weather.ini.dist" (require un code API de OpenWeather)
- "/home/pi/pideskboard/configs/db/radio.ini"
- "/home/pi/pideskboard/configs/config.ini" (toutes les configs)
Installation des packages
sudo apt update && sudo apt upgrade -y sudo apt install -y python3-dev python3-pip yasm wget git samba espeak sudo apt install -y php php-cli php-imap php-curl php-xml php-xmlrpc sudo apt install -y python3-gi python3-gi-cairo libgirepository1.0-dev gir1.2-gtk-3.0 python3-gst-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-tools gstreamer1.0-gtk3 python3-opencv python3-numpy sudo apt install -y gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly-amr vlc python3-vlc sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox -y sudo dpkg -i mbrola.deb sudo apt install -y mbrola-fr* sudo pip3 install opencv-contrib-python numpy python-vlc psutil gpiozero
Configuration du système
Samba : Partage des fichiers configurables
sudo -s cat >> /etc/samba/smb.conf << EOF [home$] path = /home/pi guest ok = yes force user = pi force group = pi browseable = yes writable = yes read only = no [configs] path = /home/pi/pideskboard/configs guest ok = yes force user = pi force group = pi browseable = yes writable = yes read only = no EOF
X11 : Interface UI python et lancement des services
Lancement du piDeskboard local
sudo -s cat >> /home/pi/.profile << EOF [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && /home/pi/pideskboard/sh/dm_start.sh EOF
Paramètres de lancement de X11
sudo -s cat >> /etc/xdg/openbox/autostart << EOF xset s off xset s noblank xset -dpms setxkbmap -option terminate:ctrl_alt_bksp DISPLAY=:0 nohup /home/pi/pideskboard/sh/cli_deskboard.sh >/dev/null 2>&1 & EOF
Le "config.txt"
- Ouvrez le "config.txt" avec
sudo nano /boot/config.txt
- Ajouter en début de document
initramfs initramfs.img
Le "cmdline.txt"
- Ouvrez le "cmdline.txt" avec
sudo nano /boot/cmdline.txt
- Ajouter/remplacer en fin de ligne, après "rootwait"
logo.nologo loglevel=0 splash silent quiet
Avant de redémarré
Vous devez configurer quelques paramètre dans le fichier "config.ini" de l'interface, qui récupère également les donnés affichés. Vous pouvez le faire via le partage Windows ou par ligne de commande.
Par ligne de commande
- Ouvrez l'éditeur sur le fichier avec cette commande;
nano /home/pi/pideskboard/configs/config.ini
et éditer le.
Par partage Windows
Si ont vous demande un nom d'utilisateur et mot de passe, utilisez celui de votre Raspberry Pi.
- Ouvrez l'explorateur Windows de votre ordinateur,
- Aller dans "Réseau" et attendez quelques instant, vous devriez voir le nom de votre appareil s'afficher, si vous n'avez pas changé le "hostname" de Raspbian par défaut, vous attendez de voir un "RASPBERRYPI", sinon c'est le nom que vous lui avez donné.
- Ouvrez votre partage, et entrer également dans le dossier "configs"
- Ouvrez le fichier "config.ini" avec l'éditeur de texte de votre choix, si vous ne savez pas lequel, utiliser le Bloc-Note (Notepad).
Utilisation
Accès au partage
Le Raspberry Pi sera totalement ouvert aux accès sans restriction, vous pouvez accéder via le partage de Windows à l'adresse
\\<ip-ou-hostname-du-pi>\
et les deux partages suivants sont possibles;
- \Configs : Accessible par tous, il possède des fichiers pour configurer les données du piDeskboard
- \home$ : (À entrer manuellement) Un partage caché, pour accéder facilement à tout les fichiers disponible dans "/home/pi" du Raspberry Pi.
Lancement
Une fois tout installé, lancer un redémarrage avec ;
sudo reboot
. Si tous est correctement installé, vous devriez voir après quelques minutes l'interface.
Contrôle à distance
Le piDeskboard vient avec le module piWebCtrl. vous pouvez y accéder via le
http://<ip-du-pi>:9000/
.
Utiliser ailleurs
L'interface Web a été retiré pour gagner en performances.
Structures
Voici la structures des fichiers (principaux)
- piDeskboard (dans /home/pi)
- sh : Scripts Bash
- py : Fichiers Python
- ui : Interface principal local
- ctrl : Dossiers di piWebCtrl
- php : Fichiers de collecte et traitement des données
- sys : Fichiers système
- configs : Fichiers configurables
- __install : Fichiers à copier pour l'installation
Support
Quelques commandes à savoir
Pour vous aider avec les commandes, vous pouvez créer un lien symbolique pour un lie facile;
sudo ln -ds /home/pi/pideskboard /pidesk
- Connexion du Bluetooth (à éditer également, voir guide sur utilisation du Bluetooth en CLI)
/pidesk/sh/cli_bt.sh
- Si vous avez l'option de "pngview" de la suite "raspidmx"
/pidesk/sh/cli_icon.sh <time in ms> <iconname>
- Pour faire parler votre Raspberry, utilise eSpeak
/pidesk/sh/cli_talk.sh <packlang> <text>
- Lancer l'application sur l'écran principal
/pidesk/sh/cli_deskboard.sh
- Lancer le piWebCtrl
/pidesk/sh/cli_webctrl.sh
- Affiche une image d'attente (fullscreen)
/pidesk/sh/cli_splash.sh
- Vérifie si le script PHP CLI correspondant est lancé
/pidesk/sh/cli_checkScript.sh <espeak|cron>
- Vérifie si l'interface est active
/pidesk/sh/cli_checkApp.sh
- Si l'interface est active, il la tue et le redémarre à nouveau
/pidesk/sh/cli_restartApp.sh
- Tuer l'interface
/pidesk/sh/cli_killApp.sh
- Si le piWebCtrl est actif, il le tue et le redémarre à nouveau
/pidesk/sh/cli_restartCtrl.sh
- Tuer piWebCtrl
/pidesk/sh/cli_killCtrl.sh
- Fermer le système avec
/pidesk/sh/cli_poweroff.sh
- Redémarrer le système avec
/pidesk/sh/cli_reboot.sh
- Lance les moniteurs
/pidesk/sh/dm_monitor.sh
- Lance le piDeskboard en autologin
/pidesk/sh/dm_start.sh
Modifier l'écran de démarrage
Consulter la page RPi-BootScreen pour les détails.
Personnaliser le design
à venir
Problèmes connus
- L'installation n'a pas été testé un nombre de fois pour en assurer la fiabilité et la stabilité, merci de rapporter vos commentaires à ce sujet à levelkro@yahoo.ca.
- Pour les autres problèmes, référez-vous à https://github.com/levelKro/pideskboard/issues
Mise à jours
Pour actualiser les codes du PiDeskabord;
cd /home/pi/pideskboard git pull upstream main sudo reboot
Note: Écran Raspberry Pi 3.5", 5", 7"
Si vous utilisez un écran LCD spécial pour Raspberry Pi; qui ce connect via le GPIO ou autres, et qui fait partie de la librairie "LCD-show", vous devez ABSOLUMENT appliquer ce correctif, sinon vous risquez d'avoir un erreur lors du démarrage du serveur X sous Raspbian Lite. Remplacer "<LCDXX-show>" par l'exécutable requis pour votre matériel, par exemple; LCD35-show, ou MHS35-show.
sudo sed -i 's|sudo reboot|echo "..."|g' /home/pi/LCD-show/LCDXX-show sudo -s cat >> /home/pi/LCD-show/LCDXX-show << EOF sudo sed -i 's|fbturbo|fbdev|g' /usr/share/X11/xorg.conf.d/99-fbturbo.conf sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbdev.conf sudo reboot EOF