« SE5 ECEAI/eceai 2023/2024/GodardDelcourt » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
=Edge Computing and Embedded AI=
=Introduction=


==Introduction==
==Objectifs du projet==
 
===Objectifs du projet===


Le projet vise à distribuer le calcul à différents endroits du réseau pour optimiser les performances et la sobriété énergétique. Un réseau d'objets connectés, de passerelles, et d'un serveur sera mis en place pour collecter, traiter, et évaluer les données environnementales.
Le projet vise à distribuer le calcul à différents endroits du réseau pour optimiser les performances et la sobriété énergétique. Un réseau d'objets connectés, de passerelles, et d'un serveur sera mis en place pour collecter, traiter, et évaluer les données environnementales.


==Mise en œuvre du réseau==
=Mise en œuvre du réseau=


===Description générale===
==Description générale==


====Configuration de la Machine Virtuelle====
===Configuration de la Machine Virtuelle===


Nous allons devoir créer une machine virtuelle sur Chassiron avec un accès internet IPv6.
Nous allons devoir créer une machine virtuelle sur Chassiron avec un accès internet IPv6.
Ligne 35 : Ligne 33 :
Et nous allons aussi supprimer le fichier /etc/apt/apt.conf.d/01proxy .
Et nous allons aussi supprimer le fichier /etc/apt/apt.conf.d/01proxy .


====Image de la Raspberry Pi====
===Image de la Raspberry Pi===


Image de la Raspberry Pi pour connexion avec le serveur via WiFi
Image de la Raspberry Pi pour connexion avec le serveur via WiFi


====Objets Connectés====
===Objets Connectés===


Utilisation d'un STM32F401RE avec un capteur de distance (Nucleo-53L5A1).
Utilisation d'un STM32F401RE avec un capteur de distance (Nucleo-53L5A1).
Protocole de communication et acquisition des données.
Protocole de communication et acquisition des données.


===Acquisition des données===
==Acquisition des données==


Développer un firmware embarqué pour collecter les données => code STM32 Cube IDE pour collecter les données du capteur
Développer un firmware embarqué pour collecter les données => code STM32 Cube IDE pour collecter les données du capteur


===Protocole de communication===
==Protocole de communication==


* Mettre en œuvre un protocole de communication entre les quatre objets et la Raspberry Pi en garantissant que toutes les données sont bien reçues => Script python et liaison série qui permettent au capteur de communiquer ses données a la RaspberryPi.
* Mettre en œuvre un protocole de communication entre les quatre objets et la Raspberry Pi en garantissant que toutes les données sont bien reçues => Script python et liaison série qui permettent au capteur de communiquer ses données a la RaspberryPi.
* Mettre en œuvre un protocole de communication entre la Raspberry Pi et le serveur. Ce protocole doit facilement pouvoir être étendu à un grand nombre de Raspberry Pi => Protocole de communication HTTP initié avec un script python entre le serveur et la Raspberry Pi
* Mettre en œuvre un protocole de communication entre la Raspberry Pi et le serveur. Ce protocole doit facilement pouvoir être étendu à un grand nombre de Raspberry Pi => Protocole de communication HTTP initié avec un script python entre le serveur et la Raspberry Pi


===Stockage des Données===
==Stockage des Données==
Le côté serveur doit être capable de stocker les données reçues.
Le côté serveur doit être capable de stocker les données reçues.
Script python recevant les données et qui les stockes dans un fichier .csv sur le serveur afin de pouvoir par la suite utiliser les données du capteur
Script python recevant les données et qui les stockes dans un fichier .csv sur le serveur afin de pouvoir par la suite utiliser les données du capteur


==Entraînement du modèle d’apprentissage==
=Entraînement du modèle d’apprentissage=


==Mise en place du modèle embarqué et des modèles hybrides==
=Mise en place du modèle embarqué et des modèles hybrides=




==Séance du 04/12/2023==
=Séance du 04/12/2023=


AU cours de cette première séance, nous avons pu prendre en main les outils nécessaires à la réalisation de notre projet.
AU cours de cette première séance, nous avons pu prendre en main les outils nécessaires à la réalisation de notre projet.
Ligne 70 : Ligne 68 :
*Image de la Raspberry Pi pour connexion avec le serveur via WiFi : nous avons installé une image ** sur la rapsberry pi
*Image de la Raspberry Pi pour connexion avec le serveur via WiFi : nous avons installé une image ** sur la rapsberry pi


==Séance du 18/12/2023==
=Séance du 18/12/2023=
Au cours de cette séance, nous allons tout d'abord  
Au cours de cette séance, nous allons tout d'abord  


Ligne 76 : Ligne 74 :
* Mettre en œuvre un protocole de communication entre les quatre objets et la Raspberry Pi en garantissant que toutes les données sont bien reçues. Utilisation de la liaison série entre la carte et le capteur. Sur le port ttyACM0, avec un script python lancé de la rapsberry. Les données du capteur sont ensuite stockées dans un fichier .csv.
* Mettre en œuvre un protocole de communication entre les quatre objets et la Raspberry Pi en garantissant que toutes les données sont bien reçues. Utilisation de la liaison série entre la carte et le capteur. Sur le port ttyACM0, avec un script python lancé de la rapsberry. Les données du capteur sont ensuite stockées dans un fichier .csv.


==Séance du 19/12/2023==
=Séance du 19/12/2023=


