You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/fr/TROUBLESHOOTING.md

32 KiB

Guide de dépannage

Ce guide vous aide à résoudre les problèmes courants rencontrés lors de l'utilisation du programme IoT for Beginners. Les problèmes sont organisés par catégorie pour une navigation facile.

Table des matières


Problèmes d'installation

Installation de Python

Problème : Version de Python trop ancienne

Erreur : Python 3.6 ou supérieur est requis

Solution :

  1. Téléchargez la dernière version de Python 3 depuis python.org
  2. Lors de l'installation sous Windows, cochez « Add Python to PATH »
  3. Vérifiez l'installation :
    python3 --version
    

Problème : Plusieurs versions de Python causant des conflits

Symptômes : Mauvaise version de Python utilisée, les paquets s'installent dans un mauvais emplacement

Solution :

  • Windows : Utilisez py -3 au lieu de python pour appeler explicitement Python 3
  • macOS/Linux : Utilisez python3 au lieu de python
  • Créez toujours et utilisez des environnements virtuels pour vos projets

Problème : Commande pip introuvable

Erreur : 'pip' n'est pas reconnu en tant que commande interne ou externe

Solution :

  1. Essayez pip3 au lieu de pip
  2. Ou utilisez python -m pip ou python3 -m pip
  3. Assurez-vous que Python est ajouté au PATH (réinstallez Python et cochez cette option)

VS Code et extensions

Problème : Extension Pylance ne fonctionne pas

Symptômes : Pas d'IntelliSense Python, autocomplétion ou vérification de type

Solution :

  1. Ouvrez la palette de commandes VS Code (Ctrl+Shift+P ou Cmd+Shift+P)
  2. Exécutez « Python: Select Interpreter »
  3. Choisissez le bon interpréteur Python (environnement virtuel si utilisé)
  4. Rechargez la fenêtre VS Code

Problème : VS Code ne détecte pas l'environnement virtuel

Symptômes : Mauvais interpréteur Python sélectionné

Solution :

  1. Assurez-vous d'avoir activé l'environnement virtuel dans le terminal
  2. Ouvrez la palette de commandes et exécutez « Python: Select Interpreter »
  3. Sélectionnez l'interpréteur dans le dossier .venv
  4. Vérifiez que la barre d'état (en bas à gauche) affiche la bonne version de Python

PlatformIO (Wio Terminal)

Problème : Échec de l'installation de PlatformIO

Erreur : Erreurs diverses lors de l'installation de PlatformIO

Solution :

  1. Assurez-vous que VS Code est à jour
  2. Installez d'abord l'extension C/C++
  3. Redémarrez VS Code après l'installation de PlatformIO
  4. Vérifiez votre connexion internet (PlatformIO télécharge de gros fichiers)

Problème : Carte non détectée par PlatformIO

Symptômes : Impossible de téléverser du code sur le Wio Terminal

Solution :

  1. Essayez un autre câble USB (certains câbles sont uniquement pour la charge)
  2. Vérifiez le Gestionnaire de périphériques (Windows) ou ls /dev/tty* (macOS/Linux)
  3. Installez ou mettez à jour les pilotes USB
  4. Essayez un autre port USB
  5. Faites glisser l'interrupteur d'alimentation du Wio Terminal deux fois rapidement pour entrer en mode bootloader

Problème : Erreurs de compilation dans PlatformIO

Erreur : fatal error: Arduino.h: No such file or directory

Solution :

  1. Supprimez le dossier .pio dans votre projet
  2. Exécutez « PlatformIO: Rebuild » depuis la palette de commandes
  3. Assurez-vous que platformio.ini a la bonne configuration de carte :
    [env:seeed_wio_terminal]
    platform = atmelsam
    board = seeed_wio_terminal
    framework = arduino
    

Bibliothèques Grove

Problème : Échec d'importation de la bibliothèque Grove sur Raspberry Pi

Erreur : ModuleNotFoundError: No module named 'grove'

