Le projet Robotise est découpé en trois parties, une application Android, une base de données et du code Python.
Dans le terminal linux :
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.
`sudo mysql < /home/pi/python-backend/bdd/bdd.sql`
Ce dépôt contient uniquement la partie Python.
## Lancement des scripts Python
# Organisation du dépot
## Introduction
Ce dépôt est organisé de la même manière que le projet global, à savoir :
1.`une partie traitement SGBD (SQL dans notre cas)`
2.`une partie communication via l'utilisation de la technologie BLE`
3.`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.).