Outils pour utilisateurs

Outils du site

Command disabled: index

documentations:owfs

~~DISCUSSION~~

Installation de owfs sur une Debian(Etch)

Préambule

OWfs est un programme qui montre les réseau 1-wire comme un système de fichier. Il permet de le manipuler comme tel. Je vais l'utiliser pour monitorer la température chez moi, via un ds9490 (connecteur USB⇔1wire) et des ds1820. Ce sont des composants one-wire Dallas qui permettent de connaitre la température.

Prérequis

Il nous faut un serveur avec un port USB en debian Etch avec dessus :

  • g++
  • libusb-dev
  • perl-base (pour pouvoir faire des script perl utilisant owfs)
  • python-dev (pour pouvoir faire des script python utilisant owfs)
  • php4-dev
  • libfuse-dev
  • swig
  • et les outils pour la compilation (make …)

Compilation

On télécharge owfs disponible sur le site officiel dans le menu Setup → Install → Download.
Ou plus simplement à cette page.

Télécharger le .tar.gz. Exemple :

$ wget  http://downloads.sourceforge.net/owfs/owfs-...
[...]
$

On décompresse l'archive dans le repertoire de travail :

~$ cd ~/src
~/src$ tar -zxf <archive source owfs>
~/src$ cd owfs-<version>
~/src/owfs-<version>$

Dans un premier temps on va lancer la configuration de la compilation :

~/src/owfs-<version>$ ./configure --enable-debian --prefix=/usr/local
...
Current configuration:

    Deployment location: /usr/local

Compile-time options:
                  Caching is enabled
                      USB is enabled
                      I2C is enabled
                   HA7Net is enabled
           Multithreading is enabled
    Parallel port DS1410E is enabled
        TAI8570 barometer is enabled
             Thermocouple is enabled
         Zeroconf/Bonjour is enabled
             Debug-output is enabled
                Profiling is DISABLED

Module configuration:
        owfs is enabled
     owhttpd is enabled
      owftpd is enabled
    owserver is enabled
       ownet is enabled
       owtap is enabled
       owmon is enabled
      owcapi is enabled
        swig is enabled
      owperl is enabled
       owphp is enabled
    owpython is enabled
       owtcl is DISABLED

$
  • –enable-debian : permet de mettre les chemins comme sur une debian (d'après ce que j'ai compris)
  • –prefix=/usr/local : donne le repertoire d'installation (ici /usr/local/)

A la fin du configure, normalement tout doit être ENABLE sauf profiling et tcl. Le premier car, je ne sais pas ce que s'est et l'autre car je ne souhaite pas l'utiliser. J'ai laisser activer le reste pour être le plus générique possible et afin de pouvoir récupérer un maximum de ressource sur le net. Je ne pense pas utiliser owserver, owhttpd et owftpd mais ca ne me coute rien de les compiler au cas où.

Voici, une petite explication de ce qu'on a compilé (limitè à mes compétences):

    Deployment location: /usr/local   # chemin de déploiement
 
Compile-time options:
                  Caching is enabled  # Pour faire du cache des données des composants 1-wire
                      USB is enabled  # Pour utiliser l'l'interface USB
                      I2C is enabled  # Pour utiliser l'I2C
                   HA7Net is enabled  # Pour utiliser l'HA7Net
           Multithreading is enabled  # Au cas ou on veuille faire du Multithreading
    Parallel port DS1410E is enabled  # Pour utiliser l'interface parallèle
        TAI8570 barometer is enabled  # Pour utiliser le baromètre TAI8570
             Thermocouple is enabled  # Pour utiliser les thermocouples
         Zeroconf/Bonjour is enabled  # ??
             Debug-output is enabled  # Pour pouvoir faire du debug
                Profiling is DISABLED # ??
 
Module configuration:
        owfs is enabled  # Le système de base avec les lib et bin qui vont bien
     owhttpd is enabled  # Un serveur http qui montre le FS
      owftpd is enabled  # Un serveur ftp qui montre le FS
    owserver is enabled  # Un serveur qui permet de déporter les applis du serveur
       ownet is enabled  # Surement pour faire passer owfs sur du réseau
       owtap is enabled  # ??
       owmon is enabled  # Surement pour le monitoring
      owcapi is enabled  # ??
        swig is enabled  # Pour le perl
      owperl is enabled  # Pour atteindre le réseau 1-wire avec des scripts perl
       owphp is enabled  # Pour atteindre le réseau 1-wire avec des scripts php
    owpython is enabled  # Pour atteindre le réseau 1-wire avec des scripts python
       owtcl is DISABLED # Pour faire du tcl

Une fois que le configure est fait, on peut passer à la phase de compilation. Un simple make suffit :

~/src/owfs-<version>$ make
[...]
~/src/owfs-<version>$

Normalement, tout devrait bien ce passer à part quelques warning.

Installation

Pour la phase d'installation, il faut être superutilisateur(root).

~/src/owfs-<version>$ sudo make install
[...]
~/src/owfs-<version>$

Normalement, tout devrait bien ce passer.

Mise en place

Pour la suite nous avons besoin d'être en root :

~/src/owfs-<version>$ sudo su -
~#

Créons notre point de montage pour owfs :

~# mkdir /mnt/owfs
~#

Puis créons le script de démarage de owfs :

/etc/init.d/owfs

#! /bin/sh
# script de démarage de owfs
 
set -e
# on récupère le point de montage de OWFS
source /etc/default/owfs
# binaire OWFS 
OWFS="/usr/local/bin/owfs"
# module à charger pour owfs
OWFSMODULES="fuse"
 
case "$1" in
  start)
        # on vérifie que le point de montage existe
        if [ -d $OWFSMNT ]
        then
                # on charge les modules
                modprobe $OWFSMODULES
                # On monte le owfs en donnant l'accès à tout le monde 
                # TODO A CHANGER POUR LES DROITS
                $OWFS -u $OWFSMNT --allow_other
        fi
        ;;
  stop)
        # On démonte OWFS
        umount $OWFSMNT
        ;;
  *)
        echo "Usage: $N {start|stop}" >&2
        exit 1
        ;;
esac
 
exit 0

Et le fichier de config par défaut :

/etc/default/owfs

# Point de montage de owfs
OWFSMNT="/mnt/owfs

On place le scripte de démarage dans les rc.d :

~# update-rc.d owfs defaults
[...]
~#

Et voilà, owfs est pret à fonctionner.

documentations/owfs.txt · Dernière modification: 2008/03/19 11:53 (modification externe)