- Si la config du wifi par raspi-config échoue, éditer le fichier /etc/wpa_supplicant/wpa_supplicant.conf et modifier comme suit la section wlan0 :
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=FR
network={
ssid="le nom du réseau wi-fi"
psk="le mot de passe du réseau wi-fi"
}
- Relancer ensuite le réseau avec la commande :
sudo service networking restart
- Effectuer les mises à jour :
sudo apt update sudo apt upgrade
- Mettre les fichiers temporaires en ram pour économiser sur la durée de vie la la carte SD.
sudo nano /etc/fstab
tmpfs /tmp tmpfs defaults,size=256M 0 0 tmpfs /var/tmp tmpfs defaults,size=256M 0 0 tmpfs /var/log tmpfs defaults,size=256M 0 0
2 - Réglages et configuration du matériel embarqué :
Prérequis logiciels :
sudo apt install omxplayer python3-rpi.gpio
Activer et régler l'écran ili9340 :
- Pour plus de détails, se référer au billet : Un écran LCD piloté via SPI pour le RaspberryPi.
- Éditer le fichier /boot/config.txt, pour activer le mode SPI :
sudo nano /boot/config.txt
Avec dedans :
dtparam=spi=on disable_overscan=1 framebuffer_width=320 framebuffer_height=240
- Créer le fichier, avec dedans le nom des modules à charger :
sudo nano /etc/modules-load.d/fbtft.conf
Avec dedans :
spi-bcm2835 fbtft_device
- Créer le fichier, avec dedans les paramètres du module à charger au démarrage du Rpi :
sudo nano /etc/modprobe.d/fbtft.conf
Avec dedans :
options fbtft_device custom name=fb_ili9341 gpios=reset:24,dc:25,led:18 speed=64000000 fps=60 bgr=1 rotate=270
- Installer fbcp, soft de Framebuffer mirroring, pour obtenir la console sur l'écran et plus encore :
sudo apt-get update sudo apt-get install cmake git git clone https://github.com/tasanakorn/rpi-fbcp cd rpi-fbcp/ mkdir build cd build/ cmake .. make sudo install fbcp /usr/local/bin/fbcp
La partie sonore :
- Pour plus de détails, se référer au billet : Une carte son pour le RaspberryPi Zero
- Éditer le fichier /boot/config.txt, activer le mode PMW Audio :
sudo nano /boot/config.txt
Avec dedans :
dtoverlay=pwm-2chan,pin=12,func=4,pin2=13,func2=4
- Puis configurer la sortie sonore sur le jack plutôt que le HDMI (par défaut) :
amixer cset numid=3 1
- Régler le niveau sonore, puis sauvegarder les modifications :
alsamixer sudo alsactl store 0
Gestion du bouton power :
- Pour plus de détails, se référer au billet : Bouton on/off Raspberry Pi, Version µContrôleur.
- Écrire le script :
nano /home/pi/SoftOffButton.py
Avec dedans :
import RPi.GPIO as GPIO
import time
import os
import signal
print ("Soft Off Button")
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
def button_pressed(channel):
print ("Boutton Off pressé")
os.system("sudo poweroff")
GPIO.add_event_detect(21, GPIO.RISING, callback=button_pressed)
signal.pause()
- Créer un service pour démarrer automatiquement le programme python :
sudo nano /etc/systemd/system/SoftOffButton.service
Avec dedans :
[Unit] Description=Démarre le script SoftOffButton [Service] ExecStart=/usr/bin/python3 /home/pi/SoftOffButton.py [Install] WantedBy=multi-user.target
- Installer le service au démarrage :
sudo systemctl --system daemon-reload sudo systemctl enable SoftOffButton.service
3 - Test de validation :
- On va effectuer un test de lecture de vidéo, après avoir copié un fichier mp4 dans /home/pi, lancer :
/usr/local/bin/fbcp & omxplayer /home/pi/deathsml_15-07-2015_1cc_h264-21.mp4 --aspect-mode stretch -o local
- Presser le bouton power devrait éteindre le RPien quelques secondes.
La prochaine fois nous écrirons un programme pour exploiter et automatiser la lecture de vidéos.


