Vous êtes sur la page 1sur 6

1.

Introduction
1.1 Objectif
Le projet vise à concevoir et développer un tableau de bord interactif permettant de collecter,
visualiser et analyser des données environnementales à partir du modem Nordic nRF9160 et des
capteurs externes. L'objectif ultime est de fournir aux utilisateurs une plateforme conviviale pour
surveiller en temps réel différents paramètres, ce qui peut être particulièrement utile dans des
applications telles que la météorologie, la surveillance environnementale, ou le suivi logistique.

1.2 Contexte
L'avènement de l'Internet des Objets (IoT) a ouvert de nouvelles possibilités pour la collecte et
l'analyse de données à distance. Ce projet exploite les capacités du modem Nordic nRF9160,
connu pour sa connectivité cellulaire LTE-M/NB-IoT et son faible niveau de consommation
d'énergie. En combinant ses fonctionnalités avec des capteurs externes, ce tableau de bord vise à
offrir une solution complète pour la surveillance environnementale.

2. Spécifications fonctionnelles
2.1 Acquisition de données
 Le tableau de bord doit être capable de récupérer les données des capteurs internes du modem
nRF9160, y compris la température, la position GPS, l'humidité, la pression atmosphérique, etc.
 Il doit également prendre en charge la connexion et la lecture des données à partir de capteurs
externes via des interfaces telles que I2C, SPI, UART, etc.

2.2 Visualisation des données


 Les données collectées doivent être présentées de manière graphique et intuitive sur le tableau de
bord.
 Des graphiques interactifs, des cartes géographiques et des tableaux récapitulatifs seront utilisés
pour fournir une visualisation complète des données.
 Les utilisateurs pourront sélectionner les paramètres à afficher, zoomer sur des périodes
spécifiques, et exporter les données si nécessaire.

2.3 Alertes et notifications


 Le tableau de bord doit pouvoir définir des seuils d'alerte pour chaque paramètre surveillé.
 Des notifications doivent être envoyées aux utilisateurs en cas de dépassement de ces seuils, par
le biais de courriers électroniques, de messages SMS ou d'autres moyens de communication
définis.
3. Spécifications techniques

3.1 Plateforme de développement


 Langage de programmation : à spécifier (c) / java
 Environnement de développement intégré (IDE) : à spécifier vscode
 Frameworks ou bibliothèques pour l'interface utilisateur : à spécifier les sdk Nordic

3.2 Communication avec le modem nRF9160


 Protocole de communication : MQTT (Message Queuing Telemetry Transport)
 Méthodes d'accès aux données du modem : Utilisation de l'API de communication fournie par
Nordic Semiconductor

3.3 Interface utilisateur


 Type d'interface utilisateur : à spécifier : r d v
 Technologies front-end : à spécifier
 Technologies back-end : à spécifier

4. Contraintes et exigences
4.1 Contraintes techniques
 Le tableau de bord doit être compatible avec les versions les plus récentes des navigateurs web
populaires (Chrome, Firefox, Safari). (si l’application est web)
 Il doit être conçu pour fonctionner efficacement sur des appareils mobiles ( si l’application est
mobile)

4.2 Contraintes temporelles

 Date limite de livraison du projet : [à spécifier]


 Échéances pour les différentes phases de développement : [à spécifier]

5. Livrables
 Code source du tableau de bord avec une documentation détaillée
 Documentation technique comprenant des instructions d'installation et d'utilisation
 Manuel d'utilisation pour les utilisateurs finaux
 Rapport de fin de projet décrivant les défis rencontrés, les solutions adoptées et les perspectives
d'amélioration

6. Gestion de projet

6.1 Méthodologie
 Méthodologie Agile (Scrum) avec des itérations de développement de deux semaines.
6.2 Équipe de projet
 Encadrant : [Nom du chef de projet]
 Développeurs : [Liste des développeurs impliqués]

7. Annexes
 Diagrammes de flux des processus
 Maquettes d'interface utilisateur
 Schémas de connexion des capteurs externes

