Skip to content
Snippets Groups Projects
user avatar
Adrien Chabod authored
6bef59bb
History

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 :

  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.).

Explication de chaque partie

Partie BLE

Dossier rattaché : python-backend/bibliotheques/ble

Organisation

Cette bibliothèque contient 3 fichiers :

  1. advertisement.py : Contiens les classes nécessaires à l'émission des différents UUIDs après la création du serveur.

  2. gatt_server.py : Contiens les classes nécessaires à la création du serveur et l'initialisation de ses différents paramètres.

  3. main.py : Initialise le serveur BLE en utilisant les classes réalisées précédemment.

Fonctionnement

TODO

Partie SQL

Dossier rattaché : python-backend/bibliotheques/sql

Organisation

TODO

Fonctionnement

TODO

Partie pilotage machine

Dossier rattaché : python-backend/bibliotheques/machine

Organisation

TODO

Fonctionnement

TODO