RPi-piDeskboard
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
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.
Étapes d'installation
Suivez c'est é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 sudo cp /home/pi/pideskboard/__install/home/_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
Installation des packages
sudo apt update sudo apt upgrade -y sudo apt install -y screen git wget apache2 php php-cli php-imap php-curl php-xml php-xmlrpc samba espeak php libapache2-mod-php sudo dpkg -i mbrola.deb sudo apt install -y mbrola-fr* sudo apt install -y --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox sudo apt install -y python-gi-dev yasm python3-dev python-gi python-gi-cairo python3-gi python3-gi-cairo gir1.2-gtk-3.0 python3-gst-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-tools gstreamer1.0-gtk3 libgirepository1.0-dev 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
Configuration du système
Apache : Serveur pour les données et UI Web
sudo sed -i 's|/var/www/html|/home/pi/pideskboard/www|g' /etc/apache2/sites-enabled/000-default.conf sudo sed -i 's|/var/www|/home/pi/pideskboard|g' /etc/apache2/apache2.conf
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.php" de l'interface Web, 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.php
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.php" 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.
Utiliser ailleurs
Vous pouvez pointer n'importe lequel navigateur récent sur http://<ip-ou-hostname-du-pi>/ pour consulter la version Web.
Structures
Voici la structures des fichiers
- piDeskboard (dans /home/pi)
- sh : Scripts Bash
- py : Fichiers Python
- ui : Interface principal local
- www : Dossiers des fichiers Web et PHP
- ui : Fichiers d'interface
- sys : Fichiers système
- configs : Fichiers configurables
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
.
/pidesk/sh/cli_bt.sh
: Connexion du Bluetoot (à éditer également, voir guide sur utilisation du Bluetooth en CLI)/pidesk/sh/cli_icon.sh <time in ms> <iconname>
: Si vous avez l'option de "pngview" de la suite "raspidmx"/pidesk/sh/cli_talk.sh <packlang> <text>
: Pour faire parler votre Raspberry, utilise eSpeak/pidesk/sh/cli_deskboard.sh
: Lancer l'application sur l'écran principal/pidesk/sh/cli_splash.sh
: Affiche une image d'attente (fullscreen)/pidesk/sh/cli_checkScript.sh <espeak|cron>
: Vérifie si le script PHP CLI correspondant est lancé/pidesk/sh/cli_checkApp.sh
: Vérifie si l'interface est active/pidesk/sh/cli_killApp.sh
: Si l'interface est active, il la tue et le redémarre à nouveau/pidesk/sh/cli_monError.sh
: Monitorise les erreurs d'Apache2/pidesk/sh/cli_monDB.sh
: Monitorise les activités dans le dossiers des "configs" et autres/pidesk/sh/dm_monitor.sh
: Lance les moniteurs/pidesk/sh/dm_start.sh
: Lance le piDeskboard en autologin
Modifier l'écran de démarrage
à venir
Personnaliser le design
à venir
Problèmes connus
à venir