*Mise en place d'un serveur web http sur le serveur delgodVM pour permettre la communication grâce à des requêtes http entre la raspberry pi et le serveur. Tout ceci est réalisé grâce des scripts python.
*Mise en place d'un serveur web http sur le serveur delgodVM pour permettre la communication grâce à des requêtes http entre la raspberry pi et le serveur. Tout ceci est réalisé grâce des scripts python.


==Séance du 20/12/2023==
=Séance du 20/12/2023=


*Transmission des datas récupérées par le capteur de la raspberry pi vers le serveur http.
*Transmission des datas récupérées par le capteur de la raspberry pi vers le serveur http.
*Vérfication de la réception de ces données brutes
*Vérfication de la réception de ces données brutes
*Début de l'apprentissage de notre AI, reconnaissance de la langue des signes
*Début de l'apprentissage de notre AI, reconnaissance de la langue des signes

Version du 20 décembre 2023 à 16:12

Introduction

Objectifs du projet

Le projet vise à distribuer le calcul à différents endroits du réseau pour optimiser les performances et la sobriété énergétique. Un réseau d'objets connectés, de passerelles, et d'un serveur sera mis en place pour collecter, traiter, et évaluer les données environnementales.

Mise en œuvre du réseau

Description générale

Configuration de la Machine Virtuelle

Nous allons devoir créer une machine virtuelle sur Chassiron avec un accès internet IPv6. Cette machine virtuelle sera déployée grâce à Xen et sera nommée "delgodVM".

      xen-create-image --hostname delgodVM --force --dist bookworm --size 10G --memory 10G --dir /usr/local/xen --password glopglop --dhcp --bridge bridgeStudents

Nous allons par la suite devoir configurer son réseau, sa résolution DNS, et ses sources de paquets Debian. Pour configurer le réseau de notre serveur, nous allons devoir modifier le fichier /etc/network/interfaces qui est un fichier de configuration réseau dans lequel les paramètres réseaux de l'interface sont spécifiés.

       auto enX0
       iface enX0 inet6 auto

Pour configurer la résolution DNS de notre serveur, nous allons modifier le fichier /etc/resolv.conf. Ce fichier permet de spécifier l'a configuration des serveurs de nom (DNS) pour résoudre les noms de domaine en adresses IP. Nous allons donc réaliser la configuration DNS suivante fournie dans le sujet :

       domain plil.info
       search plil.info
       nameserver 2a01:c916:2047:c800:216:3eff:fe82:8a5c

Pour modifier les sources des paquets Debian, nous allons modifier le fichier /etc/apt/sources.list en rajoutant les paquets suivants :

       deb     http://deb.debian.org/debian     bookworm main contrib non-free non-free-firmware
       deb-src http://deb.debian.org/debian     bookworm main contrib non-free non-free-firmware

Et nous allons aussi supprimer le fichier /etc/apt/apt.conf.d/01proxy .

Image de la Raspberry Pi

Image de la Raspberry Pi pour connexion avec le serveur via WiFi

Objets Connectés

Utilisation d'un STM32F401RE avec un capteur de distance (Nucleo-53L5A1). Protocole de communication et acquisition des données.

Acquisition des données

Développer un firmware embarqué pour collecter les données => code STM32 Cube IDE pour collecter les données du capteur

Protocole de communication

  • Mettre en œuvre un protocole de communication entre les quatre objets et la Raspberry Pi en garantissant que toutes les données sont bien reçues => Script python et liaison série qui permettent au capteur de communiquer ses données a la RaspberryPi.
  • Mettre en œuvre un protocole de communication entre la Raspberry Pi et le serveur. Ce protocole doit facilement pouvoir être étendu à un grand nombre de Raspberry Pi => Protocole de communication HTTP initié avec un script python entre le serveur et la Raspberry Pi

Stockage des Données

Le côté serveur doit être capable de stocker les données reçues. Script python recevant les données et qui les stockes dans un fichier .csv sur le serveur afin de pouvoir par la suite utiliser les données du capteur

Entraînement du modèle d’apprentissage

Mise en place du modèle embarqué et des modèles hybrides

Séance du 04/12/2023

AU cours de cette première séance, nous avons pu prendre en main les outils nécessaires à la réalisation de notre projet. L’objectif était de construire un serveur Xen et de configurer la RaspberryPi.

  • Machine virtuelle sur Chassiron avec un accès internet IPv6.
  • Image de la Raspberry Pi pour connexion avec le serveur via WiFi : nous avons installé une image ** sur la rapsberry pi

Séance du 18/12/2023

Au cours de cette séance, nous allons tout d'abord

  • Développer un firmware embarqué pour collecter les données, avec STM32 Cube IDE et donc un programme permettant d'acquérir les données du capteur.
  • Mettre en œuvre un protocole de communication entre les quatre objets et la Raspberry Pi en garantissant que toutes les données sont bien reçues. Utilisation de la liaison série entre la carte et le capteur. Sur le port ttyACM0, avec un script python lancé de la rapsberry. Les données du capteur sont ensuite stockées dans un fichier .csv.

Séance du 19/12/2023

  • Mise en place d'un serveur web http sur le serveur delgodVM pour permettre la communication grâce à des requêtes http entre la raspberry pi et le serveur. Tout ceci est réalisé grâce des scripts python.

Séance du 20/12/2023

  • Transmission des datas récupérées par le capteur de la raspberry pi vers le serveur http.
  • Vérfication de la réception de ces données brutes
  • Début de l'apprentissage de notre AI, reconnaissance de la langue des signes