Solution :

  1. Réinstallez les bibliothèques Grove :
    cd ~
    git clone https://github.com/Seeed-Studio/grove.py
    cd grove.py
    sudo pip3 install .
    
  2. Si vous utilisez un environnement virtuel, il peut être nécessaire d'installer globalement ou de copier les bibliothèques
  3. Vérifiez que l'I2C est activé : sudo raspi-config nonint do_i2c 0

Problème : Capteur Grove non détecté

Erreur : IOError: [Errno 121] Remote I/O error

Solution :

  1. Vérifiez les connexions physiques (assurez-vous que le câble Grove est bien inséré)
  2. Vérifiez que le capteur est connecté au bon port (analogique, digital, I2C, UART)
  3. Exécutez i2cdetect -y 1 pour voir si l'appareil apparaît sur le bus I2C
  4. Essayez un autre câble Grove
  5. Assurez-vous que la Grove Base Hat est bien emboîtée sur les broches GPIO du Raspberry Pi

Problèmes matériels

Raspberry Pi

Problème : Le Raspberry Pi ne démarre pas

Symptômes : Pas d'affichage, pas d'activité LED ou écran arc-en-ciel

Solution :

  1. Vérifiez l'alimentation : Utilisez l'alimentation officielle USB-C 5V 3A pour Pi 4
  2. Problèmes de carte SD :
    • Reformatez la carte SD et réinstallez Raspberry Pi OS
    • Essayez une autre carte SD (utilisez des marques recommandées)
    • Assurez-vous que la carte SD est bien insérée
  3. Vérifiez la connexion HDMI : Essayez les deux ports HDMI sur le Pi 4, utilisez le port HDMI le plus proche de l'alimentation

Problème : Impossible de se connecter en SSH au Raspberry Pi

Symptômes : Connexion refusée ou délai d'attente expiré

Solution :

  1. Activez SSH :
    • Lors du flashage de la carte SD avec Raspberry Pi Imager, configurez SSH dans les options avancées
    • Ou créez un fichier vide nommé ssh (sans extension) dans la partition de démarrage
  2. Trouvez l'adresse IP du Pi :
    • Vérifiez les périphériques connectés sur votre routeur
    • Utilisez ping raspberrypi.local (si mDNS fonctionne)
    • Utilisez des outils de scan réseau comme nmap ou Angry IP Scanner
  3. Vérifiez le réseau :
    • Assurez-vous que le Pi est sur le même réseau que votre ordinateur
    • Essayez une connexion Ethernet au lieu du WiFi
  4. Vérifiez nom d'utilisateur/mot de passe (par défaut : utilisateur pi, mot de passe raspberry)

Problème : Grove Base Hat non reconnu

Symptômes : Capteurs ne fonctionnant pas, erreurs I2C

Solution :

  1. Assurez-vous que la Base Hat est bien emboîtée sur toutes les broches GPIO
  2. Vérifiez qu'il n'y a pas de broches tordues sur le Pi ou la Base Hat
  3. Activez l'interface I2C :
    sudo raspi-config nonint do_i2c 0
    sudo reboot
    
  4. Vérifiez que l'I2C fonctionne : i2cdetect -y 1

Problème : Raspberry Pi lent

Symptômes : Interface utilisateur lente, réponse tardive

Solution :

  1. Vérifiez la vitesse de la carte SD (utilisez une classe 10 ou mieux, ou un SSD via USB)
  2. Libérez de l'espace disque : df -h pour vérifier, supprimez les fichiers inutiles
  3. Réduisez la mémoire GPU dans raspi-config si la caméra/affichage n'est pas beaucoup utilisé
  4. Fermez les applications inutiles
  5. Envisagez de passer à un Pi 4 avec plus de RAM si vous utilisez un Pi 3 ou plus ancien

Wio Terminal

Problème : L'écran du Wio Terminal reste noir

Symptômes : Pas d'affichage après téléversement du code

