Skip to main content

Étape 1 : Se connecter à la Raspberry Pi via SSH

Nous voulions une configuration minimale, nous ne voulions pas dépendre de périphériques pour développer le système : mode sans écran (Headless Mode). Nous voulions que cette approche aide les e-makers à répliquer le système sans dépendre de ces composants (périphériques) qui peuvent poser problème s'ils ne sont pas disponibles (comme dans notre cas, un câble mini HDMI vers HDMI), et leur faciliter le passage à un environnement non-Desktop s'ils le souhaitent. Le hub USB peut même être supprimé et la caméra peut être connectée au port micro USB du Pi avec un connecteur USB vers micro USB.

Pour ce faire, nous nous sommes connectés à la Raspberry Pi via SSH, mais cela ne suffisait pas pour la phase de développement. Nous avons rapidement constaté qu'un environnement de bureau est très utile pour diverses tâches (scripting, transfert de fichiers, gestion des fichiers). Nous avons pu utiliser pleinement la version de bureau en nous connectant au Pi via VNC, projetant ainsi la sortie HDMI sur notre écran sans fil. Bien que cela ne soit pas nécessaire pour la réplication ou la maintenance du système, cela s'est avéré très utile pendant le développement.

 Étape 1 : Préparation de la carte SD

1. Télécharger le Raspberry Pi Imager :
    - Visitez le site web de Raspberry Pi et téléchargez le Raspberry Pi Imager pour Windows.
    - Installez et lancez le logiciel.

2. Insérer la carte SD:
    - Insérez votre carte micro SD dans le lecteur de cartes SD et connectez-le à votre PC .

3. Écrire le système d'exploitation :
    - Dans le Raspberry Pi Imager, cliquez sur "CHOOSE OS" et sélectionnez "Raspberry Pi OS (64-bit)" ou une autre version selon vos besoins.
    - Cliquez sur "CHOOSE SD CARD" et sélectionnez votre carte micro SD.
    - Cliquez sur "WRITE" pour écrire le système d'exploitation sur la carte SD. Cela prendra quelques minutes.

Attention, cela va effacer toutes les données de la carte SD. Veuillez vérifier qu'elle ne contient rien d'important avant de continuer.

pi-imager.png

 Étape 2 : Configurer le Pi pour un fonctionnement sans écran

1.Activer SSH :
    - Après la fin du processus d'écriture, vous devez activer SSH pour permettre les connexions à distance. Éjectez et réinsérez la carte SD dans votre PC.
    - Ouvrez la carte SD dans l'Explorateur de fichiers et créez un fichier vide nommé `ssh` (sans extension) à la racine de la carte SD. Ce fichier active SSH au démarrage.

2. Configurer le Wi-Fi:
    - Créez un fichier nommé `wpa_supplicant.conf` à la racine de la carte SD.
    - Ouvrez `wpa_supplicant.conf` dans un éditeur de texte (comme Notepad) et ajoutez le contenu suivant, en remplaçant `YOUR_SSID` et `YOUR_PASSWORD` par le SSID et le mot de passe de votre réseau Wi-Fi :
   

country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="YOUR_SSID"
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
}

 

  - Enregistrez et fermez le fichier.

Attention, la Raspberry Pi ne peut se connecter qu'au Wi-Fi de 2.4GHz.

Astuce : Vous pouvez passer ces étapes et faire tout cela à travers Raspberry Pi Imager. Dans le menu de personnalisation générale de l'OS, avant de flasher l'OS, une option apparaît vous demandant si vous voulez personnaliser l'OS. Tapez "Edit Settings" et vous y êtes.

os-customisation-general.png

On vous conseille de ne pas changer le hostname. Par défaut, c'est "raspberrypi". Changez votre 'username' et 'password' à quelque chose de simple, par exemple "pi" et "pi". Remplissez le reste des informations restantes sur la page. Ensuite, naviguez vers 'SERVICES' et activez SSH. Cochez "Enable SSH" et sélectionnez "Use password authentication" (normalement cela se sélectionnera automatiquement lorsque vous cochez SSH).

 Étape 3 : Démarrer le Raspberry Pi

1. Insérer la carte SD dans le Raspberry Pi :
    - Éjectez en toute sécurité la carte SD de votre PC et insérez-la dans le Raspberry Pi Zero 2W.

