Table des matieres:
1. Pré-requis
1.0. Définitions
On appelera la machine "
Serveur",
l'ordinateur qui collecte les données et sur lequel les
équiepements 1-wire sont reliés via la prise USB.
On appelera la machine "
Client", l'ordinateur sur lequel les données seront consultées. Cette machine peut etre la machine serveur.
1.1.Hardware
Pour le Serveur:
L'installation peut se faire sur toute machine de type x86 (processeurs
Intel ou AMD, 32bits* ou 64bits*), PC ou portable disposant au minimum
de la configuration suivante:
- Processeur 300MHz
- Memoire: 128Mo
- Carte graphique: peut importe
- 1 Prise USB de libre
Le logiciel étant fait pour gérer des équipements
de type 1-wire, de tels équipements doivent etre disponible.
Note: vous pouvez toujours
essayer le logiciel sans ce matériel pour tester les
fonctionnalitées (voir paragraphe 1.5).
Pour le Client:
N'importe quelle machine pourvue d'une connection reseau et d'un browser web.
Note: aucune version du site n'est
valable pour le moment pour les machine de type PDA. Le support se fera
peut etre par la suite.
1.2.OS
Pour le Serveur:
La version d'Aquariomate distribuée est destinée aux
machines Linux, car les technologies employées se bases sur des
programmes disponibles seulement sous cet OS.
La distribution n'est à priori pas importante. Evidemment les distribution de type Live-CD ne sont pas supportées.
Une version windows ou MacOS verra peut etre le jour suivant la
disponibilité des développeurs et du matériel
à disposition.
Pour le client:
N'importe quel OS sur lequel un browser Web peut tourner.
1.3.Softwares
Les packages suivants doivent etre installés:
Pour le serveur:
Pour le client:
browser web: firefox, mozilla, IE (si le client est sous Windows), Opera, Safari (si le client est sous MacOS), ...
Note: il est évident que pour
des raisons de sécurité, je vous conseille pour le moment
de ne pas autoriser d'autres machines que localhost
à acceder à votre logiciel. Le systeme de login/mot de
passe n'étant pas assez sécurisé pour le moment.
Ce qui revient à avoir la meme machine comme Client et comme Serveur ou à etre sur un réseau local sécurisé.
Pour savoir si ces packages sont installés et leurs versions tapez les lignes de commandes suivante:
- rpm -qa |grep httpd
- rpm -qa |grep mysql
- rpm -qa |grep php
- rpm -qa |grep perl
Pour jpgraph, il faut que la version soit la 1.19 et que son répertoire d'installation soit:
/var/www/aquariomate/jpgraph-1.19
Sans cela, vous ne pourrez pas visualiser les graphiques. Il est donc plus facile d'installer jpgraph APRES Aquariomate.
Pour installer ces packages tapez les commandes suivantes:
yum install httpd
yum install mysql-server mysql
yum install php php-mysql
Si la commande yum n'est pas installée. Vous n'utilisez pas Fedora !
1.4. Les configurations de tests
Voici la description de la machine sur laquelle on effectue les essais:
Processeur: Pentium4 HT
Memoire: 1Go
OS: Linux Fedora Core 2
Kernel: 2.6.9-1.6_FC2smp (obtenu avec la commande '
uname -a')
Packages:
- httpd-2.0.51-2.9
- mysql-server-3.23.58-16.FC2.1
- mysql-3.23.58-16.FC2.1
- php-mysql-4.3.10-2.4
- php-pear-4.3.10-2.4
- php-mbstring-4.3.10-2.4
- php-4.3.10-2.4
- perl-Parse-Yapp-1.05-31
- perl-Net-DNS-0.45-3
- perl-DateManip-5.42a-1
- perl-libwww-perl-5.79-1
- perl-XML-Encoding-1.01-25
- perl-Digest-HMAC-1.01-12
- perl-Filter-1.30-5
- perl-URI-1.30-1
- perl-HTML-Tagset-3.03-29
- perl-XML-Parser-2.34-2
- perl-libxml-enno-1.02-30
- perl-Digest-SHA1-2.07-4
- perl-DBI-1.40-4
- perl-5.8.3-18
- perl-HTML-Parser-3.35-5
- perl-libxml-perl-0.07-29
- perl-Time-HiRes-1.55-2
- perl-XML-Dumper-0.71-1
- perl-DBD-MySQL-2.9003-4
Pour récupérer les différents modules de Perl il vous suffit de taper:
perl -MCPAN -e 'shell'
puis dans le shell qui s'ouvre à vous:
install XXXXXX
où XXXX est par example: DBI
en ne mettant pas la version.
1.5. Configuration pour un essai sans équipement 1-wire
Il vous suffit d'installer et de configurer Aquariomate. L'installation
d'aquariomate vous installe sous /tmp/aquariomate/demo/1wire des
rertoires simulant des équipements 1-wire.
Sur la page "Admin" d'Aquariomate, vous entrez ce path puis vous
clickez sur "Rechercher". La base de donnée est alors remplie avec ces
équipements de tests.
2. Installation du logiciel
Vous pouvez vous procurer le logiciel de 3 façons:
- RPM
- TAR/GZ
- CVS
Note: l'installation se fait sous
/var/www par defaut. Vous pouvez tout aussi bien le faire sous
/var/www/html mais il vous faudra alors configurer des chemins dans les fichiers de configuration.
2.1. RPM
Le RPM est un moyen simple d'avoir tout d'installé
automatiquement et d'etre sur d'avoir les bons packages sur sa machine.
Télechargez le RPM sous /tmp.
Puis entrez la command:
rpm -ivh aquariomate-xxxx.rpm
Il ne vous reste plus qu'à configurer la base de donnée:
http://localhost/phpmyadmin
Note suivant les versions:
Le RPM vous oblige à installer jpgraph AVANT Aquariomate.
Cependant, vous devez aprés effectuer la manipulation suivante:
ln -s <repertoire-d'installation-de-jpgraph> /var/www/aquariomate/jpgraph-1.19
Il n'y a plus de dépdance par rapport à jpgraph, seulement vous etes quand meme obligé de l'installer !
ln -s <repertoire-d'installation-de-jpgraph> /var/www/aquariomate/jpgraph-1.19
2.2 TAR/GZ
Là, on ne se pose pas de questions, on suppose que tout est
installé, et on extrait directement sous
/var/www
tar zxvf aquariomate-xxxx.tar.gz
Et on fait le lien avec jpgraph comme au dessus ou alors on
dé-zippe directement jpgraph-1.19.tar.gz sous
/var/www/aquariomate
cd /var/www/aquariomate; tar zxvf /tmp/jpgraph-1.19.tar.gz
2.3. CVS
On peut utiliser le CVS, mais les gens qui le feront connaissent l'informatique et donc n'ont pas besoin de cette doc !
3- Configuration
ATTENTION: Toutes les commandes lancées par la suite se font en temps qu'utilisateur ROOT sur votre machine. Pour cela tapez:
su -
3.1. Configuration de Apache
La version d'apache utilisée est la version Apache2.
Commencez par vérifier le fichier:
/etc/httpd/conf.d/aquariomate.conf
Si pour une raison ou une autre, il n'existe pas voici ce qu'il contient:
---- DEBUT DU FICHIER ---
Alias /aquariomate /var/www/aquariomate
<Location /aquariomate>
Order allow,deny
Allow from all
</Location>
---- FIN DU FICHIER ----
3.2. Configuration de mysql
La configuration de la base de donnée se fait dans le fichier:
/etc/aquariomate.conf.php
Les données écrites dans ce fichier doivent etre en
accord avec ce que vous allez definir grace à phpMyAdmin.
3.3. Configuration de PHP
Il faut modifier le fichier suivant de maniere à 'tuner' un peu
PHP pour améliorer les choses ... sinon vous risquez d'avoir des
erreurs imprévues !
Fichier à modifier:
/etc/php.ini
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 64M ; Maximum amount of memory a script may consume (8MB)
puis plus loin:
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0
ça vous evitera d'avoir à vous identifier toutes les 2
secondes et en plus, les graphiques seront plus à l'aise pour se
créer.
3.3. Configuration de la base de donnée avec phpmyadmin
Downloader l'outils sur:
http://www.phpmyadmin.net/home_page/
Dé-zipper le sous:
/var/www/html
ensuite, allez à l'adresse:
http://localhost/phpmyadmin
Vous allez arriver sur une page qui ressemble à cela:
Cliquez sur 'Privileges', puis ajouter l'entrée aquariomate avec les memes droits que l'image suivante:
Si vous rencontrez des problemes avec phpMyadmin, des tutoriaux sont sur leur site.
3.4. Configuration d'Aquariomate
Adaptez le fichier
aquariomate.conf.php si besoin et faites les modifications correspondantes sous phpmyadmin.
Changez le mot de passe et le login dans la base de donnée.
Il faut maintenant mettre en route les 'cron' qui permettent d'aller
chercher les valeurs automatiquement sur les équipements.
Pour cela, on utilise:
crontab -e
Ajoutez les lignes suivantes dans le fichier pour que les valeurs soient lues toutes les minutes:
0-59 * * * 1-7 perl /var/www/aquariomate/scripts/aquariomate.pl > aquariomate.log
0-59 * * * 1-7 perl /var/www/aquariomate/scripts/ruleswatcher.pl > ruleswatcher.log
Vous pouvez evidemment changer les valeurs.
Note IMPORTANTE: avec cette configuration par défaut, votre site n'est accessible que depuis le '
localhost'. Pour changer cela, vous devez modifier dans les fichiers de configuration et les scripts perl, en changeant '
localhost' par votre nom de machine.
4- Mise en marche et essais
Deux cas s'offrent à vous, soit vous avez du matériel
1-wire branché sur votre brise USB, soit vous n'avez pas de
matériel et vous pouvez utiliser le répertoire d'exemple:
/var/www/aquariomate/demo/1wire
Dans tous les cas on commence par redemarrer tous les 'deamon' pour prendre en compte les changements de configuration:
mysqld_safe &
httpd -k restart
4.1. Pas d'équipement 1-wire branché
Sous
/var/www/aquariomate/demo/1wire, vous devez avoir l'arborescence suivante:
1wire
|-- 09.F05C88010000
| |-- PIO.A
| `-- type
|-- 09.F05C88010001
| |-- PIO.A
| `-- type
|-- 09.F05C88010002
| |-- PIO.A
| `-- type
|-- 09.F05C88010003
| |-- PIO.A
| `-- type
|-- 10.487D7847488
| `-- temperature
| -- type
|-- 10.487D7847489
| `-- temperature
| -- type
`-- 2C.F05C88010002
|-- type
`-- wiper
Démarrer votre browser web préferé (
http://www.getfirefox.com) et tapez l'URL suivante:
http://localhost/aquariomate
4.2. Equipement 1-wire branché sur votre bus USB
Vérifiez que le systeme de fichier OWFS est bien accessible et
que l'utilisateur de la base de donnée peut lire/ecrire les
fichiers,
sinon reportez-vous à la documentation de
koala_sprint sur
aquasquale, ou au site
http://owfs.sf.net
4.3. Détection des équipements et génération de la base de donnée
A la premiere connection, vous devez initialiser la base de donnée juste en cliquant sur le bouton de la page d'accueil.
Si tout est correctement configuré sur votre ordinateur, vous
arrivez sur la page de login, où vous entrez votre
Login/MotdePasse (admin/admin par defaut). La session ainsi ouverte est
valable jusqu'à la fermeture de votre browser web. Cela peut
etre changé en modifiant la valeur du timeout dans
php.ini.
Allez ensuite dans le menu 'Configuration' et entrez le chemin de votre
répertoire où se trouve la description des
équipements.
Pour la démo:
/var/www/aquariomate/demo/1wire
Puis, appuyez sur
'Rechercher'
Le resultat s'affiche alors devant vous, si tout va bien vous
pouvez alors tranquillement utiliser les autres fonctionnalitées
!
Pour que la base de donnée se peuple de donnée, vous pouvez par example lancer à la main:
/var/www/aquariomate/scripts/aquariomate.pl
et si vous avez défini des règles:
/var/www/aquariomate/scripts/ruleswatcher.pl
5. Messages d'erreurs et solutions
1) J'ai un message d'erreur MySQL qui s'affiche quand je me connecte sur http://localhost/aquariomate
Message:
Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in
/var/www/aquariomate/database.inc.php on line
31
Failed to connect to MySQL: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
Solution:
Démarrer le deamon MySQL avec la commande suivante:
$ safe_mysqld&
Et rechargez votre page web.
2) Je n'arrive pas à 'monter' l'arborescence de fichier 1-wire avec OWFS
Message:
Solution:
3) Je n'arrive pas à visualiser les graphiques
Message:
Solution:
Vous n'avez pas correctement installé jpgraph et/ou vjpgraph n'a
pas assez de mémoire pour générer les graphiques.
Editez le fichier
/etc/php.ini et modifiez la valeur de
memory.limit à
64M ou plus.
6. FAQ