Update the ipkg repository and install the packages /# echo "src owfs http://owfs.sourceforge.net/openwrt/kamikaze/packages" >> /etc/ipkg.conf ipkg update on install fuse a partir du web site fuse-utils-2-4 2.4.2-2 FUSE (utilities) Install kmod-fuse-2-4 2.4.34+2.4.2-brcm-2 FUSE (kernel module) Install libfuse-2-4 mais après on télécharge par ftp owfs et compagnie pour avoir la release 2.6 (stable) root@OpenWrt:/tmp# opkg install owlib_2.6p8-4_mipsel.ipk owfs_2.6p8-4_mipsel.ipk
# Sources device = /dev/tts/1 # owfs specific mountpoint = /tmp/1wire/ # Temperature scales Celsius # Timeouts (all in seconds) # cache for values that change on their own timeout_volatile = 0 # seconds "volatile" values remain in cache #0 a cause du boutonde sonnette et des capteurs aqua(niveau) # cache for values that change on command timeout_stable = 0 # seconds "stable" values remain in cache #0 a cause de la sonnette et des pompes aqua # cache for directory lists (non-alarm) timeout_directory = 60 # seconds "directory" values remain in cache # cache for 1-wire device location timeout_presence = 60 # seconds "device presence" (which bus) timeout_serial = 10 # seconds to wait for serial response timeout_usb = 250 # seconds to wait for USB response timeout_network = 250 # seconds to wait for tcp/ip response timeout_ftp = 250 # seconds inactivity before closing ftp session # # Process control pid_file =/var/run/owfs.pid error_print = 0 # 0-mixed 1-syslog 2-stderr 3-suppressed error_level = 9 # increasing noise # # Display # format = f[.]i[[maison2:c# 1-wire address f amily i d code c rc format = f.i.c # # Cache cache_size = 100000 # maximum cache size (in bytes) or 0 for no limit (default 0) # File: /usr/bin/run-owfs #!/bin/sh /etc/init.d/owserver start force /etc/init.d/owfs start force /etc/init.d/owhttpd start force /etc/init.d/owftpd start force
on ajoute un menu sous webif grace a script suivant (/www/cgi-bin/webif/_maison_1wire_stat.sh)
#!/usr/bin/webif-page <? . /usr/lib/webif/webif.sh header "MAISON" "1 Wire Stat" "" cat <<EOF <h2>1 wire statistics</h2> /var/1wire/bus.0/statistics/errors/ EOF cd /var/1wire/bus.0/statistics/errors/ echo "<BR>grep sur valeur différente de 0<BR>" tmp=$(grep [1-9] *) echo $tmp cd /var/1wire/statistics/read/ echo "<BR><BR>/var/1wire/statistics/read/" echo "<BR>success";cat success echo "<BR>tries.ALL";cat tries.ALL cd /var/1wire/statistics/write echo "<BR><BR>/var/1wire/statistics/write" echo "<BR>success";cat success echo "<BR>tries.ALL";cat tries.ALL cd /var/1wire/statistics/threads/overall echo "<BR><BR>var/1wire/statistics/threads/overall" echo "<BR>sum";cat sum echo "<BR>num";cat num echo "<BR>now";cat now echo "<BR>max";cat max ?> <? footer ?> <!-- ##WEBIF:name:MAISON:1_Wire_Statistics -->
fred@Xubuntu:~/WL500GP_File_Structure/tmp/1wire/bus.0/statistics/errors$ grep -v 0 * CRC8_errors: 2 CRC8_tries: 169 ne fonctionne pas avec 20 a la place de 2 .... mieux : fred@Xubuntu:~/WL500GP_File_Structure/tmp/1wire/bus.0/statistics/errors$ grep [1-9] * CRC8_errors: 20 CRC8_tries: 169 max_delay: 0.011 maintenant il faudrait substituer les retour chariot par des <BR>
root@OpenWrt:~/1wire/05.A12C27000000# echo 1 >> PIO root@OpenWrt:~/1wire/29.488000000000# echo 255 >> PIO.BYTE root@OpenWrt:~/1wire/29.488000000000# cat PIO.ALL 1,1,1,1,1,1,1,1 pour lire une entree: root@WL500GP:~/1wire/29.C97F00000000# cat sensed.7 sensed passe a 1 quand l’entrée physique est a 5V les led etant commandé en low side quand on a PIO.X=1 on a sensed.X=0 et inversement
============================================================================ root@OpenWrt:/dev# cat /proc/tty/driver/serial serinfo:1.0 driver:5.05c revision:2001-07-08 0: uart:16550A port:B8000300 irq:3 baud:114583 tx:241 rx:0 RTS|DTR 1: uart:16550A port:B8000400 irq:3 baud:9593 tx:15 rx:0 CTS|DSR|CD ============================================================================ owfs --error_level=9 --error_print=2 --foreground -d /dev/tts/1 /tmp/1wire/ CONNECT: fuse mount point: /tmp/1wire/ CALL: PARSENAME path=[] DEBUG: fuse_mnt_opt=[(null)] DEBUG: fuse_open_opt=[(null)] fusermount: failed to open /dev/misc/fuse: No such file or directory DEBUG: owfs: ow_exit(0) CALL: Starting Library cleanup CALL: Clear Cache CALL: Closing input devices DEBUG: FreeIn: busmode=1 DEBUG: COM_close: flush DEBUG: COM_close: restore DEBUG: COM_close: close CALL: Closing outout devices CALL: Finished Library cleanup What do I do if /dev/fuse does not exist? 275 ----------------------------------------- 276 277 Maybe the FUSE module is not loaded. As root, try: 278 279 modprobe fuse 280 281 If nothing changes, as root run: 282 283 mknod /dev/fuse c 10 229 284 285 What do I do if you don't have access to /dev/fuse? 286 --------------------------------------------------- 287 288 As root run: 289 290 chmod o+rw /dev/fuse If you don't use udev, you may get this error message: fusermount: failed to open /dev/fuse: No such device or address Before loading the fuse kernel module, create the device node manually: mknod -m 666 /dev/fuse c 10 229 strace owfs -d /dev/ttyS1 /mnt/1-wire/
rapport anum suite a cette commande
PIC 164066.349 Data=E3 C1 DS 164068.504 Data=CD PIC 164325.832 Data • • • FC PIC 164346.333 Data=C1 PIC 164380.423 Data=17 45 5B 0F 91 DS 164381.512 Data=16 44 5A 00 93 PIC 164396.368 Data=C5 DS 164398.528 Data=CD ===> OK :/etc/config/owserver : activer la ligne wrt54g run-owfs
owfs --error_level=9 --error_print=2 -d /dev/tts/1 /tmp/1wire/ CONNECT: fuse mount point: /tmp/1wire/ CALL: PARSENAME path=[] DEBUG: fuse_mnt_opt=[(null)] DEBUG: fuse_open_opt=[(null)] ===> OK uniquement OWFS est lancé par contre pas de rafraichisement periodique
10.3E8702010800 /*DS18S20: 8 CH marron*/ 1D.20B709000000 /* capteur de pluie*/ 29.488000000000 /*fils pilotes 2408*/ 10.B48FB7000800 /*DS18S20: salon */ 28.309FC1000000 /*DS18B20: ext */ 10.CC610F010800 /*DS18S20: 6 couloir */ 28.37A1B2000000 /*DS18B20 sur carte RS232/1W*/ 10.F455B7000800 /*DS18S20: garage*/ 28.B6AADB000000 /*DS18B20: 7 CH pama*/ 10.FD1309010800 /*DS18S20: 9 CH froide*/ 28.F4C4DB000000 /*DS18B20: 5 CH lucile*/ 28.37A1B2000000 /* température platine WL500Gp */ 1D.20B709000000 /* cpt pluie 29.488000000000 /* 2408 fils pilotes ANCIEN*/ 29.12CA01000000 /* 2408 fils pilotes */ 29.BEC001000000 /* 2408 ctrl jardin */ 10.3E8702010800 28.309FC1000000 29.488000000000 statistics 10.B48FB7000800 28.37A1B2000000 29.BEC001000000 structure 10.CC610F010800 28.B6AADB000000 alarm system 10.F455B7000800 28.ECDEC1000000 bus.0 10.FD1309010800 28.EF63C7010000 settings 1D.20B709000000 28.F4C4DB000000 simultaneous
avec la configuration par défaut on ne détecte pas ou mal le réseau 1w complet de la maison.
// default PDSRC = 1.37Vus // default W1LT = 10us // default DSO/WORT = 8us
avec la configuration :(\owfs-2.6p8\module\owlib\src\c\ow_ds9097U.c)
// PDSRC = 1.37Vus // W1LT = 11us ,PARMSET_Write11us // DSO/WORT = 10us,PARMSET_SampOff10us
le réseau est visible et stable
apres avoir installé le package owfs-2.6p8 de facon standard sur le routeur
on modifie ~/openwrt/OpenWrt-SDK-brcm-2.4-for-Linux-i686/build_mipsel/owfs-2.6p8/module/owlib/src/c/ow_ds9097U.c on modifie ~/openwrt/OpenWrt-SDK-brcm-2.4-for-Linux-i686/build_mipsel/owfs-2.6p8/module/owlib/src/c/ow_ds9097.c ~/openwrt/OpenWrt-SDK-brcm-2.4-for-Linux-i686/make V=99 à V=1 wget http://frederic.simon.free.fr/maison/libow_2.6p8-4FS2_mipsel.ipk wget http://www.lamaisonsimon.fr/dev/libow_2.6p8-4FS2_mipsel.ipk ipkg install -force-overwrite libow_2.6p8-4FS2_mipsel.ipk
je n'arrive pas à linker OWCAPI malgrès les liens ci dessous, ca me semble un peu lourd pour mes besoins