sudo reboot chasse fixe, gras : à taper tel quelhôte italique : valeur à remplacerUn ordinateur monocarte (single-board computer) : processeur, mémoire, réseau et prises tiennent sur une carte de la taille d’une carte bancaire. Il fonctionne sous Linux et démarre sur une carte microSD (ou un SSD). Il s’allume dès qu’on le branche.
| Monocarte | Pi 5, Pi 4 | ordinateur, serveur, projets |
| Clavier | Pi 500, 500+, 400 | poste de bureau prêt à brancher |
| Zero | Zero 2 W | petit, sobre, embarqué |
| Compute Module | CM5, CM4 | industrie, sur carte porteuse |
| Pico | Pico 2, Pico 2 W | microcontrôleur : capteurs, temps réel |
| Découvrir, programmer, bureautique | Pi 500 (tout-en-un) ou Pi 5 4 Go |
| Poste de travail confortable | Pi 500+ (16 Go, SSD) |
| Serveur maison : fichiers, domotique, filtrage DNS | Pi 5 2–4 Go + SSD ; un Pi 4 suffit souvent |
| Caméra, capteur autonome, objet connecté | Zero 2 W |
| Électronique temps réel, sur pile | Pico 2 W |
Conseils indicatifs ; prix très variables : à vérifier chez un revendeur agréé.
sudo poweroff, puis débrancher une fois l’activité de la DEL terminée.sudo reboot.sudo apt update, puis sudo apt full-upgrade.sudo poweroff, puis attendre la fin de l’activité de la DEL.vcgencmd measure_temp.atelier.local, nas.local…| sudo raspi-config | configuration en mode texte (page 3) |
| sudo apt update | rafraîchir la liste des logiciels |
| sudo apt full-upgrade | tout mettre à jour, noyau et micrologiciel compris |
| sudo reboot | redémarrer |
| sudo poweroff | éteindre proprement |
| hostname -I | adresse(s) IP du Pi |
cat /proc/device-tree/model modèle exact de la carte | |
| cat /etc/os-release | version du système |
| vcgencmd measure_temp | température du processeur |
| vcgencmd get_throttled | throttled=0x0 : ni sous-tension ni bridage (page 8) |
| pinout | brochage GPIO de la carte, dans le terminal |
| df -h | espace libre sur les disques |
| free -h | mémoire vive utilisée |
| lsusb | périphériques USB |
| lsblk | disques et partitions |
| sudo dmesg -w | messages du noyau en direct (Ctrl+C pour quitter) |
| journalctl -b -p err | erreurs depuis le démarrage |
| ssh moi@hôte.local | se connecter depuis un autre ordinateur (page 5) |
| man commande | manuel d’une commande (q pour quitter) |
Ligne de commande en général : voir le mémento « Linux ».
| Sans écran (headless) | Pi utilisé à distance, sans écran ni clavier |
| HAT, HAT+ | carte d’extension enfichée sur le GPIO |
| Image | copie complète d’un système, écrite sur la carte |
| Micrologiciel | firmware : programme de démarrage, en EEPROM sur Pi 4 Pi 5 |
| Overlay | réglage qui active un matériel au démarrage (dtoverlay=) |
| mDNS | trouver le Pi par son nom hôte.local, sans serveur DNS |
| PoE | alimentation par le câble Ethernet (avec un HAT) |
| NVMe | SSD rapide branché sur le bus PCIe (Pi 5) |
| Bridage | throttling : baisse de fréquence (chaleur, sous-tension) |
| Modèle | Puce · processeur | Mémoire | Connectique | Alimentation |
|---|---|---|---|---|
| Pi 5 | BCM2712 · 4 × Cortex-A76, 2,4 GHz | 1, 2, 4, 8 ou 16 Go | 2 × micro-HDMI (2 écrans 4K), 2 × USB 3 + 2 × USB 2, Ethernet gigabit, Wi-Fi 5, Bluetooth 5, PCIe, 2 × caméra/écran, horloge RTC, bouton | USB-C 5 V 5 A (27 W) |
| Pi 500 | BCM2712, dans un clavier | 8 Go | 2 × micro-HDMI, 2 × USB 3 + 1 × USB 2, Ethernet gigabit, Wi-Fi 5, Bluetooth 5, GPIO à l’arrière ; ni caméra ni PCIe | USB-C 5 V 5 A |
| Pi 500+ | BCM2712, clavier mécanique rétroéclairé | 16 Go + SSD 256 Go (remplaçable) | comme le Pi 500, avec SSD NVMe interne | USB-C 5 V 5 A |
| Pi 4 B | BCM2711 · 4 × Cortex-A72, 1,5 GHz (1,8 GHz révisions récentes) | 1, 2, 3, 4 ou 8 Go | 2 × micro-HDMI, 2 × USB 3 + 2 × USB 2, Ethernet gigabit, Wi-Fi 5, Bluetooth 5, prise jack, caméra, écran DSI | USB-C 5 V 3 A (15 W) |
| Pi 400 | BCM2711, dans un clavier | 4 Go | 2 × micro-HDMI, 2 × USB 3 + 1 × USB 2, Ethernet, Wi-Fi 5 | USB-C 5 V 3 A |
| Zero 2 W | RP3A0 · 4 × Cortex-A53, 1 GHz | 512 Mo | mini-HDMI, micro-USB OTG, Wi-Fi 2,4 GHz, Bluetooth 4.2, caméra ; broches GPIO à souder (sauf with headers) | micro-USB, 2 A |
| CM5 | BCM2712 sur module | 2 à 16 Go ; eMMC 0 à 64 Go | se monte sur une carte porteuse (deux connecteurs de 100 broches) | selon la carte porteuse |
| Pico 2 / 2 W | RP2350 (microcontrôleur) | 520 Ko + 4 Mo de mémoire flash | 2 × 20 broches, micro-USB ; Wi-Fi 2,4 GHz et Bluetooth 5.2 sur le modèle W | USB, piles |
Toujours rencontrés : Pi 3 B / B+ (1 Go, micro-USB 2,5 A) et Zero W. Tous les modèles actuels portent le même connecteur GPIO de 40 broches.
| Modèle | Conseillée | Courant USB max. |
|---|---|---|
| Pi 5 Pi 500 500+ | USB-C PD 27 W (5,1 V, 5 A) | 1,6 A (600 mA avec une alim. de 3 A) |
| Pi 4 Pi 400 | USB-C 15 W (5,1 V, 3 A) | 1,2 A |
| Pi 3 | micro-USB 2,5 A | 1,2 A |
| Zero 2 W | micro-USB 2 A | selon l’alimentation |
POWER_OFF_ON_HALT=1 dans l’EEPROM → environ 0,01 W.vcgencmd measure_temp.sudo rpi-eeprom-config --edit modifier BOOT_ORDER, puis redémarrer | |
BOOT_ORDER=0xf41 microSD, puis USB, on recommence (défaut) | |
BOOT_ORDER=0xf14 USB, puis microSD, on recommence | |
BOOT_ORDER=0xf416 NVMe, puis microSD, puis USB, on recommence |
Se lit de droite à gauche : 1 = microSD, 4 = USB, 6 = NVMe, 2 = réseau, f = recommencer. Plus simple : raspi-config › 6 › A4 Boot Order.
cat /proc/device-tree/model modèle exact et révision | |
| grep Revision /proc/cpuinfo | code de révision (modèle, mémoire, fabricant) |
| free -h | mémoire vive installée |
| lscpu | processeur, failles et parades |
| vcgencmd version | version du micrologiciel |
| vcgencmd bootloader_version | Pi 4 Pi 5 version du chargeur (EEPROM) |
| USB-C | alimentation seulement (aucune vidéo) |
| 2 × micro-HDMI | HDMI0 = écran principal ; 2 écrans 4K à 60 Hz |
| USB 3 (bleus), USB 2 (noirs) | clavier et souris sur les noirs |
| Ethernet gigabit | + 4 broches PoE+ pour un HAT |
| GPIO 40 broches | page 6 |
| 2 × MIPI 22 broches | caméra ou écran DSI (nappe fine, pas de 0,5 mm) |
| PCIe (nappe) | SSD NVMe, accélérateurs, via un HAT+ |
| FAN (4 broches) | ventilateur : 5 V, PWM, masse, tachymètre |
| BAT (J5) | pile de sauvegarde de l’horloge RTC |
| UART (3 broches) | console de débogage |
| Bouton | marche, arrêt propre ; appui long : arrêt forcé |
| J2 | pastilles pour son propre bouton marche-arrêt |
| microSD (dessous) | support du système |
hdmi_enable_4kp60=1.| Raspberry Pi OS | le choix par défaut : bureau et logiciels de base |
| … Full | + bureautique et logiciels recommandés |
| … Lite | sans bureau : serveur, usage à distance |
| … Legacy | ancienne base Debian 12 « Bookworm », pour la compatibilité |
| 32 ou 64 bits | 64 bits, sauf Pi 1, Pi 2 (révision 1.1), Zero et Zero W |
| Autres, dans Imager | Ubuntu, DietPi… ; multimédia (LibreELEC, OSMC) ; jeux rétro (RetroPie, Recalbox, Batocera) ; domotique, impression 3D… |
Version du 15 septembre 2026 : Raspberry Pi OS sur Debian 13 « Trixie », noyau Linux 6.18, Python 3.13, bureau Wayland (labwc).
Version 2.0.11.1 (août 2026). Sans personnalisation, un assistant pose les mêmes questions au premier démarrage. Pi 4 et suivants, sans autre ordinateur : installation par le réseau — Ethernet branché, maintenir Maj à l’allumage.
passwd.hostname -I) et le nom (hostname).lsblk (ou ls -l /dev/nvme*).sudo apt install rpi-imager) et y écrire Raspberry Pi OS sur le SSD (ou copier la carte avec SD Card Copier).sudo raspi-config › 6 › A4 Boot Order : placer NVMe ou USB en tête.Chargeur de démarrage déréglé (Pi 4 Pi 5) : Imager › Misc utility images › Bootloader prépare une carte microSD qui lui rend ses réglages d’usine.
| 1 System Options | mot de passe (S3), nom d’hôte (S4), connexion automatique (S6) |
| 3 Interface Options | SSH (I1), VNC (I3), SPI (I4), I²C (I5), port série (I6), 1-Wire (I7), Raspberry Pi Connect |
| 4 Performance Options | système en lecture seule (P2), ventilateur Pi 4 (P3), limite USB Pi 5 (P4) |
| 5 Localisation Options | langue, fuseau, clavier, pays Wi-Fi (L4) |
| 6 Advanced Options | ordre de démarrage (A4), version du chargeur (A5), vitesse PCIe (A8) |
Lancer : sudo raspi-config. Flèches pour naviguer, Entrée pour choisir, Tab pour atteindre Finish. Sur le bureau : menu › Préférences › Control Centre.
/boot/firmware/config.txt est lu par le micrologiciel avant Linux : une ligne propriété=valeur (98 caractères au plus), # pour un commentaire, effet au redémarrage.
| dtparam=i2c_arm=on | bus I²C sur les broches 3 et 5 |
| dtparam=spi=on | bus SPI0 |
| dtoverlay=w1-gpio | 1-Wire sur GPIO4 ; autre broche : ,gpiopin=n |
| enable_uart=1 | port série sur GPIO14 et 15 |
| dtparam=audio=on | son |
camera_auto_detect=1 caméra détectée seule (présent par défaut) | |
| dtparam=pciex1 | Pi 5 active le PCIe pour un appareil non HAT+ |
dtparam=pciex1_gen=3 Pi 5 PCIe Gen 3 : plus rapide, ! non certifié | |
dtparam=fan_temp0=55000 Pi 5 ventilateur à partir de 55 °C | |
hdmi_enable_4kp60=1 Pi 4 4K à 60 Hz sur HDMI0 | |
| [pi5] | les lignes suivantes ne valent que pour le Pi 5… |
| [all] | … jusqu’à cette ligne (valable pour tous) |
| vcgencmd get_config int | réglages numériques actifs |
/boot/firmware/cmdline.txt : paramètres transmis au noyau Linux au démarrage.cat /proc/cmdline.| sudo apt update | liste des paquets |
| sudo apt full-upgrade | logiciels, noyau, micrologiciel stable |
| sudo apt autoremove | retirer les paquets devenus inutiles |
| sudo apt clean | vider le cache des paquets |
| sudo rpi-eeprom-update | Pi 4 Pi 5 version du chargeur de démarrage |
| sudo rpi-eeprom-update -a | appliquer la dernière au prochain démarrage |
| sudo rpi-update | ! micrologiciel expérimental : seulement sur conseil d’un ingénieur Raspberry Pi |
Changer de version majeure (Bookworm → Trixie) : réinstaller sur une nouvelle carte, puis recopier ses fichiers — pas de mise à niveau sur place.
ssh moi@hôte.local (page 5).sudo raspi-config pour le reste ; bureau à distance : Raspberry Pi Connect ou VNC.| 5 › L1 Locale | fr_FR.UTF-8 (langue, dates, décimales) |
| 5 › L2 Timezone | Europe › Paris |
| 5 › L3 Keyboard | disposition French (AZERTY) |
| 5 › L4 WLAN Country | FR |
| timedatectl | vérifier l’heure, le fuseau et la synchronisation |
| locale | langue active |
Menus de sudo raspi-config ; sur le bureau : Control Centre. Avec Imager, choisir Paris comme capitale règle d’un coup fuseau, clavier et pays Wi-Fi.
| apt search mot | chercher un logiciel |
| apt show paquet | description, version, taille |
| sudo apt install paquet | installer (-y : sans confirmation) |
| sudo apt remove paquet | désinstaller, en gardant la configuration |
| sudo apt purge paquet | désinstaller tout, configuration comprise |
| apt list --installed | paquets installés |
| sudo adduser nom | créer un compte |
| sudo usermod -aG gpio,i2c,spi,dialout nom | donner l’accès au GPIO, aux bus et au port série |
| groups | mes groupes (se reconnecter après un ajout) |
| passwd | changer mon mot de passe |
| sudo su - nom | ouvrir une session au nom d’un autre compte |
| sudo deluser --remove-home nom | supprimer un compte et son dossier |
Aucun compte n’existe d’avance : le premier est créé dans Imager ou par l’assistant du premier démarrage, avec les droits sudo et l’accès au GPIO.
| systemctl status svc | état et dernières lignes du journal |
| sudo systemctl restart svc | relancer (start, stop de même) |
| sudo systemctl enable --now svc | lancer maintenant et à chaque démarrage |
| sudo systemctl disable --now svc | arrêter et ne plus lancer au démarrage |
| journalctl -u svc -f | suivre le journal d’un service |
| systemctl --failed | services en échec |
Python 3.13 est installé. ! pip install hors environnement virtuel est refusé (externally-managed-environment, règle PEP 668) : deux voies.
| sudo apt install python3-nom | bibliothèque pour tout le système (ex. python3-numpy) |
| python3 -m venv --system-site-packages env | environnement du projet, qui voit aussi les paquets du système (GPIO Zero…) |
| source env/bin/activate | l’activer : l’invite commence par (env) |
| pip install paquet | installer dans l’environnement |
| deactivate | en sortir |
Pour débuter, l’éditeur Thonny est fourni avec le bureau (menu › Programmation).
| /boot/firmware/config.txt | réglages du matériel (page 3) |
/boot/firmware/cmdline.txt paramètres du noyau, sur une seule ligne | |
| /etc/hostname | nom de la machine (le changer par raspi-config › 1 › S4) |
| /etc/fstab | disques montés au démarrage |
| /etc/ssh/sshd_config | réglages du serveur SSH |
/etc/NetworkManager/system-connections/ réseaux Wi-Fi et filaires enregistrés | |
| /etc/systemd/system/ | services ajoutés à la main |
| ~/.ssh/authorized_keys | clés publiques autorisées à se connecter |
| /var/log/ | anciens journaux ; aujourd’hui surtout journalctl |
Le plus sûr : un service systemd. Créer /etc/systemd/system/capteur.service (sudo nano …) :
[Unit] Description=Mon capteur After=network-online.target Wants=network-online.target [Service] User=moi WorkingDirectory=/home/moi/capteur ExecStart=/home/moi/capteur/env/bin/python main.py Environment=PYTHONUNBUFFERED=1 Restart=on-failure [Install] WantedBy=multi-user.target
| sudo systemctl daemon-reload | relire les fichiers de service |
| sudo systemctl enable --now capteur | activer et lancer |
| journalctl -u capteur -f | voir ce que le programme affiche (print) |
Restart=on-failure relance le programme s’il plante ; PYTHONUNBUFFERED=1 fait paraître les print sans retard.
crontab -e pour modifier, crontab -l pour lire :
# min heure jour mois j.sem. commande
*/5 * * * * /home/moi/mesure.sh
0 3 * * 1 /home/moi/sauve.sh
@reboot /home/moi/depart.shChemins complets : cron ne connaît presque aucun dossier. Toutes les 5 min · le lundi à 3 h · à chaque démarrage.
| vcgencmd measure_temp | température du processeur |
| vcgencmd measure_clock arm | fréquence actuelle du processeur, en Hz |
| vcgencmd get_throttled | sous-tension, bridage (bits : page 8) |
| vcgencmd pmic_read_adc | Pi 5 tensions mesurées ; EXT5V_V = alimentation |
| uptime | durée de fonctionnement, charge moyenne |
| top | processus en direct (q pour quitter) |
| free -h | mémoire vive |
| df -h | espace disque |
| uname -r | version du noyau |
| lsblk -f | disques, partitions, systèmes de fichiers |
| sudo blkid | identifiants (UUID) des partitions |
| sudo mkdir /mnt/disque | créer le point de montage |
| sudo mount /dev/sda1 /mnt/disque | monter à la main |
| sudo umount /mnt/disque | démonter avant de débrancher |
| sudo apt install exfat-fuse | lire l’exFAT (NTFS : ntfs-3g) |
Montage à chaque démarrage : une ligne dans /etc/fstab, par exemple UUID=uuid /mnt/disque ext4 defaults,nofail 0 0 ; nofail : le Pi démarre même sans le disque. Depuis la version du 15/09/2026, le gestionnaire de fichiers ne monte plus les clés tout seul : option dans l’applet d’éjection.
sudo poweroff.raspi-config › 4 › P2 Overlay File System ; plus rien n’est conservé au redémarrage (idéal pour un kiosque).| hostname -I | sur le Pi : ses adresses IP |
| ping hôte.local | depuis un autre ordinateur (mDNS) ; fonctionne sous Windows 10 et 11 |
| nmcli device show | détails du réseau |
| sudo nmap -sn 192.168.1.0/24 | lister les appareils du réseau local (paquet nmap) |
Sinon : la liste des appareils connectés, dans l’interface de la box.
| nmcli radio wifi on | allumer le Wi-Fi |
| nmcli dev wifi list | réseaux visibles |
sudo nmcli --ask dev wifi connect SSID se connecter (mot de passe demandé) | |
| nmcli connection show | connexions enregistrées |
sudo nmcli connection modify nom connection.autoconnect-priority 10 réseau préféré quand plusieurs sont à portée | |
nmcli), comme sur le bureau (icône en haut à droite).raspi-config › 5 › L4), le Wi-Fi reste coupé.nmcli, ipv4.method manual), elle est plus fragile.| ip a | adresses de chaque interface (eth0 filaire, wlan0 Wi-Fi) |
| ip r | passerelle : la ligne default via box |
| ping -c 3 box | le réseau local répond-il ? |
| ping -c 3 1.1.1.1 | Internet, sans passer par les noms |
| ping -c 3 raspberrypi.com | la résolution des noms (DNS) |
| nmcli general status | état global de NetworkManager |
| sudo ss -tlnp | services à l’écoute et leurs ports |
Le premier test qui échoue désigne la couche en cause.
| bluetoothctl | ouvre l’outil ; puis, dans l’outil : |
| scan on | chercher (appareil en mode appairage) |
| pair MAC | appairer (adresse XX:XX:… affichée) |
| trust MAC | reconnexion automatique |
| connect MAC | connecter ; exit pour quitter |
Sur le bureau : icône Bluetooth, à gauche de l’icône Wi-Fi › Add Device.
Activer : dans Imager (Remote Access), par raspi-config › 3 › I1, ou en créant le fichier vide ssh : sudo touch /boot/firmware/ssh, puis redémarrer.
| ssh moi@hôte.local | se connecter ; Windows : dans PowerShell (client intégré) |
| exit | se déconnecter (ou Ctrl+D) |
| ssh-keygen -t ed25519 | sur son ordinateur : créer une paire de clés |
| ssh-copy-id moi@hôte.local | copier la clé publique sur le Pi (Linux, macOS) |
| ssh-keygen -R hôte.local | oublier l’ancienne empreinte d’un Pi réinstallé |
| ssh -Y moi@hôte.local | ouvrir une application graphique à distance (X11) |
ssh-copy-id : le plus simple est de donner la clé publique (id_ed25519.pub) à Imager lors de l’écriture de la carte.PasswordAuthentication no dans /etc/ssh/sshd_config, puis sudo systemctl restart ssh. ! Seulement après avoir vérifié que la clé fonctionne, en gardant une session ouverte.sudo sshd -T | grep -i passwordauth.~/.ssh/config de l’ordinateurHost pi
HostName hôte.local
User moiIl suffit ensuite de taper ssh pi (aussi sous Windows : .ssh\config du dossier personnel).
| scp photo.jpg moi@hôte.local: | envoyer dans le dossier personnel du Pi |
scp moi@hôte.local:mesures.csv . rapatrier dans le dossier courant | |
| scp -r projet moi@hôte.local: | envoyer un dossier entier |
rsync -av projet/ moi@hôte.local:projet/ synchroniser : ne copie que les différences (Linux, macOS) | |
| sftp moi@hôte.local | session interactive : ls, get, put, exit |
| python3 -m http.server 8000 | sur le Pi : publier le dossier courant, en lecture seule, sur le port 8000 du Pi ; Ctrl+C pour arrêter |
Windows : scp et sftp sont fournis avec SSH ; en graphique : WinSCP, FileZilla. Partage visible dans l’explorateur : serveur Samba.
| Raspberry Pi Connect | depuis un navigateur (connect.raspberrypi.com), même hors de chez soi, sans ouvrir de port ; écran partagé et terminal ; compte Raspberry Pi ID. rpi-connect on, puis rpi-connect signin ; rpi-connect-lite : terminal seul. |
| VNC | raspi-config › 3 › I3, puis un client VNC sur l’ordinateur ; réseau local. |
| SSH -Y | une seule application graphique, par le tunnel SSH. |
sudo apt install samba samba-common-binmkdir ~/partage, puis sudo smbpasswd -a moi (mot de passe du partage)./etc/samba/smb.conf (sudo nano) :[partage]
path = /home/moi/partage
read only = nosudo systemctl restart smbd\\adresse IP du Pi\partage
unattended-upgrades.sudo apt install ufw, sudo ufw allow ssh, puis seulement sudo ufw enable ! — dans l’autre ordre, on se coupe l’accès.sudo systemctl disable --now svc.journalctl -u ssh, last.| broches impaires · rangée intérieure | broches paires · bord de la carte | ||||
|---|---|---|---|---|---|
| 3,3 V | 1 | 2 | 5 V | ||
| I²C SDA | GPIO2 | 3 | 4 | 5 V | |
| I²C SCL | GPIO3 | 5 | 6 | GND | |
| 1-Wire · GPCLK0 | GPIO4 | 7 | 8 | GPIO14 | UART TX |
| GND | 9 | 10 | GPIO15 | UART RX | |
| SPI1 CE1 | GPIO17 | 11 | 12 | GPIO18 | PWM · PCM CLK · SPI1 CE0 |
| GPIO27 | 13 | 14 | GND | ||
| GPIO22 | 15 | 16 | GPIO23 | ||
| 3,3 V | 17 | 18 | GPIO24 | ||
| SPI0 MOSI | GPIO10 | 19 | 20 | GND | |
| SPI0 MISO | GPIO9 | 21 | 22 | GPIO25 | |
| SPI0 SCLK | GPIO11 | 23 | 24 | GPIO8 | SPI0 CE0 |
| GND | 25 | 26 | GPIO7 | SPI0 CE1 | |
| ID_SD (EEPROM HAT) | GPIO0 | 27 | 28 | GPIO1 | ID_SC (EEPROM HAT) |
| GPIO5 | 29 | 30 | GND | ||
| GPIO6 | 31 | 32 | GPIO12 | PWM | |
| PWM | GPIO13 | 33 | 34 | GND | |
| PWM · PCM FS · SPI1 MISO | GPIO19 | 35 | 36 | GPIO16 | SPI1 CE2 |
| GPIO26 | 37 | 38 | GPIO20 | PCM DIN · SPI1 MOSI | |
| GND | 39 | 40 | GPIO21 | PCM DOUT · SPI1 SCLK | |
pinout ou pinctrl -p, sur le Pi lui-même.raspi-config, config.txt) ; sinon la broche sert de GPIO ordinaire. GPIO2 et GPIO3 restent tirés vers 3,3 V.pinctrl et la documentation.LED(17) = GPIO17 = broche 11. GPIO Zero accepte aussi "BOARD11" (numéro physique).config.txt.Button(27).Button(27, pull_up=False).Button(27, bounce_time=0.05).| Bus | GPIO (broche) | Activation |
|---|---|---|
| I²C | SDA 2 (3), SCL 3 (5) | raspi-config › 3 › I5 ou dtparam=i2c_arm=on ; 100 kHz par défaut |
| SPI0 | MOSI 10 (19), MISO 9 (21), SCLK 11 (23), CE0 8 (24), CE1 7 (26) | I4 ou dtparam=spi=on |
| SPI1 | MOSI 20 (38), MISO 19 (35), SCLK 21 (40), CE0 18 (12), CE1 17 (11), CE2 16 (36) | overlay spi1-1cs (à spi1-3cs) |
| UART | TX 14 (8), RX 15 (10) | I6 : console « non », port « oui » ; /dev/serial0. Pi 5 : console sur la prise UART dédiée |
| PWM matériel | 12 (32), 13 (33), 18 (12), 19 (35) | overlays pwm, pwm-2chan ; GPIO Zero : PWM logiciel sur toute broche |
| 1-Wire | 4 (7) par défaut | I7 ou dtoverlay=w1-gpio |
| PCM / I²S | CLK 18 (12), FS 19 (35), DIN 20 (38), DOUT 21 (40) | cartes son (HAT audio) |
| pinout | carte et brochage, en couleur |
| pinctrl -p | état des 40 broches, par numéro physique |
| pinctrl get 17 | mode et niveau de GPIO17 |
| pinctrl set 17 op dh | GPIO17 en sortie, niveau haut (dl : bas) |
| pinctrl set 27 ip pu | GPIO27 en entrée, tirage vers le haut (pd : vers le bas, pn : aucun) |
| pinctrl poll 27 | afficher chaque changement d’état |
| pinctrl funcs 9-11 | fonctions possibles de GPIO9 à 11 |
| i2cdetect -y 1 | adresses des modules I²C sur le bus 1 (paquet i2c-tools) |
| ls /dev/i2c* /dev/spidev* | les bus sont-ils activés ? |
pinctrl agit directement sur le matériel, sans passer par les pilotes : l’employer pour tester, pas dans un programme.
U = R × I (volts = ohms × ampères) · P = U × I (watts).
R = (3,3 V − tension de la LED) ÷ courant voulu. Pour 5 mA :
| LED rouge (≈ 2,0 V) | 260 Ω → 270 Ω |
| LED bleue ou blanche (≈ 3,0 V) | 60 Ω → 68 Ω, éclat faible |
En pratique, 220 à 330 Ω conviennent : 330 Ω sur une LED rouge donnent 3,9 mA. Tensions typiques : lire la fiche du composant.
Deux chiffres, puis le nombre de zéros ; 4e anneau : tolérance (or 5 %, argent 10 %). 330 Ω : orange, orange, marron · 1 kΩ : marron, noir, rouge · 10 kΩ : marron, noir, orange.
| DS18B20 | température | 1-Wire ; résistance de 4,7 kΩ vers 3,3 V |
| BME280 | température, humidité, pression | I²C, adresse 0x76 ou 0x77 |
| HC-SR04 | distance (ultrasons) | alimenté en 5 V : écho par pont diviseur |
| HC-SR501 | mouvement (infrarouge, PIR) | alimenté en 5 V, sortie 3,3 V |
| MCP3008 | 8 entrées analogiques, 10 bits | SPI |
| SSD1306 | petit écran OLED | I²C, souvent 0x3C |
| SG90 | petit servomoteur | 5 V séparé, signal PWM |
| Module relais | commuter un circuit | transistor et diode intégrés : vérifier |
Valeurs usuelles : toujours confirmer sur la fiche technique du module acheté.
Bibliothèque installée d’office ; numéros GPIO (pas de broche). Un bouton câblé vers la masse utilise le tirage interne.
from gpiozero import LED, Button from signal import pause led = LED(17) # broche 11 bouton = Button(27) # broche 13 → GND bouton.when_pressed = led.on bouton.when_released = led.off pause() # attendre
| led.blink(0.5, 0.5) | clignoter (0,5 s allumée, 0,5 s éteinte) |
| bouton.is_pressed | True pendant l’appui |
| PWMLED(17).value = 0.3 | LED à 30 % (modulation de largeur d’impulsion) |
| PWMLED(17).pulse() | effet de respiration |
| Buzzer(22).beep() | buzzer actif : bips |
MotionSensor(4).wait_for_motion() attendre un mouvement (détecteur PIR) | |
DistanceSensor(echo=24, trigger=23).distance distance en mètres (1 m max. par défaut) | |
AngularServo(18).angle = 45 servomoteur, de −90 à 90° | |
CPUTemperature().temperature température du processeur, en °C | |
MCP3008(channel=0).value entrée analogique, de 0 à 1 (SPI) | |
Ctrl+C arrête le programme. Documentation : gpiozero.readthedocs.io.
| rpicam-hello | aperçu de 5 secondes |
| rpicam-still -o photo.jpg | une photo |
| rpicam-vid -t 10s -o video.h264 | 10 s de vidéo (Pi 5 : video.mp4 directement) |
rpicam-still --timeout 30000 --timelapse 2000 -o tl/img%04d.jpg une image toutes les 2 s pendant 30 s (créer tl avant) | |
En Python (Picamera2, installé d’office) :
from picamera2 import Picamera2
cam = Picamera2()
cam.start_and_capture_file("a.jpg")Brancher la nappe Pi éteint, contacts dans le bon sens.
raspi-config › 3 › I7), redémarrer.cd /sys/bus/w1/devices cat 28-*/temperature 21375
Ici 21,375 °C. Le numéro qui suit 28- est propre à chaque sonde : plusieurs sondes peuvent partager le même fil.
PWMLED), vitesse d’un moteur (par un pont en H), son d’un buzzer passif.Servo et AngularServo ; à ajuster selon le modèle).RPI-RP2 (Pico) ou RP2350 (Pico 2) apparaît..uf2 de MicroPython propre à sa carte (micropython.org).from machine import Pin
import time
led = Pin("LED", Pin.OUT) # DEL
while True:
led.toggle()
time.sleep(0.5)vcgencmd get_throttled.| Longs | Courts | Signification |
|---|---|---|
| 0 | 3 | échec générique du démarrage |
| 0 | 4 | start*.elf introuvable |
| 0 | 7 | image du noyau introuvable |
| 0 | 8 | défaillance de la mémoire (SDRAM) |
| 0 | 9 | mémoire (SDRAM) insuffisante |
| 0 | 10 | état d’arrêt (HALT) |
| 1 | 2 | surintensité sur la carte SD |
| 2 | 1 | partition non FAT |
| 2 | 2 | lecture de la partition impossible |
| 2 | 3 | partition étendue non FAT |
| 2 | 4 | signature ou empreinte incorrecte Pi 4 Pi 5 |
| 3 | 1 | erreur de l’EEPROM SPI Pi 4 Pi 5 |
| 3 | 2 | EEPROM SPI protégée en écriture Pi 4 Pi 5 |
| 3 | 3 | erreur I²C Pi 4 Pi 5 |
| 3 | 4 | configuration du démarrage sécurisé invalide |
| 4 | 3 | RP1 introuvable |
| 4 | 4 | type de carte non pris en charge |
| 4 | 5 | erreur fatale du micrologiciel |
| 4 | 6 | défaut d’alimentation, type A |
| 4 | 7 | défaut d’alimentation, type B |
Les éclats longs précèdent les courts ; le motif se répète après une pause de 2 s.
| journalctl -b | tout le journal depuis le démarrage (q pour quitter) |
| journalctl -f | suivre en direct |
| journalctl -u svc | un seul service |
| journalctl -b -p warning | avertissements et plus grave |
| journalctl --since "1 hour ago" | la dernière heure |
| sudo dmesg -T | messages du noyau, heure lisible |
| journalctl --disk-usage | place occupée par les journaux |
vcgencmd get_throttled renvoie une somme de bits :
| Bit | Valeur | Signification |
|---|---|---|
| 0 | 0x1 | sous-tension en ce moment |
| 1 | 0x2 | fréquence du processeur plafonnée |
| 2 | 0x4 | bridage en cours |
| 3 | 0x8 | limite de température douce atteinte |
| 16 | 0x10000 | sous-tension depuis le démarrage |
| 17 | 0x20000 | plafonnement survenu |
| 18 | 0x40000 | bridage survenu |
| 19 | 0x80000 | limite douce survenue |
Exemple : 0x50005 = sous-tension et bridage en ce moment et depuis le démarrage → changer d’alimentation. 0x0 : tout va bien.
Alerte de tension basse, Undervoltage dans dmesg | alimentation officielle, câble court ; moins d’appareils USB |
| Pas de Wi-Fi | régler le pays Wi-Fi (raspi-config › 5 › L4) |
| Connection refused (SSH) | SSH non activé (3 › I1) |
| Could not resolve hostname | nom mal écrit ; essayer l’adresse IP |
| REMOTE HOST IDENTIFICATION HAS CHANGED | Pi réinstallé : ssh-keygen -R hôte.local sur l’ordinateur |
| Permission denied sur le GPIO | ajouter le compte au groupe gpio, se reconnecter |
| externally-managed-environment | créer un environnement virtuel (page 4) |
| Clavier en QWERTY | raspi-config › 5 (clavier) ou Control Centre |
| Heure fausse au démarrage | pas d’horloge sauvegardée, sauf Pi 5 avec pile : l’heure vient du réseau |
Module absent de i2cdetect | I²C activé ? SDA et SCL inversés ? alimenté en 3,3 V ? |
| Lenteur | carte microSD lente, bridage thermique, mémoire pleine (free -h) |
| Fichiers corrompus | alimentation, arrêts propres ; réécrire la carte ; passer au SSD |
rsync -av ~/ moi@serveur:sauve-pi/, ou copie sur clé USB.sudo dd if=/dev/sdX of=pi.img bs=4M status=progress ! vérifier sdX avec lsblk : une erreur de disque est sans appel.| vcgencmd get_throttled | alimentation et chaleur (ci-contre) |
| sudo dmesg | grep -i volt | alertes de tension du noyau |
| vcgencmd measure_temp | température |
| journalctl -b -p err | erreurs depuis le démarrage |
| systemctl --failed | services en échec |
| df -h / | carte pleine ? |
| free -h | mémoire saturée ? |
| sudo rpi-eeprom-update | Pi 4 Pi 5 chargeur de démarrage à jour ? |
config.txt modifié, scripts, fichiers de service).ssh-keygen -R hôte.local (le Pi a changé d’empreinte).Tenir un carnet de bord (commandes passées, fichiers modifiés) rend cette opération rapide.
| Débuter | LED et bouton ; feu tricolore ; thermomètre DS18B20 (1-Wire) ; photo au passage (PIR + caméra) |
| Serveur maison | partage de fichiers (Samba) ; filtrage des publicités pour tout le réseau (Pi-hole) ; domotique (Home Assistant) ; VPN (WireGuard) |
| Multimédia | centre multimédia (Kodi) ; console de jeux rétro ; radio Internet |
| Aller plus loin | station météo en ligne ; robot ; film accéléré (time-lapse) ; capteur sur pile avec un Pico |