Solution :

  1. Vérifiez que le code initialise l'écran (bibliothèque TFT_eSPI)
  2. Mettez à jour le firmware du Wio Terminal depuis Seeed Wiki
  3. Ajoutez le code d'initialisation de l'écran :
    #include <TFT_eSPI.h>
    TFT_eSPI tft;
    tft.begin();
    tft.fillScreen(TFT_BLACK);
    
  4. Essayez de téléverser un sketch exemple depuis PlatformIO pour tester le matériel

Problème : WiFi ne fonctionne pas sur Wio Terminal

Symptômes : Impossible de se connecter au WiFi, erreurs réseau

Solution :

  1. Mettez à jour le firmware WiFi : Suivez le guide de mise à jour du firmware WiFi du Wio Terminal ici
  2. Vérifiez les identifiants WiFi : Assurez-vous que le SSID et le mot de passe sont corrects
  3. Bande WiFi : Le Wio Terminal supporte uniquement le WiFi 2.4 GHz (pas 5 GHz)
  4. Force du signal : Rapprochez-vous du routeur
  5. Paramètres du routeur : Certains réseaux enterprise/WPA-Enterprise peuvent ne pas fonctionner

Problème : Wio Terminal non reconnu par l'ordinateur

Symptômes : Périphérique USB non détecté

Solution :

  1. Essayez un autre câble USB : Utilisez un câble data, pas uniquement charge
  2. Entrez en mode bootloader : Faites glisser l'interrupteur d'alimentation vers le bas deux fois rapidement
    • La LED bleue doit pulser, l'appareil apparait comme « Arduino » dans le Gestionnaire de périphériques
  3. Installez les pilotes (Windows) :
  4. Essayez un autre port USB : Évitez les hubs USB, connectez directement
  5. Mettez à jour les pilotes USB du système

Problème : Capteurs ne fonctionnent pas sur Wio Terminal

Symptômes : Capteurs Grove ne lisant pas les données

Solution :

  1. Vérifiez les connexions des câbles Grove
  2. Vérifiez que vous utilisez le bon port Grove (gauche ou droite)
  3. Incluez les bonnes bibliothèques pour le capteur
  4. Vérifiez les besoins en alimentation du capteur
  5. Testez le capteur avec le code exemple de la bibliothèque

Appareil virtuel (CounterFit)

Problème : L'application CounterFit ne démarre pas

Erreur : Erreurs Python diverses au démarrage de CounterFit

Solution :

  1. Assurez-vous que l'environnement virtuel est activé
  2. Installez/réinstallez CounterFit :
    pip install CounterFit
    
  3. Vérifiez que le port 5000 n'est pas déjà utilisé :
    • Windows : netstat -ano | findstr :5000
    • macOS/Linux : lsof -i :5000
  4. Tuez le processus utilisant le port 5000 ou utilisez un autre port :
    counterfit --port 5001
    

Problème : Impossible de se connecter à CounterFit depuis le code

Erreur : Connexion refusée ou délai expiré

Solution :

  1. Vérifiez que CounterFit tourne : ouvrez le navigateur sur http://127.0.0.1:5000
  2. Vérifiez que l'URL de connexion dans le code correspond à l'adresse de CounterFit
  3. Assurez-vous que le pare-feu ne bloque pas la connexion
  4. Essayez de redémarrer à la fois l'application CounterFit et votre code

Problème : Capteurs n'apparaissent pas dans CounterFit

Symptômes : Les capteurs créés n'apparaissent pas dans l'interface CounterFit

Solution :

  1. Créez les capteurs dans l'interface CounterFit avant d'exécuter le code
  2. Rafraîchissez la page du navigateur
  3. Vérifiez que le type de capteur correspond à ce que le code attend
  4. Videz le cache du navigateur

Problèmes de connectivité

Connexion WiFi

Problème : L'appareil ne peut pas se connecter au WiFi

