Bonjour à tous. J’avais dans mes tiroirs un écran tactile de 7 pouces. Depuis quelques temps, j’avais envie de lui trouver une utilité. Et pourquoi pas avoir accès à l’interface de mon contrôleur Unifi lorsque je suis devant ma baie ? Avec un Raspberry Pi et cet écran, c’est devenu chose possible. Bonus, avec une imprimante 3D, il est possible de l’intégrer à la baie proprement.

0. Ce dont vous avez besoin comme matériel

  • Un Raspberry Pi 3 ou 4
  • Une carte micro SD de minimum 8Go
  • Un câble réseau pour relier votre Raspberry Pi à votre réseau local (mais ça peut être jouable en wifi)
  • Un lecteur de carte micro SD pour préparer votre carte sur votre PC
  • Un écran tactile (7″ minimum pour plus de confort)

1. Les logiciels nécessaires / téléchargements

2. Prérequis

  • Avoir intallé Raspberry Pi OS. Je ne vais pas réinventer la roue. Pour une installation de Raspberry Pi OS, je vous invite à regarder les tutos qui sont nombreux sur internet, l’important étant d’avoir un système d’installé et d’activer le SSH.
  • Avoir installé les drivers de son écran.

3. Installation de Xdotool

Ouvrez un session SSH et dans le terminal inscrivez ce qui suit :

sudo apt-get install xdotool

Xdotool est un programme capable de simuler des événements claviers et souris. Il va nous permettre de rentrer automatiquement notre login et mot de passe.

4. Installation de Unclutter

Comme pour xdotool, tapez ce qui suit dans le terminal :

sudo apt-get install unclutter

Unclutter est une petite application qui masque automatiquement le curseur de la souris. Pour du tactile, inutile de s’embêter avec le curseur de la souris.

5. Création du script pour Xdotool

Afin d’automatiser la connexion à l’interface d’Unifi, on va demander à Xdotool de remplir les différents champs pour nous. Ce sera plus simple que de devoir les remplir soi-même.

Pour ce faire, on va d’abord créer un fichier qui accueillera le script et l’éditer. La commande qui suit se charge de créer le fichier et de vous l’ouvrir

sudo nano ~/chromium-signin.sh

Il ne vous reste plus qu’à coller ce script dans le fichier.

#!/bin/bash
sleep 30
xdotool type "XXXXXXX"
xdotool key Tab
xdotool type "XXXXXXX"
xdotool key Return

Quelques explications :

Sleep 30 permettra au script de ne pas s’exécuter de suite et laissera le temps au navigateur de charger la page web de l’interface.

xdotool type « XXXXXXX » insère votre login dans le champ login. Evidemment, il faut remplacer les X par votre login. Et surtout, laissez les guillements.

xdotool key Tab permettra de simuler un tabulation et ainsi se positionner dans le champs du mot de passe.

xdotool type « XXXXXXX » idem qu’avec le login mais cette fois-ci cela intègre votre mot de passe.

xdotool key Return simule la touche entrée.

Une fois le script copié et modifié, faites un Ctrl+X pour quitter le fichier, la touche O (oui) et Entrée pour valider.

Pour ne pas être embêté par le double authentification, il faut créer et se servir d’un Admin local.

Ensuite, on va rendre ce script exécutable en tapant la commande :

sudo chmod +x chromium-signin.sh

6. Création du script automatisé

Dans Raspberry Pi OS, il y a un fichier qui s’exécute à chaque démarrage. On va s’en servir pour lancer automatiquement notre script. Toujours dans le terminal, on va aller le modifier en tapant :

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Votre fichier s’ouvre et doit très certainement ressembler à ça :

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash

On va donc coller à la suite ces quelques lignes :

@xset s off
@xset -dpms
@xset s noblank
@chromium-browser --noerrdialogs --disable-infobars --kiosk https://XXX.XXX.XXX.XXX/network/default/dashboard
@/home/pi/chromium-signin.sh

Évidemment, vous remplacerez XXX.XXX.XXX.XXX par l’adresse IP locale de votre contrôleur. L’URL est peut-être à adapter en fonction du type de votre contrôleur.

Pour enregistrer votre script, même façon de faire que pour le script précédent. Ctrl+X -> o -> Entrée.

7. Redémarrage et utilisation

Pour terminer, on va tout redémarrer. Pour cela, il suffit de taper :

sudo reboot

Vous serez très certainement confrontés à une petite déconvenue comme Chromium qui veut vous traduire la page. Il suffit de lui dire « Non » en ayant choisi « Jamais pour ce site ». Pour la première utilisation, le mieux est de brancher un clavier et une souris pour faire les premiers réglages (ou installer un serveur VNC).

Pour ceux qui installeraient un écran sans marque, voici un GitHub où vous pourrez trouver très certainement les drivers de votre écran.

https://github.com/goodtft/LCD-show

Pour ma part, j’ai intégré mon écran et mon Raspberry Pi à l’aide d’une platine fabriquée avec une imprimante 3D. Si besoin, n’hésitez pas à me contacter sur le serveur Discord, je vous donnerez mes fichiers. Bonne installation !

Categories:

No responses yet

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.