Etape 2: a propos du logiciel
Les façon dont les choses fonctionnent à l’échelle du système :
Chaque minute le harceleur se réveille, à l’aide d’une interruption du module RTC. Il recueille des informations de différents capteurs, il envoie via XBee et se rendort. Du côté du PC, un programme c# est l’ouverture port série, écouter le XBee et si l’information reçue est correcte, il écrit vers un fichier CSV (emplacement par défaut est C:\Temp\NewWeatherStation.csv et peut être changée comme une constante du côté PC).
Sur la station de capteurs météorologiques éloignées, il y a en fait 3 sondes de température différentes. Un TMP102 qui est un capteur embarqué. Le DHT22 a capteur de température trop et le fait le BMP085. Toutes ces informations, ainsi que du temps du CCF, humidité, pression barométrique, calcul d’altitude ainsi que les informations de charge de batterie sont envoyés via le XBee vers le PC, où il est tous sauvé dans le fichier CSV et affichée sur l’écran principal de l’application.
J’ai choisi au rapport de la station de capteur météo distant une fois chaque minute, mais évidemment c’est beaucoup trop fréquents que le temps change réellement. La principale raison pour cela est que je ne voulais pas attendre une heure pour chaque paquet pour le débogage... À l’avenir, je pourrais appliquer une moyenne d’une fois toutes les 30 minutes d’échantillonnage du côté PC. Plus longs temps d’attente soit dit en passant ont des implications sur la connexion XBee entre le point de terminaison et coordonnateur qui exigent la renégociation et la découverte que je préfère ignorer. Le seul inconvénient de trop fréquentes d’échantillonnage est plus gros fichier d’historique. Grâce au système depuis quelques mois maintenant, il faut environ 4MB par mois, qui est-ce pas beaucoup et peut être encore réduite en supprimant certains de ces informations redondantes il trop. Ligne de fond, c’est assez bon.
Initialement, j’ai choisi d’utiliser le fichier CSV pour la mise en œuvre plus facilement et d’avoir un moyen simple d’importation vers Excel pour les graphiques et les rapports. Finalement j’ai choisi de faire la représentation graphique moi-même, tout simplement parce que je voulais expérimenter avec qui trop en c# (Microsoft a fait un travail vraiment sympa il faut avouer). J’ai aussi trouvé une bibliothèque libre c# (Assemblée) pour exporter les informations directement vers Excel. Le nom de c’est JetCell et c’est assez bon pour ce que j’ai besoin ici, alors j’ai ajouté que trop. À l’avenir, je pourrais changer le stockage pour être une base de données, si je vais trouver une bonne raison de le faire.