Introduction
Le projet Robotise est découpé en trois parties, une application Android, une base de données et du code Python.
Le code Python réalise toutes les interactions entre la base de données et l'application Android, mais il sert aussi au pilotage des différents composants de la machine.
Ce dépôt contient uniquement la partie Python.
Organisation du dépot
Introduction
Ce dépôt est organisé de la même manière que le projet global, à savoir :
-
une partie traitement SGBD (SQL dans notre cas)
-
une partie communication via l'utilisation de la technologie BLE
-
Une partie pilotage en utilisant les ports GPIO du Raspberry PI
Afin de simplifier le code et permettre une meilleure maintenabilité/lisibilité, nous avons fait le choix de séparer les trois parties en trois bibliothèques de fonctions.
Puis chaque fonction est appelée dans le fichier main.py qui coordonne l'intégralité des opérations.
Tree du projet
python-backend
├── README.md
├── bibliotheques
│ ├── ble
│ │ ├── advertisement.py
│ │ ├── conversion_UUID_BLE.txt
│ │ ├── gatt_server.py
│ │ └── main.py
│ ├── machine
│ │ └── script_flowmeter.py
│ └── sql
│ └── sql.py
├── main.py
├── requirements.txt
└── tests
└── test_sql.py
Détail de chaque dossier
Chacune des trois parties est localisée dans le dossier bibliotheques
.
Le dossier BLE
regroupe toutes les fonctions nécessaires à la communication entre la Raspberry et l'application Android
Le dossier sql
regroupe toutes les fonctions utilisées pour lire ou écrire dans la base de données.
Le dossier machine
contient les différentes fonctions permettant le pilotage des éléments physiques de la machine (pompe, capteur, etc.).
Explication de chaque partie
Partie BLE
python-backend/bibliotheques/ble
Dossier rattaché : Organisation
Cette bibliothèque contient 3 fichiers :
-
advertisement.py
: Contiens les classes nécessaires à l'émission des différents UUIDs après la création du serveur. -
gatt_server.py
: Contiens les classes nécessaires à la création du serveur et l'initialisation de ses différents paramètres. -
main.py
: Initialise le serveur BLE en utilisant les classes réalisées précédemment.
Fonctionnement
TODO
Partie SQL
python-backend/bibliotheques/sql
Dossier rattaché : Organisation
TODO
Fonctionnement
TODO
Partie pilotage machine
python-backend/bibliotheques/machine
Dossier rattaché : Organisation
TODO
Fonctionnement
TODO