Skip to content
Snippets Groups Projects
Select Git revision
  • f84cc9160b60af66fa548df6e86b897cadc2f9ae
  • main default protected
  • dev
3 results

python-backend

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Adrien Chabod authored
    f84cc916
    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