Documentation Tehnique
Projet : Tondeuse Autonome
1. Accès Rapide au Fichier d’Informations
Pour créer un raccourci sur le bureau vers le fichier d’informations du projet, exécuter :
ln -s "$(pwd)/projet tondeuse infos.txt" ~/Desktop/"projet tondeuse infos.txt"
2. Environnement de Développement Python
a. Lancement de l’environnement
Ouvrir un terminal et lancer :
./env.sh tondeuse
b. Script env.sh
Permet de créer/lancer un environnement virtuel Python dans ~/Documents/env/tondeuse
.
Fonctionnement :
- Création automatique si l’environnement n’existe pas
- Activation de l’environnement via un terminal
lxterminal
3. Packages Python Installés
Package | Version | |
---|---|---|
paho-mqtt | 2.1.0 | |
pynmea2 | 1.19.0 | |
pyserial | 3.5 | |
setuptools | 66.1.1 |
4. Applications Installées
- Mosquitto : Broker MQTT sans authentification
- Node-RED :
- Utilisateur :
tondeuse
- Mot de passe : identique à l’utilisateur Linux
- Utilisateur :
5. Scripts Python Principaux
main_mqtt.py
- Contrôle de l’Arduino via MQTT
- Utilise le topic
cmd
- Envoie de commandes simples ou macros
main_keyboard.py
- Contrôle de l’Arduino via le clavier
boot.py
- Script exécuté automatiquement au démarrage
save.py
- Sauvegarde automatique vers deux clés USB :
~/Arduino
~/Documents/env
- Copie uniquement les fichiers nouveaux ou modifiés
6. Exécution Automatique au Démarrage
a. Préparation du script
mkdir -p ~/.config/autostart
chmod +x boot.py
b. Création du fichier .desktop
nano ~/.config/autostart/mon_script.desktop
Contenu du fichier :
[Desktop Entry]
Type=Application
Name=BOOT
Exec=lxterminal -e 'bash -c "cd /home/tondeuse/Documents/env/tondeuse && source bin/activate && python boot.py"'
X-GNOME-Autostart-enabled=true
c. Redémarrage
sudo reboot
7. Organisation des Fichiers
/home/tondeuse/
|
├── Arduino/ # Fichiers Arduino
├── Documents/
│ └── env/
│ └── tondeuse/ # Environnement virtuel Python
│ ├── boot.py
│ ├── main_mqtt.py
│ ├── main_keyboard.py
│ ├── save.py
8. Récapitulatif Fonctionnel
Élément | Fonction |
---|---|
env.sh | Création/Lancement de l’environnement Python |
boot.py | Script automatique au démarrage |
main_mqtt.py | Test des commandes via MQTT |
main_keyboard.py | Test des commandes via clavier |
save.py | Sauvegarde vers clés USB |
Mosquitto | Communication MQTT |
Node-RED | Interface de test graphique |
Auteur : Grimeco
Date : 17 juin 2025
Projet : Tondeuse Autonome