Un écran LCD sur un Raspberry Pi 3B avec Pi-hole installé

Installer Pi-hole avec un écran LCD

Dans cet article, nous allons découvrir comment installer Pi-hole avec un écran LCD.
La référence de l'écran est XPT2046 Touch 3.5" RPI Display 480x320 16bit.

Introduction

Nous allons installer Pi-hole sur un Raspberry PI 3B.

Pi-hole est utilisé pour bloquer les requêtes indésirables et les URL que vous ne voulez pas charger sur le réseau. Il vous protège des trackers et optimise le trafic de votre réseau.

Installation

1. Préparer raspbian

Tout d'abord, flashez votre disque SD depuis Etcher ou une autre application.

Etcher, un logiciel pour flasher vos cartes SD et clés USB pour en faire un bootable

Attendez quelques minutes que le disque soit prêt.

La fin de l'installation sur le logiciel Etcher

2. Mettre à jour les dépendances

Connectez-vous à votre Raspberry Pi et mettez à jour les dépendances.

bash
sudo apt-get update -y && sudo apt-get upgrade -y

Attendez de bonnes minutes... pendant ce temps, buvez un bon cappuccino. ☕

Installez curl et git si ce n'est pas disponible de base sur votre petite machine :

bash
sudo apt-get install curl -y && sudo apt-get install git -y

3. Installer Pi-hole v5

Puis, quand tout est bon, vous pouvez commencer à installer Pi-hole.

Vous pouvez cloner depuis le dépôt de Pi-hole ou directement curl avec cette commande :

bash
curl -sSL https://install.pi-hole.net | bash

Quand on vous demande si vous voulez installer sur votre Raspberry et mettre en IP statique, cochez oui, et souvenez-vous de l'IP.

Installation de Pi-hole

Choisissez ensuite votre DNS préféré. Vous pouvez en mettre plusieurs si vous le désirez. C'est modifiable après l'installation.

Installation de Pi-hole et son DNS

Vous pouvez sélectionner des listes de blocage :

Installation de Pi-hole et son DNS part. 2

✨ J'ai d'ailleurs une liste énorme avec plus de 1 000 000 domaines/IP bloquées.
Le dépôt de cette liste sur GitHub.
N'hésitez pas à ajouter vos propres domaines/IP.

Il vous demandera également si vous souhaitez un panel web.
Je vous recommande fortement de laisser validé afin que vous puissiez de n'importe où dans le réseau local vous connecter au Raspberry Pi
avec un mot de passe et gérer votre DNS/liste noire et voir vos statistiques.

4. Configuration du panel web

Dès que vous avez terminé l'installation de Pi-hole, il vous donnera l'adresse de l'hôte local et le mot de passe généré.

Pour modifier le mot de passe :

bash
sudo pihole -a -p

Ceci est un aperçu du panneau lorsque vous êtes connecté 🎉

Aperçu du panel web sur Pi-hole

Mettre en place l'écran LCD

La partie la plus compliquée est là !
Il se peut que certaines choses que j'ai écrites ne marche pas avec vous, ou qu'il n'est pas indispensable de faire.

1. Installer l'écran LCD sur le Raspberry Pi

Partie simple à réaliser, il suffit de mettre sur les branches du RPI le Display.
J'ai trouvé une vidéo YouTube qui vous démontre comment la positionner.

2. Installer PADD

PADD est un logiciel qui permet de voir les données transmises par Pi-hole sur votre écran.

Le projet a été repris par Pi-hole, et même s'il y a quelques erreurs, il est toujours utilisable.
Pour l'installer et faire en sorte qu'il soit exécutable :

bash
cd ~
wget -N https://raw.githubusercontent.com/pi-hole/PADD/master/padd.sh
sudo chmod +x padd.sh

Faites en sorte que PADD s'exécute au lancement du RPI :

bash
# Run PADD
# If we're on the PiTFT screen (ssh is xterm)
if [ "$TERM" == "linux" ] ; then
  while :
  do
    ./padd.sh
    sleep 1
  done
fi

Si vous le souhaitez, vous pouvez tester le script et le visualiser depuis un votre terminal :

bash
./padd.sh

Ce qui donne :

Aperçu de PADD sur un terminal

Après avoir tout fait, vous devez redémarrer votre machine.

3. Faire en sorte que l'écran s'éteigne la nuit

Sur le wiki de PADD,
ils vous démontrent comment faire en sorte que l'écran s'éteigne la nuit.
Le script marche avec cron, pour le modifier, faites sudo crontab -e :

bash
# PiTFT+ SLEEPY TIME
# Turn off the PiTFT+ at midnight
00 00 * * * sh -c 'echo "0" > /sys/class/backlight/soc\:backlight/brightness'
# Turn on the PiTFT+ at 8:00 am
00 08 * * * sh -c 'echo "1" > /sys/class/backlight/soc\:backlight/brightness'

Les possibles erreurs

Durant mon installation, j'ai eu quelques erreurs dont une où l'écran ne voulait pas s'allumer.
Je l'ai donc forcé à le faire avec adafruit.

Installation d'Adafruit

Installons déjà les prérequis :

bash
sudo apt-get install python3-pip -y

Puis adafruit depuis le dépôt GitHub :

bash
cd ~
git clone https://github.com/adafruit/Raspberry-Pi-Installer-Scripts.git

Et enfin, on va installer Adafruit :

bash
cd Raspberry-Pi-Installer-Scripts
sudo python3 adafruit-pitft.py --display=35r --rotation=90 --install-type=console

Ce script va modifier /boot/config.txt pour faire en sorte qu'adafruit-pitft s'exécute au lancement du RPI.

Voir comment procéder manuellement
sudo nano /boot/config.txt

Insérez à la fin :

[all]
hdmi_force_hotplug=0
dtparam=spi=on
dtparam=i2c1=on
dtparam=i2c_arm=on
dtoverlay=pitft35-resistive,rotate=90,speed=20000000,fps=20
dtoverlay=piscreen,speed=16000000,rotate=90

Des erreurs de type "invalid number"

Si vous avez ce genre d'erreur qui s'affiche sur votre écran :

bash
/home/pi/padd.sh: line 900: printf: 0,3: invalid number
/home/pi/padd.sh: line 244: printf: 42,236: invalid number
/home/pi/padd.sh: line 873: printf: 9,1: invalid number
/home/pi/padd.sh: line 900: printf: 0,91: invalid number

Laissez la locale du Raspberry Pi sur en_GB.UTF-8,
une issue est en cours et donc affiche des erreurs sur le Display. (Voir l'issue sur GitHub)


Sources :


Soutenez-moi
Si vous aimez mon contenu, vous pouvez me soutenir en faisant un don récurant ou spontanément sur Buy Me a Coffee.