Dans le fichier fourni, voici les éléments qui correspondent à chaque catégorie :
1. Framework :
 React (utilisé pour construire l'interface utilisateur de l'application)
 Tailwind CSS (utilisé pour la gestion de l'aspect visuel et des styles)
2. Firmware :
 Il n'y a pas de firmware spécifique mentionné dans ce fichier. Le firmware est
généralement associé au contrôle du matériel, et ce fichier concerne principalement les
dépendances logicielles utilisées dans le développement de l'application.
3. Langage de programmation :
 JavaScript (utilisé pour le développement de l'application côté client)
 Node.js (utilisé pour le développement côté serveur)
4. Environnement de développement intégré (IDE) :
 Il n'y a pas d'IDE spécifique mentionné dans ce fichier. Les IDE sont des outils utilisés
par les développeurs pour écrire, compiler, déboguer et tester du code. Les développeurs
peuvent utiliser différents IDE en fonction de leurs préférences personnelles.

You
et les • Technologies front-end et • Technologies back-end
ChatGPT
ChatGPT
Dans le contexte de ce fichier, voici comment les technologies mentionnées se répartissent entre
le front-end et le back-end :

Technologies front-end :

 React : Framework JavaScript utilisé pour la construction de l'interface utilisateur côté


client.
 Tailwind CSS : Framework CSS utilisé pour la gestion de l'aspect visuel et des styles de
l'interface utilisateur.

Technologies back-end :

 Express : Un framework Node.js utilisé pour créer des applications web côté serveur.
 Cors : Un package Node.js pour la gestion des politiques CORS (Cross-Origin Resource
Sharing), souvent utilisé dans les applications web back-end pour gérer les requêtes
HTTP entre différents domaines.
 Axios : Une bibliothèque JavaScript utilisée pour effectuer des requêtes HTTP depuis le
back-end vers d'autres services ou APIs.
 HTTP Proxy Middleware : Un middleware pour Express permettant de définir des proxys
pour rediriger les requêtes HTTP vers d'autres serveurs.
 Nodemon : Un utilitaire Node.js utilisé pendant le développement pour surveiller les
changements de fichiers et redémarrer automatiquement le serveur lorsque des
modifications sont détectées.
 MySQL : Un système de gestion de base de données relationnelle souvent utilisé dans les
applications web pour stocker et récupérer des données.
 Moment : Une bibliothèque JavaScript utilisée pour manipuler, valider et formater les
dates et heures.

You
et les bibliotheques utilises
ChatGPT
ChatGPT
Les bibliothèques utilisées dans le fichier fourni sont les suivantes :

1. Front-end :
 "@react-google-maps/api" : Une bibliothèque pour intégrer des cartes Google Maps dans
des applications React.
 "@syncfusion/ej2-react-circulargauge" : Une bibliothèque de composants de tableau de
bord pour React, comprenant ici un indicateur circulaire.
 "chart.js" : Une bibliothèque JavaScript de création de graphiques et de visualisations de
données.
 "chartjs-adapter-moment" : Un adaptateur permettant d'utiliser Moment.js avec Chart.js
pour la manipulation des dates et heures.
 "framer-motion" : Une bibliothèque pour créer des animations fluides et interactives en
React.
 "react-chartjs-2" : Une bibliothèque de composants React pour utiliser Chart.js dans des
applications React.
 "react-circular-progressbar" : Une bibliothèque pour créer des barres de progression
circulaires dans des applications React.
 "react-d3-speedometer" : Une bibliothèque pour créer des compteurs de vitesse en D3.js
dans des applications React.
 "react-flatpickr" : Une bibliothèque pour intégrer le composant de sélection de dates
Flatpickr dans des applications React.
 "react-gauge-chart" : Une bibliothèque pour créer des graphiques de jauges dans des
applications React.
 "react-icons" : Une bibliothèque pour inclure des icônes dans des applications React.
 "react-router-dom" : Une bibliothèque de routage pour gérer les routes dans des
applications React.
 "react-transition-group" : Une bibliothèque pour créer des animations de transition entre
les états des composants React.
 "recharts" : Une bibliothèque pour créer des graphiques réactifs et dynamiques dans des
applications React.
 "styled-components" : Une bibliothèque pour la stylisation des composants React à l'aide
de CSS dans les fichiers JavaScript.
2. Back-end :
 "axios" : Une bibliothèque JavaScript pour effectuer des requêtes HTTP depuis le back-
end vers d'autres services ou APIs.
 "cors" : Un package Node.js pour la gestion des politiques CORS (Cross-Origin Resource
Sharing), souvent utilisé dans les applications web back-end pour gérer les requêtes
HTTP entre différents domaines.
 "express" : Un framework Node.js utilisé pour créer des applications web côté serveur.
 "http-proxy-middleware" : Un middleware pour Express permettant de définir des proxys
pour rediriger les requêtes HTTP vers d'autres serveurs.
 "lodash" : Une bibliothèque utilitaire JavaScript qui fournit des fonctions pour la
manipulation de données.
 "moment" : Une bibliothèque JavaScript utilisée pour manipuler, valider et formater les
dates et heures.
 "mysql" : Un système de gestion de base de données relationnelle souvent utilisé dans les
applications web pour stocker et récupérer des données.
 "nodemon" : Un utilitaire Node.js utilisé pendant le développement pour surveiller les
changements de fichiers et redémarrer automatiquement le serveur lorsque des
modifications sont détectées.

Vous aimerez peut-être aussi