2. Mettre sous tension le Raspberry Pi :
    - Connectez le Raspberry Pi à une source d'alimentation à l'aide d'un câble micro USB.

 Étape 4 : Se connecter au Raspberry Pi depuis votre ordinateur

  1. Trouver l'adresse IP du Raspberry Pi :
        - Utilisez l'interface web de votre routeur pour trouver l'adresse IP du Raspberry Pi, ou utilisez un outil de balayage réseau comme Advanced IP Scanner. 

    Dans notre cas, nous avons partagé la connexion Internet depuis notre téléphone portable (iOS) pour connecter le Raspberry Pi à Internet. Pour trouver son adresse IP, malheureusement, il n'y a pas moyen de voir les adresses IP des appareils connectés à votre connexion sur iOS. Cependant, après un peu de recherche, nous avons découvert que les adresses IP des appareils connectés se situent entre 172.20.10.0 et 172.20.10.15.

    https://charsiurice.wordpress.com/2021/02/08/iphone-hotspot-subnet-info/

2. Se connecter via SSH :
    - Ouvrez un terminal sur votre PC .
    - Utilisez la commande SSH pour vous connecter à votre Raspberry Pi. Remplacez `pi` par votre nom d'utilisateur (par défaut, c'est `pi`), et `x.x.x.x` par l'adresse IP de votre Raspberry Pi :

ping x.x.x.x #pour verifier si votre pi est connecter , utile pour scannez rapidement et trouver sur quelle adress ip votre pi ce situe

