Utiliser VSCode sur Raspberry PI

Ce guide complet et détaillé, pas à pas, est conçu pour vous accompagner dans la mise en place de votre projet entre Windows, VS Code et votre Raspberry Pi 3 (sous la dernière version de Raspberry Pi OS, Bookworm, sans interface graphique).

Vue d’ensemble du projet

  1. Connexion distante : Utiliser VS Code sur Windows pour coder directement sur le Raspberry Pi via le protocole SSH.
  2. Le Matériel : Une LED externe branchée sur une broche GPIO (par exemple la broche GPIO 17) et une résistance.
  3. Le Logiciel : Un serveur web léger en Python (avec Flask) écoutant sur le port 8888 pour proposer une page web avec des boutons de vitesse.
  4. L’Automatisation : Un service système (systemd) pour que l’application démarre toute seule dès l’allumage du Raspberry Pi.

Étape 1 : Configuration initiale du Raspberry Pi (avec écran/clavier)

Puisque votre Raspberry Pi n’a pas d’interface graphique (OS « Lite »), branchez un écran et un clavier pour la toute première configuration :

  1. Au premier démarrage, connectez-vous avec votre nom d’utilisateur et votre mot de passe.
  2. Lancez l’outil de configuration :
    Bashsudo raspi-config
  3. Activez le SSH : Allez dans Interface Options -> SSH -> Activez-le (Yes).
  4. Configurez le Wi-Fi (si nécessaire) : Allez dans System Options -> Wireless LAN pour connecter votre Pi à votre réseau local.
  5. Récupérez l’adresse IP locale du Pi :
    Bashhostname -I Notez cette adresse IP (par exemple 192.168.1.50). Vous pouvez aussi utiliser son nom d’hôte par défaut (raspberrypi.local).
  6. Vous pouvez maintenant débrancher l’écran et le clavier, la suite se fera entièrement depuis votre PC Windows !

Étape 2 : Connecter VS Code sous Windows au Raspberry Pi (Remote-SSH)

Pour coder sur le Pi comme s’il était dans votre PC :

  1. Sur votre PC Windows, ouvrez VS Code.
  2. Allez dans l’onglet des extensions (icône de carrés sur le côté ou Ctrl + Shift + X), cherchez et installez Remote – SSH (de Microsoft).
  3. Ouvrez le terminal de VS Code (ou l’invite de commande Windows) et générez une clé SSH (si ce n’est pas déjà fait) :
    Bashssh-keygen (Appuyez sur Entrée à chaque étape pour valider les choix par défaut).
  4. Copiez cette clé sur votre Raspberry Pi (remplacez pi par votre nom d’utilisateur et l’IP par celle de votre Pi) :
    Bashssh-copy-id pi@192.168.1.50 Entrez votre mot de passe une dernière fois. Désormais, la connexion se fera sans mot de passe.
  5. Dans VS Code, appuyez sur F1 (ou Ctrl + Shift + P), tapez et sélectionnez : Remote-SSH: Connect to Host....
  6. Entrez : pi@192.168.1.50 (ou pi@raspberrypi.local).
  7. Une nouvelle fenêtre VS Code s’ouvre, connectée au Raspberry Pi. Ouvrez un dossier (ex: /home/pi/projet_led) pour commencer à travailler.

Étape 3 : Installer les bibliothèques nécessaires sur le Pi

Sur le dernier Raspberry Pi OS (Bookworm), Python protège son système de paquets globaux. Le moyen le plus propre et recommandé pour installer Flask et la gestion des GPIO est d’utiliser les paquets officiels du système (apt).

Ouvrez le terminal intégré dans VS Code (qui est connecté au Pi) et tapez :

Bash

  • python3-flask : Le mini-framework pour créer le serveur web.
  • python3-gpiozero : La bibliothèque moderne et ultra-simple pour piloter les GPIO en Python.

Étape 4 : Créer le code du projet (Serveur Web + GPIO)

Créez l’arborescence de fichiers suivante dans votre espace de travail VS Code :

Plaintext

1. Le code HTML de la page web (templates/index.html)

Ce fichier contiendra les boutons permettant à l’utilisateur de choisir la vitesse de clignotement ou d’éteindre la LED.

HTML

2. Le code Python du serveur (app.py)

Ce script gère les requêtes web et fait clignoter la LED en arrière-plan à l’aide de threads pour ne pas bloquer le serveur web.

Python

3. Testez votre application manuellement

Dans le terminal de VS Code, lancez votre script :

Bash

Ouvrez un navigateur web sur votre PC Windows et rendez-vous à l’adresse :

[http://192.168.1.50:8888](http://192.168.1.50:8888) (remplacez par l’IP de votre Pi). Vous devriez voir la page web et pouvoir contrôler votre LED externe en direct !

Étape 5 : Automatiser le démarrage au boot (Service Systemd)

Pour que votre script se lance tout seul dès que le Raspberry Pi s’allume, nous allons créer un service système.

  1. Créez un fichier de service systemd avec les privilèges administrateur :
    Bashsudo nano /etc/systemd/system/webled.service
  2. Collez la configuration suivante (adaptez le chemin /home/pi/projet_led/app.py si votre dossier a un autre nom) :
    Ini, TOML[Unit] Description=Serveur Web Flask Controle LED GPIO After=network.target [Service] User=pi WorkingDirectory=/home/pi/projet_led ExecStart=/usr/bin/python3 /home/pi/projet_led/app.py Restart=always [Install] WantedBy=multi-user.target
  3. Sauvegardez et quittez (Ctrl + O, puis Entrée, puis Ctrl + X sous Nano).
  4. Informez le système de l’existence de ce nouveau service, activez-le et démarrez-le :
    Bashsudo systemctl daemon-reload sudo systemctl enable webled.service sudo systemctl start webled.service
  5. Vérifiez que tout fonctionne bien :
    Bashsudo systemctl status webled.service Si le statut indique active (running), félicitations ! Votre application tourne en arrière-plan et redémarrera automatiquement même après une coupure de courant.