Symptômes : Délai de connexion dépassé, échec d'authentification

Solution :

  1. Vérifiez le SSID et le mot de passe : Assurez-vous que les identifiants sont corrects
  2. Bande WiFi : La plupart des périphériques IoT supportent seulement le 2.4 GHz (pas 5 GHz)
  3. Paramètres du routeur :
    • Désactivez l'isolation AP si activée
    • Utilisez la sécurité WPA2-PSK (évitez WPA3, WEP ou réseaux ouverts)
    • Assurez-vous que le DHCP est activé
  4. Réseaux cachés : Si le SSID est caché, configurez-le explicitement
  5. Force du signal : Rapprochez l'appareil du routeur
  6. Interférences : Les autres appareils, micro-ondes ou murs peuvent créer des interférences

Problème : La connexion WiFi tombe fréquemment

Symptômes : Connectivité intermittente

Solution :

  1. Vérifiez la stabilité du routeur et envisagez un redémarrage
  2. Mettez à jour le firmware de l'appareil
  3. Utilisez une IP statique au lieu de DHCP
  4. Réduisez la distance au routeur ou ajoutez un répéteur WiFi
  5. Vérifiez les interférences d'autres appareils
  6. Vérifiez que l'alimentation est adéquate (surtout pour Raspberry Pi)

Services cloud

Problème : Impossible de se connecter à Azure IoT Hub

Erreur : Authentification échouée, connexion refusée

Solution :

  1. Vérifiez les identifiants :
    • Assurez-vous que la chaîne de connexion est correcte
    • Évitez les espaces ou retours à la ligne dans la chaîne de connexion
  2. Vérifiez l'enregistrement de l'appareil : L'appareil doit être enregistré dans l'IoT Hub
  3. Pare-feu/proxy : Assurez-vous que les ports MQTT sortants (8883) ou HTTPS (443) sont autorisés
  4. Région de l'IoT Hub : Assurez-vous que l'IoT Hub fonctionne et n'est pas dans une autre région causant de la latence
  5. Limites de quota : Vérifiez si les limites du niveau gratuit sont dépassées
  6. Testez la connexion :
    az iot hub device-identity show-connection-string --hub-name YourIoTHub --device-id YourDevice
    

Problème : Les Azure Functions ne se déclenchent pas

Symptômes : Messages envoyés mais fonction non exécutée

Solution :

  1. Vérifiez que l'application Function App est en fonctionnement (pas arrêtée)
  2. Vérifiez la chaîne de connexion dans les paramètres de la Function App
  3. Consultez les logs de la fonction dans Azure Portal
  4. Assurez-vous que le point de terminaison compatible Event Hub est correctement configuré
  5. Vérifiez que le format du message correspond aux attentes de la fonction
  6. Vérifiez le plan de service de la Function App (consommation vs dédié)

MQTT

Problème : La connexion MQTT échoue

Erreur : Connexion refusée, authentification échouée

Solution :

  1. Adresse du broker : Vérifiez que l'URL/IP du broker est correcte
  2. Port : Vérifiez le numéro de port (1883 pour non chiffré, 8883 pour TLS)
  3. Authentification : Vérifiez le nom d'utilisateur/mot de passe si requis
  4. TLS/SSL : Assurez-vous que les certificats sont valides et approuvés
  5. Pare-feu : Vérifiez que le port n'est pas bloqué
  6. Test avec client MQTT : Utilisez MQTT Explorer ou mosquitto_pub/sub pour tester

Problème : Messages MQTT non reçus

Symptômes : Messages publiés mais non reçus par les abonnés

