5) Script de commande et pages html
Le script de commande checkHumi.sh
fait fonctionner le tout. On le téléchargera à partir de ce lien
(choisir Enregistrer la cible sous...) et on le copiera sur le serveur
hors de visibilité du serveur Web, c'est à dire ni dans les répertoires des pages
html, ni dans les répertoires CGI. On lui donnera l'attribut
exécutable pour root :
chown root:root checkHumi.sh
chmod 700 checkHumi.sh
Puis avec vi (ou tout autre éditeur Unix) on modifiera
les 5 lignes suivantes pour tenir compte de l'environnement spécifique:
logfileHumi="/usr/local/rrdtool/datas/humiLast";
rrdfileHumi="/usr/local/rrdtool/datas/humidity.rrd";
rrdtoolbin="/usr/local/rrdtool/bin/rrdtool";
htmldir="/WWW/temperature";
/path2digitemp/digitemp -a -o"%.2C" | tail -n1 > $logfile
logfileHumi est le chemin d'accès et le nom du fichier de travail du script. Généralement on le
placera au même endroit que la base de donnée. Ce fichier contient toujours la dernière mesure d'humidité.
rrdfileHumi est le chemin d'accès et le nom de la base de donnée Round Robin.
rrdtoolbin est le chemin d'accès complet de rrdtool.
htmldir est le chemin d'accès des fichiers html des pages de mesure d'humidité. Les relevés
d'humidité seront plaçés dans ce répertoire.
path2digitemp doit être remplacé par le chemin d'accès complet menant au logiciel d'acquisition.
On configurera crontab de root pour exécuter
ce script toutes les 5 minutes:
*/5 * * * * /path_2_script/checkHumi.sh > /dev/null 2>&1
path_2_script devant être modifié pour le chemin d'accès où vous
avez placé le script.
Si tout va bien :-), une mesure d'humidité sera faite toutes
toutes les 5 minutes et les fichiers suivants seront placés dans le répertoire du serveur Web:
humiDaily.png relevés d'une journée.
humismall.png relevés d'une journée (petite image).
humiWeekly.png relevés d'une semaine.
humiMonthly.png relevés sur 28 jours.
humi2Monthly.png relevés sur 60 jours (-60j - 0j).
humi3Monthly.png relevés sur 60 jours (-120j - 60j).
humi4Monthly.png relevés sur 60 jours (-180j - 120j).
humiYearly.png relevés sur une année (maxima et minima journalier).
lasthumi.txt valeur de la dernière humidité mesurée.
lastdate.txt date et l'heure de la dernière mesure.
Une fois ces fichiers créés la première fois, on y appliquera les mêmes droits et
owner/group/world que les autres fichiers html de votre serveur
(généralement 644).
Pour afficher vos graphiques, il restera à créer des pages html
avec les images aux endroits voulus, par exemple:
‹img src="humiDaily.png"› pour placer le relevé journalier.
Pour utiliser les fichiers texte, le serveur Web devra être configuré avec
SSI (Server Side Include) et l'extension changée en shtml.
Par exemple, la date et la dernière humidité mesurée sera inclue sur la page à l'endroit voulu
avec les instructions suivantes:
‹!--#include virtual="lastdate.txt" --›
‹!--#include virtual="lasthumi.txt" --›
Ce qui nous donnera quelque chose du genre:
Sat Nov 6 17:40:05 CET 2004 - Humidité relative: 60 %
Vous pouvez très facilement modifier le script pour changer tous les paramètres des graphiques. Pour cela,
bien entendu, vous aurez lu en détail le mode d'emploi de
RRDTool.