Raspberry Pi : une plateforme de prototypage à base de microprocesseur

« Le Raspberry Pi est un nano-ordinateur monocarte (...). [Il] permet l'exécution de plusieurs variantes du système d'exploitation libre GNU/Linux, notamment Debian ou Ubuntu, ainsi que des logiciels compatibles (...). Il est initialement fourni nu, carte mère seule, donc sans boîtier, câble d'alimentation, clavier, souris ou écran, dans l'objectif de diminuer les coûts (...) Le Raspberry Pi dispose de pins (broches) GPIO qui permettent la connexion de cartes d'extension ou d'autres composants électroniques pour réaliser des montages. » (Wikipédia)

Caractéristiques

Raspberry Pi 3B+ Raspberry Pi Zero W
Microprocesseur Cortex-A53 (ARMv8) 64-bit @ 1.4GHz ARM1176JZF-S (ARM11) 32-bit @ 1GHz
Mémoire vive (RAM) 1GB LPDDR2 512MB
Ethernet Gigabit Ethernet over USB 2.0 (300Mbps max) /
Wifi Wifi 5 (802.11ac 2,4/5GHz, 1,3Mb/s) Wifi 4 (802.11n 2,4/5GHz, 450Mb/s)
Bluetooth Bluetooth 4.2 BLE Bluetooth 4.1 BLE
Sorties vidéo Port DSI, sortie HDMI + composite (jack 3.5mm) Port DSI, sortie Mini-HDMI
Entrées vidéo Port CSI (caméra) Port CSI (caméra)
E/S audio Sortie stéréo + entrée micro (jack 3.5mm) Sortie stéréo + entrée micro (jack 3.5mm)
USB 4xUSB2 1xµUSB2
Ports GPIO 17 × GPIO, UART, I²C, SPI, I²S, +3.3V, +5V 17 × GPIO, UART, I²C, SPI, I²S, +3.3V, +5V
Stockage MicroSD MicroSD
Alimentation recommandée 5V/2,5A CC (µUSB, GPIO) 5V/2A (µUSB, GPIO)
Puissance nominale 800mA 230mA
Dimensions 85x56x17mm 65×31x5mm

N.B. : chaque ligne de code est une commande différente et doit être exécutée en appuyant sur Entrée. La casse doit être respectée (ex.: -R est différent de -r). Toutes les commandes doivent être exécutées en tant que superutilisateur. Le code indiqué entre chevrons < > est à remplacer par la valeur correspondante. Le code suivant un dièse # est un commentaire.

Création du support d'installation du système

Méthode 1 : avec Raspberry Pi Imager

Méthode 2 : en ligne de commande (Linux uniquement)

fdisk -l # Liste les volumes existants
dd if=<image_os.img> of=/dev/<sdx> bs=4M status=progress && sync # Où <sdx> est la carte µSD et <image_os.img> l'image à graver

Méthode 3 : avec Rufus (Windows uniquement)

Télécharger Rufus pour Windows. NB : sous Windows 10, par défaut, le système refuse l'accès aux dossiers et disques à certaines applications. Dans les paramètres système, désactiver le Dispositif d'accès contrôlé aux dossiers le temps de l'opération.

Méthode 4 : avec Balena Etcher

curl -1sLf \
   'https://dl.cloudsmith.io/public/balena/etcher/setup.deb.sh' \
   | sudo -E bash
sudo apt-get update
sudo apt-get install balena-etcher-electron

Après avoir flashé l'image système en ligne de commande, avec Rufus ou Balena Etcher, créer un fichier vide nommé "ssh" à la racine de la partition boot de la carte µSD pour autoriser les connexions ssh au démarrage :

touch ssh

Démarrage et Configuration

nmap -sP <adresse_reseau/masque> # remplacer par l'adresse du réseau ; renvoie l'IP, l'adresse MAC et le constructeur associé
ssh pi@<ip> # Répondre yes puis taper le mot de passe
apt update && sudo apt dist-upgrade 
raspi-config

Le menu raspi-config permet de changer la localisation, le mot de passe et les interfaces ouvertes (ssh, wifi, vnc, série, I2C…).

Connexion VNC

Il est possible de se connecter en VNC en activant le serveur RealVNC du RPi dans raspi-config et en utilisant un client VNC sur la machine locale (celui de RealVNC par exemple). Il suffit ensuite de lancer le client et d'entrer l'adresse IP du RPi dans la barre d'adresse.