ssh pi@x.x.x.x 


    - Lorsque vous y êtes invité, entrez le mot de passe  (raspberry si vous ne l'avez pas modifié).

Étape 5 : Configuration finale

1. Mise à jour et mise à niveau :
   Une fois connecté, mettez à jour le logiciel de votre Raspberry Pi. en utilisant la commande suivante :

sudo apt update && sudo apt full-upgrade -y

Si vous utilisez une version d'OS avec environnement de bureau, vous pourriez rencontrer des problèmes, notamment sur le Pi Zero 2W qui dispose de 512 Mo de mémoire et peut ne pas avoir suffisamment d'espace swap pour effectuer la mise à jour.

    • À partir d'une fenêtre Terminal, entrez la commande "swapon". La réponse vous donnera le nom du fichier, sa taille et l'utilisation du fichier swap.

    • Par défaut, la taille du fichier swap est de 100 Mo, ce qui pourrait ne pas être suffisant avec 512 Mo de mémoire.

    • Modifiez le fichier /etc/dphys-swapfile en changeant CONF_SWAPSIZE=100 à CONF_SWAPSIZE=1024. Redémarrez, puis avant de faire quoi que ce soit, entrez la commande "swapon" dans une fenêtre Terminal pour vérifier l'utilisation de l'espace swap.

sudo nano /etc/dphys-swapfile

plus d'info la : https://forums.raspberrypi.com/viewtopic.php?t=359240

                        https://github.com/RPi-Distro/repo/issues/353

 

Informations additionnelles et d'autres problèmes rencontrés avec leur solutions 

En cas de complications, veuillez consulter les liens suivants :

https://www.raspberrypi.com/documentation/computers/getting-started.html

https://youtu.be/3eGP00uXcUU?feature=shared

https://youtu.be/yn59qX-Td3E?feature=shared (pour ce connecter en VNC )

https://forums.raspberrypi.com/viewtopic.php?t=264816&sid=ce4fb96eab34f88644b77686bf9472c4

Vous pouvez facilement transférer des fichiers entre votre machine et la Pi à travers VNC mais nécessite un OS avec version bureautique 

Pour des raisons de sécurité, changez le mot de passe par défaut :

passwd

Pour vérifiez l'utilisation des ressources système :

top

 

Manipulation des périphériques USB via le terminal

Trouver le périphérique USB :

  1. Utilisez la commande `lsblk` pour lister tous les périphériques de bloc.
  2. Identifiez le périphérique USB dans la sortie, généralement listé sous `/dev/sdX`  ou '/sdX' où X est une lettre correspondant au périphérique.
pi@raspberrypi:~ $ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    1  7.5G  0 disk
└─sda1        8:1    1  7.5G  0 part /media/pi/8097-5224
mmcblk0     179:0    0   29G  0 disk
├─mmcblk0p1 179:1    0  512M  0 part /boot/firmware
└─mmcblk0p2 179:2    0 28.5G  0 part /
pi@raspberrypi:~ $

 

Monter le périphérique USB :

  1. Créez un répertoire point de montage à l'aide de `mkdir`, par exemple : 
    mkdir ~/usb
    .
    2. Montez le périphérique USB sur le répertoire point de montage à l'aide de 
    sudo mount /dev/sdXN ~/usb
    en remplaçant `/dev/sdXN` par le fichier de périphérique réel.

Accéder au périphérique USB :

1. Changez votre répertoire courant vers le répertoire point de montage à l'aide de `cd`, par exemple : 

cd ~/usb

 Copier des fichiers :

1. Utilisez la commande `cp` pour copier des fichiers depuis votre système vers le périphérique USB, par exemple : `

cp /chemin/vers/fichier/source ~/usb

`.

 Démonter le périphérique USB :

1. Assurez-vous de ne pas être dans le répertoire point de montage du périphérique USB.
2. Démontez le périphérique USB à l'aide de `

sudo umount ~/usb

`.

Nettoyage (optionnel) :

1. Supprimez le répertoire point de montage s'il n'est plus nécessaire à l'aide de `rmdir`, par exemple : `

rmdir ~/usb

`.

 

N'oubliez pas de remplacer les espaces réservés comme `/dev/sdXN` par le fichier de périphérique réel et d'ajuster les chemins et les commandes selon votre configuration système.

Une fois ces étapes suivies, vous devriez pouvoir gérer efficacement les clés USB via le terminal. En cas de problème ou si vous avez d'autres questions, n'hésitez pas à demander !

 

Copier des fichiers vers le périphérique USB :

Utilisez la commande `cp` suivie du fichier source ou du répertoire et du répertoire de destination (le périphérique USB monté).

Pour un seul fichier :

 

cp chemin/vers/le/fichier /chemin/vers/usb/monté


Pour plusieurs fichiers ou tous les fichiers dans un répertoire :

cp -r * /chemin/vers/usb/monté

Problème :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Lors de la tentative de connexion SSH à l'adresse IP 172.20.10.4 depuis un ordinateur Windows, un avertissement est affiché indiquant que l'identification de l'hôte distant a changé. Cela est dû au fait que la clé d'hôte de votre Raspberry Pi a été modifiée, ce qui peut se produire lorsqu'une nouvelle carte SD est utilisée ou lors d'une réinstallation du système.

Solution :
Pour résoudre ce problème, vous devez supprimer l'ancienne entrée de clé d'hôte de votre fichier `known_hosts` sur votre PC Windows. Voici comment procéder :

1. Ouvrez PowerShell sur votre PC Windows.

2. Supprimez l'ancienne clé dans le fichier `known_hosts` :
   Utilisez la commande suivante dans PowerShell pour supprimer la clé d'hôte offensante :

ssh-keygen -R 172.20.10.4

   Cette commande supprime l'ancienne clé pour l'adresse IP spécifiée (`172.20.10.4`) du fichier `known_hosts`.

3. Vérifiez la suppression de l'entrée :
   Vous pouvez également ouvrir manuellement le fichier `C:\Users\admin\.ssh\known_hosts` dans Notepad et supprimer la ligne correspondant à `172.20.10.4`. Enregistrez et fermez le fichier après la suppression.

4. Connectez-vous à nouveau :
   Après avoir supprimé l'ancienne entrée de clé d'hôte, essayez de vous connecter à nouveau à votre Raspberry Pi avec la commande SSH : 

 ssh pi@172.20.10.4

   Vous devriez maintenant être invité à accepter la nouvelle clé d'hôte. Voici un exemple de ce à quoi cela ressemble généralement :

   ```
   The authenticity of host '172.20.10.4 (172.20.10.4)' can't be established.
   ECDSA key fingerprint is SHA256:V+qB6UChyimRn+LquGUGpyYMDRyrfYmC4EAJ6Z3E3pI.
   Are you sure you want to continue connecting (yes/no/[fingerprint])?
   ```

5. Acceptez la nouvelle clé d'hôte :
   Tapez `yes` et appuyez sur Entrée pour ajouter la nouvelle clé d'hôte à votre fichier `known_hosts`. Vous devriez maintenant pouvoir vous connecter sans problème à votre Raspberry Pi.

Cette procédure permet de résoudre le problème de vérification de la clé d'hôte modifiée lors de la connexion SSH à votre Raspberry Pi depuis votre PC Windows.

 

FIN