Introduction
Le Raspberry Pi est un mini-ordinateur abordable et puissant, parfait pour les débutants en électronique, IoT et programmation embarquée. En 2026, avec Raspberry Pi 5 et les dernières versions d'OS, il reste la référence pour des projets comme un serveur domestique, un robot ou un capteur connecté. Ce tutoriel vous guide pas à pas pour installer Raspberry Pi OS, configurer l'appareil en mode headless (sans écran), activer le WiFi et SSH, puis exécuter votre premier programme Python qui fait clignoter une LED via GPIO.
Pourquoi c'est important ? Contrairement à un PC classique, le Pi excelle dans les tâches légères et low-power, avec un GPIO accessible directement en Python. Vous économiserez des heures de debugging grâce à des commandes testées. À la fin, vous aurez un Pi opérationnel prêt pour des extensions comme Home Assistant ou un cluster Kubernetes. Temps estimé : 30 minutes. Prêt à plonger dans l'embarqué ?
Prérequis
- Un Raspberry Pi (modèle 4 ou 5 recommandé)
- Carte microSD 16 Go+ (classe 10)
- Alimentation USB-C 5V/3A
- Câble Ethernet (optionnel pour test)
- Ordinateur avec Raspberry Pi Imager
- LED + résistance 220Ω + câbles jumper (pour GPIO)
- Connaissances basiques en terminal Linux
Étape 1 : Flasher Raspberry Pi OS
Téléchargez et utilisez Raspberry Pi Imager pour graver l'OS sur la carte SD. Sélectionnez Raspberry Pi OS (64-bit), activez SSH (utilisateur : pi, mot de passe : raspberry) et configurez le WiFi dans les paramètres avancés. Insérez la carte dans le Pi, branchez l'alimentation. Le Pi bootera en 1-2 minutes.
Vérifier la connexion SSH
#!/bin/bash
# Trouver l'IP du Pi via routeur ou nmap
nmap -sn 192.168.1.0/24 | grep Raspberry
# Se connecter en SSH (remplacez IP_PI par l'IP trouvée)
ssh pi@IP_PI
# Une fois connecté, changer mot de passe
passwd
# Mettre à jour le système
sudo apt update && sudo apt upgrade -y
sudo rebootCe script scanne le réseau pour trouver l'IP du Pi, puis initie la connexion SSH. Changez immédiatement le mot de passe par défaut pour la sécurité. La mise à jour évite les bugs ; le reboot applique les changements sans interruption manuelle.
Étape 2 : Configurer raspi-config
Une fois connecté en SSH, utilisez raspi-config pour activer les interfaces matérielles comme GPIO, I2C ou SPI.
Exécuter raspi-config
#!/bin/bash
sudo raspi-config
# Dans l'interface :
# 1 System Options > S5 Password > changer
# 3 Interface Options > I2 SSH > Yes
# 3 Interface Options > I4 I2C > Yes (optionnel)
# 3 Interface Options > I5 SPI > Yes (optionnel)
# 6 Localisation Options > L4 WLAN Country
# Finish et rebootraspi-config est l'outil officiel pour configurer le Pi sans GUI. Activez SSH si pas déjà fait via Imager. Sélectionnez votre pays WiFi pour respecter les régulations radio. Reboot obligatoire pour appliquer.
Étape 3 : Installer les dépendances Python
Pour les projets GPIO, installez Python 3 et RPi.GPIO ou gpiozero (recommandé pour débutants).
Installer gpiozero
#!/bin/bash
sudo apt install python3-gpiozero python3-pip -y
sudo pip3 install gpiozero
# Vérifier l'installation
python3 -c "from gpiozero import LED; print('GPIOZero OK')"
# Activer GPIO en mode user (pas sudo)
sudo raspi-config nonint do_gpio 0
sudo rebootgpiozero simplifie le GPIO avec une API intuitive. L'option nonint évite l'interface graphique. Après reboot, tout utilisateur peut contrôler GPIO sans sudo, réduisant les risques de sécurité.
Premier script : Clignoter une LED
from gpiozero import LED
from time import sleep
# LED sur GPIO 18 (broche physique 12)
led = LED(18)
try:
while True:
led.on()
sleep(0.5)
led.off()
sleep(0.5)
except KeyboardInterrupt:
led.off()
print("\nLED éteinte.")
# Branchez : Anode LED -> Résistance 220Ω -> GPIO18
# Cathode -> GND (broche 6)Ce script complet fait clignoter une LED sur GPIO18 toutes les 500ms. Utilisez Ctrl+C pour arrêter proprement. gpiozero gère les cleanup ; toujours ajouter une résistance pour protéger la LED (analogue à un fusible). Testez avec câbles jumper.
Étape 4 : Script avancé avec bouton
Ajoutez un bouton pour toggle la LED, apprenant les inputs GPIO.
LED avec bouton poussoir
from gpiozero import LED, Button
from signal import pause
led = LED(18)
button = Button(2) # GPIO2, broche physique 3
# Toggle LED à chaque appui
def toggle():
led.toggle()
button.when_pressed = toggle
print("Appuyez sur le bouton (GPIO2). Ctrl+C pour quitter.")
pause()
# Branchez bouton : Une patte -> GPIO2, autre -> GND (broche 9)
# Pull-up interne activé par défautLe bouton sur GPIO2 toggle la LED sans polling (événementiel). pause() garde le script vivant. Pas besoin de pull-up externe grâce à gpiozero. Idéal pour prototypes interactifs.
Démarrer au boot
#!/bin/bash
sudo nano /etc/rc.local
# Ajoutez avant 'exit 0' :
python3 /home/pi/blink.py &
# Ou mieux, avec systemd
sudo nano /etc/systemd/system/blink.service
# Contenu du service :
[Unit]
Description=Blink LED
After=multi-user.target
[Service]
ExecStart=/usr/bin/python3 /home/pi/blink.py
WorkingDirectory=/home/pi
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
# Activer
sudo systemctl daemon-reload
sudo systemctl enable blink.service
sudo systemctl start blink.serviceAutostart via systemd est robuste et gère les crashes (Restart=always). Évitez rc.local obsolète. Vérifiez avec systemctl status blink.service. Parfait pour serveurs IoT always-on.
Bonnes pratiques
- Toujours utiliser des résistances sur LEDs/relais pour éviter la surchauffe GPIO (max 16mA par pin).
- Mode headless pour économies d'énergie : pas d'écran HDMI.
- Backups réguliers :
sudo dd if=/dev/mmcblk0 of=pi-backup.img. - Sécurité : Désactivez login root (
sudo passwd -l root), utilisez clés SSH. - Overclocking modéré : Via raspi-config, mais monitorez la température avec
vcgencmd measure_temp.
Erreurs courantes à éviter
- Permission GPIO : Erreur 'Permission denied' ? Activez user GPIO dans raspi-config, pas sudo partout.
- IP non trouvée : Vérifiez WiFi country code ; utilisez Ethernet pour debug.
- LED ne clignote pas : Broche physique vs GPIO numbering (GPIO18 = pin 12). Vérifiez câblage avec
gpio readall. - Boot loop : Carte SD corrompue ; re-flashez avec vérif checksum Imager.
Pour aller plus loin
Maîtrisez le Pi avec des projets avancés : capteurs DHT22, caméra Pi, Docker sur Pi. Consultez la documentation officielle et nos formations Learni sur l'IoT et l'embarqué. Rejoignez la communauté Reddit r/raspberry_pi pour idées.