Solution :

  1. Noms des topics : Vérifiez que le topic de l'abonné correspond exactement à celui de l'éditeur
  2. Niveau QoS : Essayez QoS 1 ou 2 au lieu de 0
  3. Jokers : Vérifiez que les jokers de topic sont utilisés correctement (+ pour un seul niveau, # pour plusieurs niveaux)
  4. Messages retenus : Léditeur peut définir le drapeau de conservation pour garder le dernier message
  5. Timing de connexion : Assurez-vous que labonné se connecte avant que les messages soient publiés

Problèmes de capteurs et dactionneurs

Capteurs Grove

Problème : Le capteur renvoie des valeurs incorrectes

Symptômes : Lectures à 0, -1, ou valeurs absurdes

Solution :

  1. Vérifiez les connexions : Assurez-vous que le capteur est correctement branché
  2. Port correct : Vérifiez que le capteur est dans le type de port correct :
    • Capteurs analogiques → ports analogiques (A0, A2, A4)
    • Capteurs numériques → ports numériques (D5, D16, D18, etc.)
    • Capteurs I2C → ports I2C
  3. Calibration : Certains capteurs nécessitent une calibration (humidité du sol, lumière)
  4. Cycle dalimentation : Déconnectez et reconnectez le capteur
  5. Fiche technique : Vérifiez les spécifications et exigences du capteur

Problème : Capteur capacitif dhumidité du sol toujours humide

Symptômes : Capteur lit une humidité élevée même lorsque le sol est sec

Solution :

  1. Calibration nécessaire : Les capteurs de sol doivent être calibrés :
    • Lire la valeur dans lair (étalon sec)
    • Lire la valeur dans leau (étalon humide)
    • Cartographier les lectures entre ces valeurs
  2. Vérifiez le revêtement du capteur : Les capteurs dhumidité peuvent se dégrader si le revêtement est endommagé
  3. Placement : Assurez-vous que le capteur est complètement inséré dans le sol

Problème : Lectures incorrectes du capteur température/humidité

Symptômes : DHT11/DHT22 affiche une température ou humidité erronée

Solution :

  1. Placement du capteur : Évitez la lumière directe du soleil, les sources de chaleur ou les courants dair
  2. Temps de chauffe : Laissez le capteur 2 secondes après la mise sous tension avant de lire
  3. Fréquence de lecture : Les capteurs DHT nécessitent un intervalle entre lectures (au moins 2 secondes)
  4. Vérifiez la condensation : Peut affecter les lectures
  5. Qualité du capteur : Le DHT11 est moins précis que le DHT22

Caméra

Problème : Caméra non détectée sur Raspberry Pi

Erreur : mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera'

Solution :

  1. Activez linterface caméra :
    sudo raspi-config
    
    Allez dans Options dInterface → Caméra → Activer
  2. Vérifiez le câble ruban : Assurez-vous que le câble caméra est bien inséré
    • Le côté bleu fait face aux ports USB sur Pi Zero
    • Le côté bleu fait face à lopposé des ports USB sur Pi 4
  3. Mettez à jour le firmware :
    sudo apt update
    sudo apt full-upgrade
    sudo reboot
    
  4. Testez la caméra :
    raspistill -o test.jpg
    

Problème : Images caméra de mauvaise qualité

Symptômes : Images floues, sombres, ou délavées

Solution :

  1. Mise au point : Retirez le film protecteur de lobjectif, ajustez la mise au point si possible
  2. Éclairage : Assurez-vous que léclairage est suffisant
  3. Paramètres caméra : Réglez lexposition, lISO, la balance des blancs dans le code
  4. Stabilité : Gardez la caméra stable, utilisez un trépied si nécessaire
  5. Résolution : Ne dépassez pas la résolution maximale de la caméra

Microphone et haut-parleur

Problème : Pas dentrée/sortie audio

Symptômes : Micro non enregistreur, haut-parleur ne joue pas

Solution :

  1. Vérifiez les connexions : Assurez-vous que les appareils audio sont correctement branchés
  2. Testez le matériel :
    • Haut-parleur : speaker-test -t wav -c 2
    • Microphone : arecord -l pour lister, arecord test.wav pour enregistrer
  3. Paramètres de volume : Vérifiez et ajustez le volume :
    alsamixer
    
  4. Sélectionnez lappareil audio : Spécifiez le bon appareil audio dans le code
  5. Problèmes de drivers : Mettez à jour ALSA ou réinstallez les pilotes audio

Problème : ReSpeaker hat ne fonctionne pas

Symptômes : Dispositif audio non détecté

Solution :

  1. Installez les drivers :
    git clone https://github.com/HinTak/seeed-voicecard
    cd seeed-voicecard
    sudo ./install.sh
    sudo reboot
    
  2. Vérifiez linstallation : arecord -l doit lister ReSpeaker
  3. Mettez à jour le firmware : Certaines versions de Pi OS nécessitent des mises à jour des drivers
  4. Vérifiez lemplacement : Assurez-vous que le hat est correctement connecté aux broches GPIO

Problèmes denvironnement de développement

VS Code

Problème : Terminal nactive pas automatiquement lenvironnement virtuel

Symptômes : Le terminal souvre mais venv non activé

Solution :

  1. Définir linterpréteur Python : Palette de commandes → "Python : Sélectionner linterpréteur" → Choisir venv
  2. Redémarrer VS Code après avoir sélectionné linterpréteur
  3. Vérifier les paramètres : Dans settings.json, ajoutez :
    "python.terminal.activateEnvironment": true
    

Problème : Code ne sexécute pas sur lappareil

Symptômes : Le code sexécute mais rien ne se passe sur lappareil

Solution :

  1. Vérifiez que le code est enregistré (contrôlez le point sur longlet du fichier)
  2. Vérifiez quel Python est utilisé : which python ou where python
  3. Pour Wio Terminal : Assurez-vous que le code est téléversé via PlatformIO (bouton téléverser)
  4. Pour Raspberry Pi : Connectez-vous en SSH sur le Pi et exécutez le code là-bas
  5. Vérifiez la fenêtre de sortie pour des erreurs

Problème : IntelliSense ne montre pas les fonctions des bibliothèques

Symptômes : Pas dautocomplétion pour les modules importés

Solution :

  1. Assurez-vous que la bibliothèque est installée dans lenvironnement actuel
  2. Rechargez la fenêtre VS Code
  3. Vérifiez que linterpréteur Python est correct
  4. Installez les stubs de type si disponibles : pip install types-<nom-bibliothèque>

Environnements virtuels Python

Problème : Impossible de créer un environnement virtuel

Erreur : The virtual environment was not created successfully

Solution :

  1. Installer le module venv :
    • Ubuntu/Debian : sudo apt install python3-venv
    • macOS : Doit être inclus avec Python
    • Windows : Réinstallez Python avec tous les composants
  2. Vérifiez linstallation de Python : Assurez-vous que Python est installé correctement
  3. Utilisez le chemin complet : Essayez python3 -m venv .venv avec appel explicite de python3

Problème : Packages installés au mauvais endroit

Symptômes : Erreur dimportation après installation dun package

Solution :

  1. Vérifiez que le venv est activé : Linvite de commande doit afficher (.venv)
  2. Vérifiez lemplacement de pip : which pip devrait pointer vers .venv/bin/pip
  3. Réinstallez dans le venv : Activez le venv, puis pip install <package>
  4. Ne pas utiliser sudo avec pip dans un environnement virtuel

Problème : Environnement virtuel non portable

Symptômes : Le venv ne fonctionne plus après déplacement ou sur un autre ordinateur

Solution :

  1. Ne déplacez pas les venv : Supprimez et recréez-les à la nouvelle location
  2. Utilisez requirements.txt :
    pip freeze > requirements.txt
    pip install -r requirements.txt
    
  3. Recréez le venv :
    python3 -m venv .venv
    source .venv/bin/activate  # ou activate.bat sur Windows
    pip install -r requirements.txt
    

Dépendances

Problème : Échec dinstallation dun package

Erreur : Diverses erreurs pip lors de linstallation

Solution :

  1. Mettez à jour pip :
    pip install --upgrade pip
    
  2. Installez les outils de compilation :
    • Ubuntu/Debian : sudo apt install build-essential python3-dev
    • macOS : xcode-select --install
    • Windows : Installez Visual Studio Build Tools
  3. Vérifiez la connexion internet
  4. Essayez un autre index de package : pip install --index-url https://pypi.org/simple/ <package>
  5. Installez une version spécifique : pip install <package>==<version>

Problème : Conflits de dépendances

Erreur : ERROR: pip's dependency resolver does not currently take into account all the packages that are installed

Solution :

  1. Utilisez un environnement virtuel propre pour chaque projet
  2. Mettez à jour les packages : pip install --upgrade <package>
  3. Vérifiez les exigences : Utilisez pip check pour détecter les conflits
  4. Installez des versions compatibles : Spécifiez des plages de versions dans requirements.txt

Problèmes de performance

Problème : Code qui sexécute lentement

Symptômes : Retards, timeouts, comportement non réactif

Solution :

  1. Réduisez la fréquence de lecture des capteurs : Ne lisez pas les capteurs trop souvent
  2. Optimisez les boucles : Évitez lattente active, utilisez sleep() ou des délais
  3. Problèmes de mémoire :
    • Fermez les applications inutiles
    • Libérez de lespace disque
    • Surveillez avec top ou htop sur le Pi
  4. Vitesse de la carte SD : Utilisez une carte SD plus rapide ou un SSD pour Raspberry Pi
  5. Retards réseau : Utilisez des opérations asynchrones pour les appels réseau

Problème : Erreurs de mémoire insuffisante

Erreur : MemoryError ou gel du système

Solution :

  1. Pour Raspberry Pi :
    • Fermez les applications inutiles
    • Augmentez lespace de swap
    • Utilisez un OS plus léger (version Lite)
    • Upgradez la RAM (le Pi 4 dispose doptions 2/4/8 Go)
  2. Pour Wio Terminal :
    • Réduisez les tailles de tampon
    • Utilisez des images plus petites
    • Optimisez lutilisation des chaînes
    • Vérifiez les fuites de mémoire (mémoire non libérée)

Problème : Perte ou corruption de données

Symptômes : Messages manquants, fichiers corrompus

Solution :

  1. Problèmes de carte SD :
    • Utilisez des cartes SD de qualité (évitez les contrefaçons)
    • Sauvegardes régulières
    • Arrêt correct (ne pas couper lalimentation brutalement)
  2. Débordement de tampon : Augmentez les tailles de tampon dans le code
  3. Fiabilité réseau : Implémentez une logique de nouvelle tentative et gestion derreurs
  4. Qualité de service : Utilisez MQTT QoS 1 ou 2 pour les messages importants

Messages derreur courants

ModuleNotFoundError: No module named 'X'

Cause : Package non installé ou environnement virtuel non activé

Solution :

pip install X

Assurez-vous dabord que lenvironnement virtuel est activé.

Permission denied sur Linux/macOS

Cause : Droits insuffisants ou problème de permissions sur fichier

Solution :

  • Pour opérations système : Utilisez sudo
  • Pour pip : NUTILISEZ PAS sudo avec venv, activez dabord venv
  • Pour port série : Ajoutez lutilisateur au groupe dialout : sudo usermod -a -G dialout $USER, puis déconnectez/reconnectez-vous

OSError: [Errno 98] Address already in use

Cause : Le port est déjà utilisé par un autre processus

Solution :

  1. Trouvez le processus utilisant le port : lsof -i :<port> ou netstat -ano | findstr :<port>
  2. Tuez le processus ou utilisez un port différent dans votre code

SSL: CERTIFICATE_VERIFY_FAILED

Cause : Échec de la validation du certificat SSL

Solution :

  1. Mettez à jour les certificats : pip install --upgrade certifi
  2. Vérifiez que lheure système est correcte : date
  3. Pour développement uniquement (pas en production) : Désactivez la vérification dans le code

IndentationError: unexpected indent

Cause : Problèmes dindentation Python (mélange de tabulations/espaces)

Solution :

  1. Utilisez une indentation cohérente (4 espaces standard Python)
  2. Configurez léditeur pour utiliser des espaces au lieu de tabulations
  3. VS Code : Réglez "editor.insertSpaces": true et "editor.tabSize": 4

UnicodeDecodeError ou UnicodeEncodeError

Cause : Problèmes dencodage des caractères

Solution :

# Lors de la lecture des fichiers
with open('file.txt', 'r', encoding='utf-8') as f:
    content = f.read()

# Lors de l'écriture des fichiers
with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(content)

Obtenir de laide

Si vous avez essayé ces étapes de dépannage et rencontrez toujours des problèmes :

1. Vérifiez les ressources existantes

  • Documentation : Consultez le README et les instructions de la leçon
  • Guides matériels : Consultez hardware.md pour des infos spécifiques au matériel
  • Wiki Seeed Studio : Seeed Studio Wiki pour les composants Grove

2. Cherchez des problèmes similaires

  • Issues GitHub : Cherchez les issues existantes
  • Stack Overflow : Recherchez les messages derreur
  • Forums des appareils : Consultez les forums Raspberry Pi ou Arduino

3. Créez un ticket GitHub

Si vous ne trouvez pas de solution :

  1. Allez sur GitHub Issues
  2. Cliquez sur "New Issue"
  3. Fournissez :
    • Une description claire du problème
    • Les étapes pour reproduire
    • Les messages derreur (texte complet)
    • Versions du matériel/logiciel
    • Ce que vous avez déjà essayé
    • Des captures décran si pertinent

4. Rejoignez la communauté

5. Fournissez de bons rapports de bugs

Un bon rapport de bug inclut :

  • Environnement : Système d'exploitation, version de Python, matériel utilisé
  • Étapes pour reproduire : Étapes exactes provoquant le problème
  • Comportement attendu : Ce qui devrait se passer
  • Comportement réel : Ce qui se passe réellement
  • Messages d'erreur : Texte complet de l'erreur, pas de captures d'écran
  • Code : Exemple minimal de code reproduisant le problème

Conseils pour la prévention

Bonnes pratiques générales

  1. Faire des sauvegardes : Sauvegardes régulières des cartes SD/code fonctionnels
  2. Documenter les modifications : Noter ce qui fonctionne dans les commentaires
  3. Contrôle de version : Utiliser git pour suivre les modifications du code
  4. Tester par étapes : Tester les petites modifications avant de les combiner
  5. Lire les messages d'erreur : Ils indiquent souvent précisément ce qui ne va pas
  6. Mettre à jour régulièrement : Garder les logiciels/firmwares à jour
  7. Utiliser des composants de qualité : Éviter les câbles/alimentations bon marché
  8. Alimentation stable : Utiliser une alimentation appropriée (notamment pour le Pi)

Flux de travail en développement

  1. Commencer simple : Débuter avec un code exemple qui fonctionne
  2. Une modification à la fois : Plus facile de trouver ce qui casse
  3. Tester fréquemment : Détecter les problèmes tôt
  4. Garder un environnement propre : Organiser les fichiers et le code de manière logique
  5. Commenter le code : Votre futur vous vous en remerciera

Ce guide de dépannage est maintenu par la communauté. Si vous trouvez une solution à un problème non listé ici, veuillez envisager de contribuer pour aider les autres !


Avertissement :
Ce document a été traduit à laide du service de traduction automatique Co-op Translator. Bien que nous nous efforçons dassurer lexactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue dorigine doit être considéré comme la source faisant autorité. Pour les informations critiques, une traduction professionnelle réalisée par un humain est recommandée. Nous déclinons toute responsabilité en cas de malentendus ou derreurs dinterprétation résultant de lutilisation de cette traduction.