Le site "Toute la Domotique" effectue du 26 novembre au 7 décembre une commande groupée en partenariat avec le site "Planete-domotique.com".
Pour les intéressés, c'est par la.
jeudi 22 novembre 2012
vendredi 14 septembre 2012
OWFS : Régle de nommage des composants 1-Wire
Le fabricant à créé un système de nommage unique des composants 1-Wire. Cette règle de nommage à été reprise par les développeurs de l' application OWFS.
Chaque répertoire (correspondant au composant connecté) est nommé de la façon suivante :
XX. YYYYYYYYYYYY
Voila la liste des Id correspondants aux diffèrentes familles de composants :
Chaque répertoire (correspondant au composant connecté) est nommé de la façon suivante :
XX. YYYYYYYYYYYY
- XX : représente l'ID au format hexadecimal du composant, son numéro de famille. Chaque famille est représenté par un ID différent.
- YYYYYYYYYYYY : représente le numéro de série du composant. Deux composants ne peuvent pas avoir le même n° de série.
Voila la liste des Id correspondants aux diffèrentes familles de composants :
ID | Composant | Commentaire |
---|---|---|
01 | DS2401 DS1990A | |
02 | DS1991 DS1425 | |
04 | DS1994 DS2404 | |
05 | DS2405 | |
06 | DS1993 | |
08 | DS1992 | |
09 | DS1982 DS2502 | |
0A | DS1995 | |
0B | DS1985 DS2505 | |
0C | DS1996 | |
0F | DS1986 DS2506 | |
10 | DS1920 DS1820 DS18S20 | Thermomètre de précision pouvant fonctionner en mode parasite |
12 | DS2406 DS2407 | |
13 | DS1983 DS2503 | |
14 | DS1971 | |
18 | DS1963S | |
1A | DS1963L | |
1D | DS2423 | |
1F | DS2409 | |
20 | DS2450 | |
21 | DS1921 | |
22 | DS1822 | |
23 | DS1973 | |
24 | DS1904 DS2415 | |
26 | DS2438 | |
27 | DS2417 | |
28 | DS18B20 | Thermomètre à précision ajustable |
2C | DS2890 | |
30 | DS2760 | |
33 | DS1961S DS2432 | |
39 | DS1977 | |
41 | DS1922 DS2422 | |
81 | DS9490R |
dimanche 2 septembre 2012
OWFS : script pour le demarrage
Configuration pour le démarrage automatique de owfs
Créer le fichier /etc/init.d/owfs.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides: owfs
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 6
# Short-Description: run owfs
# Description: run owfs
### END INIT INFO
MOUNTPOINT='/mnt/1Wire'
case "$1" in
start)
echo "Starting script owfs with USB support...";
echo `/usr/bin/owfs -u -s localhost:4304 --allow_other --mountpoint=$MOUNTPOINT`;
;;
stop)
echo "stopping script owfs by unloading mount-point ..";
echo `umount $MOUNTPOINT`;
;;
*)
echo "Usage: $N {start|stop}" >&2
exit 1
;;
esac
exit 0
Puis faire :
#sudo update-rc.d owfs.sh defaults
Source : Sebastien Mei, owfs.org
samedi 1 septembre 2012
OWFS : installation sur une Debian "Wheezy"
Owfs - présentation
C’est l’exploitation d'owserver sous forme de système de fichiers.Owserver s’occupe des communications avec le DS9490R, il tourne en tant que serveur à l’écoute sur le port 4304 (cf conf /etc/owfs.conf).
Owfs, va interroger le serveur pour rendre un résultat sous forme de répertoires et de fichiers.
L’intérêt est de rendre le 1-wire plus malléable et de répondre à certains besoins.
Verification
Connecter votre contrôleur 1-wire DS9490R sur l'un de vos ports USB. Pour s'assurer qu'il est bien reconnu tappez :# lsusb
Vous devez voir votre clef apparaite dans la liste:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
Installation
OWFS se trouve dans le repository. Il suffit donc de faire un simple apt-get :# sudo apt-get install owserver ow-shell owhttpd owfs-fuse
Configuration
Il faut ensuite modifie le fichier /etc/owfs.conf, commenter la ligne 16, décommenter la 19 :# This part must be changed on real installation
#server: FAKE = DS18S20,DS2405
#
# USB device: DS9490
server: usb = all
Restart pour la prise en compte :
# sudo /etc/init.d/owserver restart
On crée un point de montage et on monte :
# sudo mkdir /mnt/1wire/
# sudo owfs -s localhost:4304 -m /mnt/1wire/ --allow_other
Résultat :
# ls -lh
total 0
drwxrwxrwx 1 root root 8 mars 11 00:09 81.BD2223000000
drwxr-xr-x 1 root root 8 mars 10 23:56 alarm
drwxr-xr-x 1 root root 8 mars 10 23:56 bus.0
drwxr-xr-x 1 root root 8 mars 10 23:56 bus.1
drwxr-xr-x 1 root root 8 mars 10 23:56 settings
drwxrwxrwx 1 root root 8 mars 11 00:09 simultaneous
drwxr-xr-x 1 root root 8 mars 10 23:56 statistics
drwxr-xr-x 1 root root 32 mars 10 23:56 structure
drwxr-xr-x 1 root root 8 mars 10 23:56 system
drwxr-xr-x 1 root root 8 mars 10 23:56 uncached
Source : Domolio, owfs.org
mercredi 29 août 2012
Design Pattern Composite : exemple Java
Voila un exemple simple en Java pour illustrer le pattern composite.
La classe Carre
La classe Cercle
La classe Groupe
Diagramme UML
Les sources
La classe Formeimport java.awt.geom.Point2D;
abstract class Forme {
Point2D position;
void ajouterForme(Forme forme) throws Exception {
throw new Exception("Non impémenté");
}
void retirerForme(Forme forme) throws Exception {
throw new Exception("Non impémenté");
}
abstract void dessiner();
abstract float calculerVolume();
}
La classe Carre
import java.awt.geom.Point2D;
class Carre extends Forme {
int hauteur;
int largeur;
public Carre(Point2D position, int hauteur, int largeur) {
this.position = position;
this.hauteur = hauteur;
this.largeur = largeur;
}
@Override
public void dessiner() {
...
}
@Override
public float calculerVolume() {
return hauteur * largeur;
}
}
La classe Cercle
class Cercle extends Forme {
int rayon;
public Cercle(int rayon) {
this.rayon = rayon;
}
@Override
public void dessiner() {
...
}
@Override
public float calculerVolume() {
return (float)Math.PI * rayon * rayon;
}
}
La classe Groupe
import java.util.HashSet;
import java.util.Set;
class Groupe extends Forme {
private Set<forme> formes;
public Groupe() {
this.formes = new HashSet<forme>();
}
@Override
public void ajouterForme(Forme forme) {
formes.add(forme);
}
@Override
public void retirerForme(Forme forme) {
formes.remove(forme);
}
@Override
public void dessiner() {
for (Forme forme : formes) {
forme.dessiner();
}
}
@Override
public float calculerVolume() {
float volume = 0;
for (Forme forme : formes) {
volume += forme.calculerVolume();
}
return volume;
}
}
Libellés :
Design Pattern
,
java
mardi 28 août 2012
Domotique : commande groupée
Le site "Toute la Domotique" effectue du 27/08/2012 au 16/09/2012 une commande groupée en partenariat avec le site "Domadoo".
Attention : il faut être membre du forum TLD pour pouvoir en profiter.
Pour les intéressé, c'est par la.
Attention : il faut être membre du forum TLD pour pouvoir en profiter.
Pour les intéressé, c'est par la.
Inscription à :
Articles
(
Atom
)