8x32 PI
This commit is contained in:
@@ -0,0 +1,264 @@
|
||||
# Préparer le Raspberry Pi, pas à pas
|
||||
|
||||
Ce guide part d'une carte SD vide et va jusqu'à la matrice qui s'allume.
|
||||
Comptez **une heure** la première fois, dont beaucoup d'attente.
|
||||
|
||||
> **Système plus ancien ?** Le projet fonctionne aussi sur **Raspbian 11
|
||||
> « Bullseye »** (cartes préparées avant fin 2023, testé sur un Pi 3 Model B).
|
||||
> Seule différence : la partie de la carte SD lisible par tous les
|
||||
> ordinateurs s'appelle **`/boot`** au lieu de **`/boot/firmware`**. Partout
|
||||
> où ce guide écrit `/boot/firmware`, lisez `/boot`. Le script d'installation
|
||||
> et le lecteur s'en rendent compte tout seuls.
|
||||
|
||||
On utilise le Pi **« sans écran »** (on dit *headless*) : pas de clavier, pas
|
||||
d'écran, pas de souris. On lui parle **depuis son ordinateur portable**, par
|
||||
le Wi-Fi. C'est comme ça qu'il vivra dans la vitrine.
|
||||
|
||||
---
|
||||
|
||||
## Sommaire
|
||||
|
||||
1. [Ce qu'il faut](#1-ce-quil-faut)
|
||||
2. [Installer le système sur la carte SD](#2-installer-le-système-sur-la-carte-sd)
|
||||
3. [Premier démarrage](#3-premier-démarrage)
|
||||
4. [Se connecter au Pi (SSH)](#4-se-connecter-au-pi-ssh)
|
||||
5. [Copier le projet sur le Pi](#5-copier-le-projet-sur-le-pi)
|
||||
6. [Installation automatique](#6-installation-automatique)
|
||||
7. [Ce que fait l'installation (pour comprendre)](#7-ce-que-fait-linstallation-pour-comprendre)
|
||||
8. [Tester](#8-tester)
|
||||
9. [Les commandes de survie du terminal](#9-les-commandes-de-survie-du-terminal)
|
||||
10. [Problèmes fréquents](#10-problèmes-fréquents)
|
||||
|
||||
---
|
||||
|
||||
## 1. Ce qu'il faut
|
||||
|
||||
- Un Raspberry Pi **3B+, 4 ou Zero 2 W** et son bloc secteur.
|
||||
- Une carte micro-SD de 16 Go ou plus, et un lecteur de carte pour l'ordinateur.
|
||||
- Un ordinateur (Windows, macOS ou Linux) **sur le même réseau Wi-Fi** que le Pi.
|
||||
- Le nom et le mot de passe de ce réseau Wi-Fi.
|
||||
|
||||
> **Réseau de l'école** : les réseaux avec identifiant personnel (type
|
||||
> *eduroam*) sont compliqués à configurer sur un Pi. Le plus simple : utiliser
|
||||
> le **partage de connexion d'un téléphone** (point d'accès), auquel on
|
||||
> connecte le Pi **et** l'ordinateur. Notez son nom et son mot de passe.
|
||||
> Attention : le Pi 3B+ et le Zero 2 W ne voient que le Wi-Fi **2,4 GHz**
|
||||
> (sur iPhone : activer « Maximiser la compatibilité »).
|
||||
|
||||
---
|
||||
|
||||
## 2. Installer le système sur la carte SD
|
||||
|
||||
On utilise le logiciel officiel **Raspberry Pi Imager**.
|
||||
|
||||
1. Téléchargez-le et installez-le : <https://www.raspberrypi.com/software/>
|
||||
2. Insérez la carte SD dans l'ordinateur et lancez Raspberry Pi Imager.
|
||||
3. **Modèle** : choisissez votre Raspberry Pi.
|
||||
4. **Système d'exploitation** : *Raspberry Pi OS (other)* →
|
||||
**Raspberry Pi OS Lite (64-bit)**.
|
||||
« Lite » = sans bureau graphique : plus léger, démarre plus vite, et on
|
||||
n'a pas d'écran de toute façon.
|
||||
5. **Stockage** : votre carte SD. ⚠️ **Tout son contenu sera effacé.**
|
||||
6. Quand Imager propose de **personnaliser** le système (*customisation*,
|
||||
*Modifier réglages*), dites **oui** et remplissez :
|
||||
|
||||
| Réglage | Valeur conseillée | Pourquoi |
|
||||
|---|---|---|
|
||||
| Nom d'hôte (*hostname*) | `vitrine` | le nom du Pi sur le réseau : on le trouvera à l'adresse `vitrine.local` |
|
||||
| Nom d'utilisateur | `pixel` (par exemple) | votre compte sur le Pi |
|
||||
| Mot de passe | à choisir, **à noter** | |
|
||||
| Wi-Fi : nom (SSID) et mot de passe | ceux du réseau ou du téléphone | pour que le Pi se connecte tout seul |
|
||||
| Pays du Wi-Fi | `FR` | obligatoire pour activer le Wi-Fi |
|
||||
| Fuseau horaire / clavier | `Europe/Paris` / `fr` | pour que l'heure soit juste |
|
||||
| **SSH** (onglet *Services*) | **activer**, avec mot de passe | pour se connecter depuis l'ordinateur |
|
||||
|
||||
7. Lancez l'écriture et patientez (5 à 15 minutes). Imager vérifie la carte
|
||||
à la fin, puis l'éjecte.
|
||||
|
||||
> **Si vous avez plusieurs Pi**, donnez-leur des noms différents
|
||||
> (`vitrine1`, `vitrine2`…), sinon ils se gêneront sur le réseau.
|
||||
|
||||
---
|
||||
|
||||
## 3. Premier démarrage
|
||||
|
||||
1. Insérez la carte SD dans le Pi (contacts vers la carte).
|
||||
2. Branchez le bloc secteur. La LED rouge s'allume, la verte clignote :
|
||||
le Pi travaille.
|
||||
3. **Attendez 3 à 5 minutes** : au premier démarrage, le Pi s'installe,
|
||||
redémarre une ou deux fois, puis se connecte au Wi-Fi.
|
||||
|
||||
Pas besoin de brancher la matrice pour l'instant.
|
||||
|
||||
---
|
||||
|
||||
## 4. Se connecter au Pi (SSH)
|
||||
|
||||
**SSH** permet de taper des commandes sur le Pi depuis son ordinateur, comme
|
||||
si on avait un clavier branché dessus.
|
||||
|
||||
Ouvrez un **terminal** :
|
||||
|
||||
- **Windows** : menu Démarrer → tapez `PowerShell` → Entrée ;
|
||||
- **macOS** : Applications → Utilitaires → **Terminal** ;
|
||||
- **Linux** : le terminal habituel.
|
||||
|
||||
Tapez (en remplaçant `pixel` par votre nom d'utilisateur) :
|
||||
|
||||
```bash
|
||||
ssh pixel@vitrine.local
|
||||
```
|
||||
|
||||
- La première fois, il demande si vous faites confiance à cet ordinateur :
|
||||
tapez `yes` puis Entrée.
|
||||
- Puis votre **mot de passe**. ⚠️ **Rien ne s'affiche quand on le tape**, pas
|
||||
même des étoiles : c'est normal. Tapez-le et faites Entrée.
|
||||
|
||||
Vous êtes connecté quand la ligne commence par `pixel@vitrine:~ $`.
|
||||
Tout ce que vous tapez maintenant s'exécute **sur le Pi**.
|
||||
|
||||
Pour se déconnecter : `exit`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Copier le projet sur le Pi
|
||||
|
||||
Ouvrez un **deuxième terminal sur votre ordinateur** (pas dans la session
|
||||
SSH), placez-vous dans le dossier qui contient `8x32 PI`, puis :
|
||||
|
||||
```bash
|
||||
scp -r "8x32 PI" pixel@vitrine.local:~/vitrine
|
||||
```
|
||||
|
||||
`scp` = copie par SSH. Le dossier s'appellera simplement `vitrine` sur le Pi
|
||||
(sans espace dans le nom, c'est plus pratique dans un terminal).
|
||||
|
||||
> **Plutôt à la souris ?** Les logiciels gratuits **WinSCP** (Windows),
|
||||
> **Cyberduck** (macOS) ou **FileZilla** (tous) permettent de glisser-déposer
|
||||
> des fichiers sur le Pi. Choisissez le protocole **SFTP**, serveur
|
||||
> `vitrine.local`, votre nom d'utilisateur et votre mot de passe.
|
||||
|
||||
---
|
||||
|
||||
## 6. Installation automatique
|
||||
|
||||
Dans la **session SSH** (sur le Pi) :
|
||||
|
||||
```bash
|
||||
cd ~/vitrine
|
||||
```
|
||||
|
||||
```bash
|
||||
bash installation/installer.sh
|
||||
```
|
||||
|
||||
Le script installe tout ce qu'il faut (5 à 15 minutes). Il demande parfois
|
||||
votre mot de passe (pour `sudo`). À la fin, **redémarrez le Pi** :
|
||||
|
||||
```bash
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
La connexion SSH se coupe. Attendez une minute et reconnectez-vous
|
||||
(`ssh pixel@vitrine.local`).
|
||||
|
||||
---
|
||||
|
||||
## 7. Ce que fait l'installation (pour comprendre)
|
||||
|
||||
Le script [`installation/installer.sh`](installation/installer.sh) est
|
||||
commenté ligne par ligne. Voici ses 5 étapes, et les commandes qu'on taperait
|
||||
à la main :
|
||||
|
||||
**1. Installer des logiciels du système.** `apt` est le « magasin
|
||||
d'applications » de Raspberry Pi OS :
|
||||
|
||||
```bash
|
||||
sudo apt-get install -y python3-venv python3-pil python3-dev gcc
|
||||
```
|
||||
|
||||
**2. Créer un environnement Python** et y installer la bibliothèque qui
|
||||
parle aux LED. Un *environnement virtuel* est une boîte réservée au projet :
|
||||
on peut y installer des bibliothèques sans risquer d'abîmer le système.
|
||||
|
||||
```bash
|
||||
python3 -m venv --system-site-packages ~/vitrine-env
|
||||
```
|
||||
|
||||
```bash
|
||||
~/vitrine-env/bin/pip install rpi_ws281x
|
||||
```
|
||||
|
||||
C'est pour ça qu'on lance ensuite les programmes avec `~/vitrine-env/bin/python`
|
||||
et pas simplement `python3` : seul ce Python-là connaît `rpi_ws281x`.
|
||||
|
||||
**3. Désactiver la sortie son.** Sur le Pi, le son analogique et le signal des
|
||||
LED utilisent le **même circuit interne** (le générateur « PWM »). On ne peut
|
||||
pas avoir les deux. Dans le fichier de réglages `/boot/firmware/config.txt`,
|
||||
la ligne `dtparam=audio=on` devient `dtparam=audio=off`.
|
||||
|
||||
**4. Créer le dossier des animations** `/boot/firmware/animations` et y
|
||||
copier les exemples. Pourquoi là ? Voir [MODE_VITRINE.md](MODE_VITRINE.md) :
|
||||
c'est la partie de la carte SD que **tous les ordinateurs** savent ouvrir.
|
||||
|
||||
**5. Installer le service** de démarrage automatique (sans l'activer).
|
||||
Voir [MODE_VITRINE.md](MODE_VITRINE.md).
|
||||
|
||||
---
|
||||
|
||||
## 8. Tester
|
||||
|
||||
Branchez la matrice (voir [README, partie 6](README.md#6-brancher-étape-par-étape)),
|
||||
**alimentation d'établi allumée**, puis dans la session SSH :
|
||||
|
||||
```bash
|
||||
cd ~/vitrine
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo ~/vitrine-env/bin/python test_matrice.py
|
||||
```
|
||||
|
||||
Puis, si le test est bon :
|
||||
|
||||
```bash
|
||||
sudo ~/vitrine-env/bin/python lecteur.py
|
||||
```
|
||||
|
||||
**Ctrl + C** pour arrêter. Pour que le lecteur démarre tout seul à chaque
|
||||
allumage, voir [MODE_VITRINE.md](MODE_VITRINE.md).
|
||||
|
||||
---
|
||||
|
||||
## 9. Les commandes de survie du terminal
|
||||
|
||||
| Commande | Effet |
|
||||
|---|---|
|
||||
| `pwd` | « où suis-je ? » : affiche le dossier courant |
|
||||
| `ls` | liste les fichiers du dossier courant |
|
||||
| `cd vitrine` | entre dans le dossier `vitrine` |
|
||||
| `cd ..` | remonte d'un dossier |
|
||||
| `cd ~` | revient au dossier personnel |
|
||||
| `nano matrice.py` | ouvre un fichier dans un éditeur de texte simple (**Ctrl + O** puis Entrée : enregistrer ; **Ctrl + X** : quitter) |
|
||||
| **Ctrl + C** | arrête le programme en cours |
|
||||
| **Tab** | complète automatiquement un nom de fichier (gain de temps énorme !) |
|
||||
| **↑** | rappelle la commande précédente |
|
||||
| `sudo reboot` | redémarre le Pi |
|
||||
| `sudo poweroff` | éteint proprement le Pi (attendre que la LED verte ne clignote plus avant de débrancher) |
|
||||
| `exit` | quitte la session SSH |
|
||||
|
||||
---
|
||||
|
||||
## 10. Problèmes fréquents
|
||||
|
||||
| Symptôme | Cause probable | Solution |
|
||||
|---|---|---|
|
||||
| `ssh: Could not resolve hostname vitrine.local` | Le Pi n'a pas encore fini de démarrer | Attendre 2 minutes de plus |
|
||||
| | Pi et ordinateur sur deux réseaux différents | Les connecter au même Wi-Fi |
|
||||
| | Réseau qui bloque les noms `.local` (fréquent à l'école) | Trouver l'**adresse IP** du Pi (dans l'interface du téléphone en point d'accès, liste des appareils connectés) et faire `ssh pixel@192.168.x.x` |
|
||||
| | Mauvais Wi-Fi saisi dans Imager | Refaire la carte SD (partie 2) |
|
||||
| `Permission denied, please try again.` | Mauvais mot de passe ou nom d'utilisateur | Retaper ; attention au clavier (QWERTY / AZERTY) |
|
||||
| `WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!` | La carte SD a été refaite : le Pi a une nouvelle « empreinte » | `ssh-keygen -R vitrine.local`, puis se reconnecter |
|
||||
| `externally-managed-environment` lors d'un `pip install` | Installation hors de l'environnement virtuel | Utiliser `~/vitrine-env/bin/pip`, pas `pip` |
|
||||
| Erreur de compilation pendant l'installation de `rpi_ws281x` | Outils de compilation manquants | `sudo apt-get install -y python3-dev gcc`, puis relancer le script |
|
||||
| `config.txt introuvable` | Système qui n'est pas Raspberry Pi OS | Refaire la carte SD avec Raspberry Pi OS |
|
||||
Reference in New Issue
Block a user