Partie B : Conception de l'application météo - Projet : SolaireLGM2 Application météo - MATHERET Julien
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Projet : SolaireLGM2 Application météo Partie B : Conception de l’application météo MATHERET Julien Page 1/25
Projet : SolaireLGM2 Application météo Table des Matières 1 PRESENTATION DE MA PARTIE DU PROJET .................................................................................. 3 1.1 BUT DE L’APPLICATION......................................................................................................................... 3 1.2 MATERIEL A MA DISPOSITION ............................................................................................................... 3 2 INSTALLATION ET CONFIGURATION DE L’ORDINATEUR DE DEVELOPPEMENT ............ 4 2.1 INSTALLATION LINUX : MANDRIVA 2006 .............................................................................................. 4 2.2 INSTALLATION ET DESCRIPTION DES OUTILS ......................................................................................... 4 3 POINTS IMPORTANTS DU PROTOCOLE SERIE .............................................................................. 8 3.1 PROCEDURE DE SORTIE DE L’ETAT DE VEILLE DE LA CONSOLE.............................................................. 8 3.2 REPONSES DE LA CONSOLE AUX DIFFERENTES COMMANDES ................................................................. 8 3.3 DONNEES METEOROLOGIQUES DELIVREES PAR LA STATION ET EXPLOITEES POUR MON PROJET ........... 9 3.4 EXPLOITATION DES DIFFERENTES DONNEES ......................................................................................... 9 4 DIAGRAMME UML DE CONCEPTION .............................................................................................. 11 4.1 DIAGRAMME DE DEPLOIEMENT ........................................................................................................... 11 4.2 DIAGRAMME DE CLASSES ................................................................................................................... 12 4.3 DIAGRAMME DE SEQUENCE ................................................................................................................ 15 5 STRUCTURE DES TABLES DE LA BASE DE DONNEES ................................................................ 16 5.1 REPRESENTATION DE LA BASE DE DONNEES METEO ............................................................................ 16 5.2 DESCRIPTION DES TABLES................................................................................................................... 17 6 TESTS UNITAIRES ................................................................................................................................. 18 6.1 METHODOLOGIE ET PROGRAMME DE TEST .......................................................................................... 18 6.2 PRINCIPAUX TESTS MIS EN PLACE AU COURS DU DEVELOPPEMENT ..................................................... 18 7 QUELQUES NOTIONS RENCONTREES AU COURS DU DEVELOPPEMENT........................... 20 7.1 CODAGE EN COMPLEMENT A DEUX ..................................................................................................... 20 7.2 FORMULES DE CONVERSION DES UNITES ............................................................................................. 22 7.3 REQUETES SQL .................................................................................................................................. 23 8 DEROULEMENT DU PROJET (CONCEPTION) ............................................................................... 24 8.1 PLANNING DE REALISATION ................................................................................................................ 24 8.2 REPARTITION DES ACTIVITES .............................................................................................................. 25 9 CONCLUSION .......................................................................................................................................... 25 MATHERET Julien Page 2/25
Projet : SolaireLGM2 Application météo 1 PRESENTATION DE MA PARTIE DU PROJET 1.1 But de l’application Cette application a pour but d’acquérir des données météorologiques auprès de la console de la station météo et les ranger dans une base de données (voir diagramme de séquence). Ces données seront accessibles via le site Web développé par ARMANI Jonathan à l’adresse suivante : http://solaire.lgm.ac-grenoble.fr 1.2 Matériel à ma disposition Pour réaliser ce projet j’avais à ma disposition : - Un ordinateur, pour développer l’application. - Une station météorologique (Vantage Pro 2 de DAVIS) disposant de différents capteurs : thermomètre, baromètre, hygromètre, pluviomètre … - La console de la station, qui permet d’afficher les données instantanées. La station et la console communiquent par une liaison radio. La console est reliée au pc de développement par une liaison RS232. Synoptique de l’installation : Liaison radio Station météo RS232 Console PC développement MATHERET Julien Page 3/25
Projet : SolaireLGM2 Application météo 2 INSTALLATION ET CONFIGURATION DE L’ORDINATEUR DE DEVELOPPEMENT 2.1 Installation Linux : mandriva 2006 Options choisies lors de l’installation (sur le poste de développement) : Partition personnalisée - SWAP : 1024 Mo - /home : 30 Go (données personnelles) - / : 30 Go (système) Adresse IP (de la machine) : 172.16.125.104 2.2 Installation et description des outils JDK (Java Development Kit) : o Description : Le Java Development Kit est l'environnement dans lequel le code java est compilé pour être transformé en bytecode afin que la machine virtuelle de Java puisse l'interpréter. o Installation : Téléchargement package (version jdk-6-linux-i586-rpm.bin) Copier le .bin dans /usr/local/java Mettre les droits d'exécution Lancer l'exécution : ./jdk-6-linux-i586-rpm.bin Création des liens symboliques : ln -s /usr/java/jdk-6-linux-i586-rpm /usr/jdk ln -s /usr/java/jdk-6-linux-i586-rpm/jre /usr/jre Création des variables d'environnement dans : /etc/profile.d MATHERET Julien Page 4/25
Projet : SolaireLGM2 Application météo Créer un fichier java.sh qui contient : #définition des variables d'environnement export JAVA_HOME=/usr/jdk export JRE_HOME=/usr/jre export PATH=$JAVA_HOME/bin:$PATH #définition du classpath export CLASSPATH=.:$JRE_HOME/lib/rt.jar Recharger les profils (fermeture et réouverture console) Vérification : $ set | grep JAVA et $ set | grep JRE MySQL : o Description : MySQL est un serveur de bases de données relationnelles SQL. o Installation : Téléchargement sur mysql.com Version (statically linked against glibc 2.2.5): mysql-server-5.0.27-0.i386.rpm Installation automatique Pour démarrer le serveur, il faut taper dans une console la commande : /etc/init.d/mysql start DBDesigner 4 : o Description : DBDesigner est un système de conception de base de données visuel (graphique). o Installation : Version : DBDesigner4-0.5.4-0.i586.rpm Installation automatique (RPM) Librairie nécessaire pour lors de l’installation : - libborqt-6.9.0-2.i386.rpm - kylixlibs3-unwind-3.0-mdk91.i586.rpm - libstdc++2.10-2.96-0.83mdk.i586.rpm MATHERET Julien Page 5/25
Projet : SolaireLGM2 Application météo Eclipse : o Description : Eclipse est un outil de développement d'application, il est portable sur beaucoup de plateformes et permet de créer des applications graphiques mais aussi de travailler dans une console. Il supporte de nombreux langages comme : Java, C, C++, JSP, EJB, XML (de nombreux plugins sont disponibles pour augmenter les performances de cet outil). o Installation : Téléchargement et extraction. Version : eclipse-SDK-3.2.1-linux-gtk.tar.gz Librairie RXTX : o Description : Cette librairie permet de mettre en œuvre la liaison série. Cette librairie peut être installée dans un environnement Linux en utilisant l’IDE eclipse. o Installation : Téléchargement des binaires sur le site rxtx.org Dézippage des fichiers sous un répertoire quelconque (vérifier qu’il contient les fichiers RXTXcomm.jar et librxtxSerial.so notamment) Organiser les fichiers : /usr/local/jdk 1.5.xx contient le JDK (JAVA_HOME) Mettre le fichier RXTXcomm.jar dans JAVA_HOME/jre/lib/ext/ Mettre la librairie librxtxSerial.so dans JAVA_HOME/jre/lib/i386/ Configuration : Sous Eclipse, ajouter dans le projet le fichier externe RXTXcomm.jar Cliquer sur + devant RXTXcomm.jar pour indiquer l’emplacement de la librairie -> choisir Native Library et indiquer le répertoire ou se trouve librxtxSerial.so Gestion de droits spécifiques : Se rajouter comme utilisateur au groupe uucp Le groupe uucp est ajouté comme propriétaire du fichier /var/lock MATHERET Julien Page 6/25
Projet : SolaireLGM2 Application météo Driver JDBC : o Description : Ce driver permet de mettre en œuvre les bases de données avec le langage JAVA. Il va permettre d'exécuter des requêtes SQL au sein de notre programme Java. o Installation : - Extraction des fichiers - Insérer le fichier .jar dans le répertoire ext du jre MATHERET Julien Page 7/25
Projet : SolaireLGM2 Application météo 3 POINTS IMPORTANTS DU PROTOCOLE SERIE (Extrait de la documentation Davis) 3.1 Procédure de sortie de l’état de veille de la console Afin de préserver l’énergie de la batterie, la console est la plupart du temps en veille, elle sort de l’état de veille quand elle reçoit un caractère sur la liaison série. La console ne peut pas sortir de l’état de veille assez rapidement pour lire le premier caractère correctement. Pour cette raison, il faut mettre en œuvre la procédure décrite ci-dessous. 1. Envoyer un caractère de retour à la ligne : `\ n' (décimale 10, hexadécimal 0x0A). 2. La console doit envoyer une réponse : `\ n \ r'. 3. S'il n'y a aucune réponse dans un intervalle raisonnable (1.2 seconde), il faut ré effectuer les étapes 1 et 2. Ces répétitions ne doivent pas dépasser les 3 tentatives. 4. Si la console ne s'est pas réveillée après les 3 tentatives, cela signifie qu’il y a un problème au niveau de la connexion. Une fois que la console est réveillée, elle restera éveillée pendant 2 minutes. 3.2 Réponses de la console aux différentes commandes Ces réponses viennent avant les données et sont valables pour toutes les commandes. Réponses Descriptions ACK La commande est reconnue, la console renvoie 0x06 (ACK en ASCII) NAK Les paramètres de la commande ne sont pas valides, la console renvoie 0x21 CANCEL Les données n’ont pas passé la vérification CRC : la réponse de la console est : 0x18 OK La commande est reconnue, la console répond : \n\rOK\n\r DONE Plusieurs commandes prennent du temps à effectuer leur tâche, la console va répondre tout d’abord \n\rOK\n\r pour dire qu’elle a bien reçue la commande, et ensuite lorsque la tâche sera terminé, la console renverra : DONE\n\r MATHERET Julien Page 8/25
Projet : SolaireLGM2 Application météo 3.3 Données météorologiques délivrées par la station et exploitées pour mon projet Outside Temperature The value is sent as 10th of a degree in F. For example, 795 is returned for 79.5°F. Wind Speed It is a byte unsigned value in mph. If the wind speed is dashed because it lost synchronization with the radio or due to some other reason, the wind speed is forced to be 0. Wind Direction It is a two byte unsigned value from 0 to 360 degrees. (0° is North, 90° is East, 180° is South and 270° is West.) Outside Humidity This is the relative humitiy in % Day Rain This value is sent as the 100th of an inch. UV The unit is in UV index. Solar Radiation The unit is in watt/meter2. La commande utilisée pour obtenir ces informations est : LOOP 1 Cette commande renvoi énormément de données, il a donc fallu extraire les données intéressantes pour ensuite les convertir dans des unités convenables. 3.4 Exploitation des différentes données Outside Temperature (température extérieure) : Elle a du être convertie de degré fahrenheit en degré Celsius et multipliée par 10. Wind Speed (vitesse du vent) : La vitesse du vent a été convertie de miles per hour à kilomètres par heure. Wind Direction (direction du vent) : Cette donnée est exprimée en degré, 0 degré indique le Nord, 90 degrés l’Est, 180° le Sud et 270 degrés l’Ouest MATHERET Julien Page 9/25
Projet : SolaireLGM2 Application météo Outside Humidity (hygrométrie) : Cette donnée représente le taux d’humidité dans l’air, elle est exprimée en pourcentage. Day Rain (pluviométrie journalière) : Cette donnée représente la hauteur de chute de pluie journalière. Elle a du être convertie de inch en mm. Elle est remise automatiquement à zéro par la console de la station météo tous les jours. UV : Les UV sont exprimés en index. L’unité index est une échelle de mesure de l'intensité du rayonnement UV du soleil. Cette échelle va de 0 à 11, plus l'indice est élevé plus le rayonnement UV est important. Solar Radiation (rayonnement solaire) : Le rayonnement solaire est exprimé en Watt/mètre². MATHERET Julien Page 10/25
Projet : SolaireLGM2 Application météo 4 DIAGRAMME UML DE CONCEPTION 4.1 Diagramme de déploiement Application développée dans le cadre de mon projet MATHERET Julien Page 11/25
Projet : SolaireLGM2 Application météo 4.2 Diagramme de classes MATHERET Julien Page 12/25
Projet : SolaireLGM2 Application météo Classe CSMeteo : Cette classe sert à écrire et à lire sur la liaison série. Description de ses méthodes : ouvrirPort permet : - de définir quel port sera utilisé - d’ouvrir le port (la liaison série) - d’initialiser la liaison série : 19200 bauds, 8 bits de données, 1 bit de stop, pas de parité. - de récupérer les flux : d’entré et de sortie, pour nous permettre par la suite de pouvoir lire et écrire sur la liaison série. lectureSerie permet : - de lire la réponse de la console - d’envoyer les données lues à la classe Ctraitement interrogerSerie permet d’envoyer la requête LOOP 1 à la console. Close permet : - de fermer les flux d’entré et sortie - de fermer le port Classe Ctraitement : Cette classe sert à extraire et convertir toutes les données intéressantes pour le projet. Description de ses méthodes : extractConversDonnees est la méthode la plus importante de cette classe : - elle appelle toutes les autres méthodes de conversions - elle permet de transmettre les données converties à la classe CbaseDeDonnes Toutes les autres méthodes permettent d’extraire et convertir les données. MATHERET Julien Page 13/25
Projet : SolaireLGM2 Application météo Classe CbaseDeDonnees : Cette classe est chargée d’établir une connexion avec la base de données puis ensuite de ranger les données dans celle-ci. Description de ses méthodes : insererDonnees est la méthode principale de cette classe, elle permet : - de ranger les valeurs brutes - de gérer l’insertion des données tout les quarts d’heure, tous les jours, tous les mois et toutes les années. Pour réaliser cela, elle va faire appel à toutes les autres méthodes de la classe décrites ci-dessous. supprDonnees permet de vider la table des valeurs brutes toutes les 15 minutes. valeurs_15 permet d’exécuter toutes les requêtes nécessaires pour remplir la table des quarts d’heure avec des données : maximums, minimums et moyennes. valeurs_quotidiennes permet d’exécuter toutes les requêtes nécessaires pour remplir la table quotidienne avec des données : maximums, minimums et moyennes. valeurs_mensuelles permet d’exécuter toutes les requêtes nécessaires pour remplir la table mensuelle avec des données : maximums, minimums et moyennes. valeurs_annuelles permet permet d’exécuter toutes les requêtes nécessaires pour remplir la table annuelle avec des données : maximums, minimums et moyennes. valeurs_max permet de ranger toutes les valeurs maximales relevées sur une journée. valeurs_min permet de ranger toutes les valeurs minimales relevées sur une journée. Toutes les commandes SQL utilisées dans ces méthodes sont décrites dans le chapitre 7.3 Classe Clog : Cette classe permet de traiter les exceptions qui peuvent être générées lors d’une erreur dans le programme. Lorsqu’une exception sera générée, celle-ci sera insérée avec la date dans un fichier texte, cela permettra à l’utilisateur de voir d’où vient l’erreur. Voici un exemple tiré du fichier de log : MATHERET Julien Page 14/25
Projet : SolaireLGM2 Application météo Classe Cdate : Cette classe permet de gérer les dates, les dates seront très utilisées dans la classe CbaseDeDonnees lors des insertions d’enregistrements. 4.3 Diagramme de séquence MATHERET Julien Page 15/25
Projet : SolaireLGM2 Application météo 5 STRUCTURE DES TABLES DE LA BASE DE DONNEES 5.1 Représentation de la base de données météo MATHERET Julien Page 16/25
Projet : SolaireLGM2 Application météo 5.2 Description des tables Les données contenues dans toutes ces tables sont détaillées dans le chapitre 3.4 meteo_valeurs_brutes : Cette table permet de ranger les données toutes les 10 secondes pendant 15 minutes. Au bout de ces 15 minutes, la table sera vidée. meteo_valeurs_15 : Cette table contient les valeurs moyennes de tous les quarts d’heure ainsi que certaines valeurs maximales. meteo_valeurs_quotidiennes : Cette table contient les valeurs moyennes de la journée ainsi que les valeurs minimales, et les valeurs maximales de la table meteo_valeurs_15. La donnée temp_moy_production est la température moyenne entre 7H et 21H. Cette donnée va permettre de mettre en corrélation la température et la production d’énergie de la centrale solaire. meteo_valeurs_mensuelles : Cette table contient les valeurs moyennes, les valeurs minimales, et les valeurs maximales produites sur un mois. meteo_valeurs_annuelles : Cette table contient les valeurs moyennes, les valeurs minimales, et les valeurs maximales produites sur une année. Toutes ces tables disposent d’une clé primaire qui est un identificateur avec auto incrément, tous les enregistrements auront donc une clé unique. On remarque que l’organisation des tables est très simple. A noter que les tables : meteo_valeurs_quotidiennes, meteo_valeurs_mensuelles et meteo_valeurs_annuelles sont des tables qui vont permettre d’optimiser l’application pour éviter d’effectuer trop de calculs lourds sur une seule table. Cela permettra de faire des recherches moins lourdes sur la base de données, et permettra donc au site Web d’être plus performant. MATHERET Julien Page 17/25
Projet : SolaireLGM2 Application météo 6 TESTS UNITAIRES 6.1 Méthodologie et programme de test Pour progresser dans le développement de l’application, j’ai construit un programme de test pour vérifier chaque étape. Ce programme de test enrichi au fur et à mesure m’a permis d’arriver au programme final. Au cours des tests, j’ai notamment repris mon diagramme de classes ce qui m’a permis d’alléger certaines classes. Le programme final effectue les étapes suivantes : - interrogation de la console de la station météo - récupération des données envoyées par la console à l’ordinateur (sous la forme d’une trame) - conversion des données (changement d’unité, traitement) - rangement des données dans la base de données - création d’un fichier de log pour permettre la meilleure gestion des erreurs 6.2 Principaux tests mis en place au cours du développement En règle générale, lorsque je rencontrais des problèmes, j’utilisais principalement l’affichage Java pour mieux cibler ces problèmes A titre d’exemple, voici quelques tests que j’ai effectué durant le développement de l’application : • Test de la communication avec la console de la station météo : Pour réaliser ce test, j’ai configuré minicom pour qu’il puisse lire et écrire sur la liaison série. J’ai alors testé quelques commandes issues du protocole Davis pour vérifier que la console de la station météo répondait à celles-ci. MATHERET Julien Page 18/25
Projet : SolaireLGM2 Application météo • Test de l’écriture sur la liaison série (à l’aide d’un câble RS232/USB) : Pour tester l’envoi de commandes sur la liaison série, j’ai configuré minicom pour qu’il soit à l’écoute du port USB0. Ensuite j’ai configuré et démarré mon application pour qu’elle envoie des commandes sur le port série. Après plusieurs essais, on pouvait voir les commandes arriver sur le terminal minicom. Mon application pouvait alors envoyer des commandes à la console de la station météo. • Test des requêtes SQL : Pour gagner du temps, au lieu de tester mes requêtes SQL dans mon application, je les ai toutes tapées en ligne de commande pour éviter les erreurs de syntaxe, et pour vérifier la validité du résultat obtenu. • Test des fichiers de log : Pour tester les fichiers de log, j’ai du créer des erreurs manuellement pour voir si elles étaient bien insérées dans le fichier, et pour améliorer la présentation du fichier texte. MATHERET Julien Page 19/25
Projet : SolaireLGM2 Application météo 7 QUELQUES NOTIONS RENCONTREES AU COURS DU DEVELOPPEMENT 7.1 Codage en complément à deux Cette technique de codage est utilisée lorsque l’on veut utiliser des entiers relatifs (entiers pouvant être négatifs). Le principe de ce codage est le suivant : a. il faut tout d’abord convertir notre entier en binaire (base 2) b. il faut complémenter chaque bit (on inverse, c'est-à-dire que l'on remplace les zéros par des 1 et vice-versa) c. il faut rajouter 1 au résultat précédent Si le bit de poids fort est égal à 1, le nombre obtenu est un nombre négatif. Extrait de code : Prenons par exemple le traitement de la température : public void temperatureExterieur(){ float inter; tempExt =(lectBuff[14]&0xff); tempExt=tempExt
Projet : SolaireLGM2 Application météo Explication : Certaines valeurs étaient codées sur plusieurs octets, il a donc fallu concaténer ces octets pour pouvoir obtenir la valeur correcte convertie. Les 2 octets qui concernent la valeur de la température se situent à l’emplacement 13 et 14 de la trame. Nous allons prendre comme valeur de température 23 °C, pour cette valeur nous avons : lectBuff[13] = -21 lectBuff[14] = 2 Le – devant le chiffre 21 veut dire que 21 correspond aux bits de poids faibles de la valeur codée sur 2 octets. Le chiffre 2 correspond aux bits de poids forts. Voici l’application du codage en complément à 2 (vu ci-dessus) : Conversion de 21 en binaire : 0001 0101 Conversion de 2 en binaire : 10 Complément à 1 de 21 : 1110 1010 Complément à 1 de 2 : 01 Complément à 2 de 21 : 1110 1011 Complément à 2 de 2 : 10 Concaténation des 2 octets : 0000 0010 1110 1011 Commentaire du code : On range la valeur de la 14ème case du tableau d’octet dans un entier tempExt. On prend en compte tous les bits de l’octet avec l’opération &ff. Voici la représentation de l’entier après l’opération : tempExt =(lectBuff[14]&0xff); tempExt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Maintenant il faut décaler les huit derniers bits de tempExt de huit places vers la gauche avec l’opération suivante : tempExt=tempExt
Projet : SolaireLGM2 Application météo On range la valeur de la 13ème case du tableau d’octet dans tempExt. On prend en compte tous les bits de l’octet avec l’opération &ff. Voici la représentation de l’entier après l’opération : tempExt =(lectBuff[13]&0xff); tempExt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 Maintenant pour voir si l’opération a fonctionné, il faut retraduire le binaire en décimal. 1011101011 (binaire) = 747 (décimal) On doit diviser ce nombre par 10 pour obtenir des degrés Fahrenheit. Pour convertir des degrés Fahrenheit en degrés Celsius il faut utiliser une formule bien précise (voir 7.2). 74.7 °F = 23°C On retrouve bien la valeur qui est affichée sur la console de la station météo. 7.2 Formules de conversion des unités Température : Conversion de degrés Fahrenheit en degrés Celsius => Température en °C = (Température en °F − 32) / 1,8 Pluviométrie : Conversion Inches en millimètres => hauteur en mm= hauteur en Inches * 25.4 Vitesse : Conversion miles per hour en kilomètre par heure => vitesse en km/h= vitesse en miles per hour*1.6 MATHERET Julien Page 22/25
Projet : SolaireLGM2 Application météo 7.3 Requêtes SQL Description des requêtes importantes utilisées lors du projet : Affichage des bases de données : SHOW databases ; Affichage des table d’une base de données : SHOW tables ; Description des tables : DESCRIBE « nom_de_la_table » ; Création d’une nouvelle table : CREATE TABLE " nom_de_la_table " ("colonne 1" "type de données pour la colonne 1", "colonne 2" "type de données pour la colonne 2",...); Suppression d’un table : DROP TABLE « nom_de_la_table » ; Suppression d’un enregistrement de la table : DELETE FROM « nom_de_la_table » WHERE {condition} Sélection de tous les éléments de la table : SELECT * FROM « nom_de_la_table » Insertion d’un enregistrement dans une table : INSERT INTO « nom_de_la_table » (« colonne 1 », « colonne 2 », ...) VALUES (« valeur 1 », « valeur 2 », ...) ; Suppression de tous les enregistrements d’une table : TRUNCATE TABLE « nom_de_la_table »; MATHERET Julien Page 23/25
Projet : SolaireLGM2 Application météo 8 DEROULEMENT DU PROJET (CONCEPTION) 8.1 Planning de réalisation 26/01 : Installation du système d’exploitation : Mandriva 2006 01/02 : Installation de tous les outils, de la librairie RXTX et de minicom. 8/02 et 9/02 : Réalisation de différents travaux pour prendre en main les bases de données avec JDBC Idem avec la librairie RXTX pour prendre en main la gestion de la liaison série. 1/03 et 2/03 : Prise en main de la console et la station météo, lecture de la documentation plus approfondie. 8/03 et 9/03 : Affichage de la trame envoyée par la console. Problème rencontré au niveau de la concaténation de données (voir codage en complément à deux). 16/03 et 17/03 : Finalisation du traitement des données, création des classes Ctraitement et CbaseDeDonnees. 29/03 et 30/03 : Création d’une classe pour les fichiers de log, réinitialisation de la table meteo_valeurs_brutes toutes les 15 min. 19/04 et 20/04 : Intégration de l’application avec le serveur, gestion des valeurs par quart d’heure. Réflexion sur la base de données. 26/04 et 27/04 : Gestion des exceptions de plus bas niveau, création de la méthode valeurs_quotidiennes. 3/05 et 4/05 : Au lieu de se baser sur les id lors des insertions, il est décidé de se baser sur la date. Mise à jour de toutes les méthodes pour que les enregistrements se fassent à une date fixe. Création des méthodes valeurs_mensuelles et valeurs_annuelles. 10/05 et 11/05 : Création des méthodes qui gèrent les valeurs remarquables. MATHERET Julien Page 24/25
Projet : SolaireLGM2 Application météo 8.2 Répartition des activités 100 80 60 % 40 20 0 Analyse Installation de la machine Etude des librairies RXTX et JDBC Prise en main station météo Conception programme Intégration avec le serveur 9 CONCLUSION La conduite de ce projet m’a beaucoup apporté dans le domaine technique en me permettant d’enrichir mes connaissances en : Java, MySQL, Linux, liaison série. Il m’a permis aussi de mieux appréhender le travail en équipe avec la rigueur nécessaire pour atteindre le résultat demandé. Je suis satisfait de voir que notre projet va aboutir, que l’application va fonctionner et qu’elle sera accessible sur Internet. Enfin par le biais de ce projet nous allons contribuer à informer les gens sur les énergies propres. MATHERET Julien Page 25/25
Vous pouvez aussi lire