1Owtcl(TCL) Owtcl(TCL)
2
3
4
5______________________________________________________________________________
6
8 Owtcl - OWFS library access commands for Tcl
9
11 package require ow
12
13 ow option ?arg ...?
14
15 ::OW::init interface ?interface ...? ?arg ...?
16 ::OW::finish
17 ::OW::isconnect
18 ::OW::get ?path? ?arg ...?
19 ::OW::put path ?value?
20 ::OW::isdirectory path
21 ::OW::isdir path
22 ::OW::exists path
23
25 1-Wire
26 1-wire is a wiring protocol and series of devices designed and manufac‐
27 tured by Dallas Semiconductor, Inc. The bus is a low-power low-speed
28 low-connector scheme where the data line can also provide power.
29
30 Each device is uniquely and unalterably numbered during manufacture.
31 There are a wide variety of devices, including memory, sensors (humid‐
32 ity, temperature, voltage, contact, current), switches, timers and data
33 loggers. More complex devices (like thermocouple sensors) can be built
34 with these basic devices. There are also 1-wire devices that have
35 encryption included.
36
37 The 1-wire scheme uses a single bus master and multiple slaves on the
38 same wire. The bus master initiates all communication. The slaves can
39 be individually discovered and addressed using their unique ID.
40
41 Bus masters come in a variety of configurations including serial, par‐
42 allel, i2c, network or USB adapters.
43
44 OWFS design
45 OWFS is a suite of programs that designed to make the 1-wire bus and
46 its devices easily accessible. The underlying principle is to create a
47 virtual filesystem, with the unique ID being the directory, and the
48 individual properties of the device are represented as simple files
49 that can be read and written.
50
51 Details of the individual slave or master design are hidden behind a
52 consistent interface. The goal is to provide an easy set of tools for a
53 software designer to create monitoring or control applications. There
54 are some performance enhancements in the implementation, including data
55 caching, parallel access to bus masters, and aggregation of device com‐
56 munication. Still the fundamental goal has been ease of use, flexibil‐
57 ity and correctness rather than speed.
58
59 owtcl
60 owtcl (3) is a Tcl extension that provides an interface to OWFS. The
61 underlying interface to the 1-wire bus is identical to owfs (1)
62 (filesystem view) and owhttpd (1) web server interface. Only the top
63 layer has been modified to return native Tcl data.
64
66 Performs one of several operations, depending on option. The legal
67 options (which may be abbreviated) are:
68
69 ow open arg ...
70 Connect to 1-wire adapter or owserver. arg ... defines a way of
71 connection to the 1-wire bus.
72 The full set of initialization args is extensive. They corre‐
73 spond roughly to the command line args of owfs (1) owhttpd (1)
74 and owftpd (1)
75
76
77 ow close
78 Close connection to 1-wire bus or owserver.
79
80
81 ow version ?-list?
82 Return version of the owtcl and owlib/
83
84
85 ow opened
86 Return 1 if connected to 1-wire adapter or owserver, otherwise
87 0.
88
89
90 ow error level value
91 Set debug options. See owfs (5)
92
93
94 ow error print value
95 Set debug options. See owfs (5)
96
97
98 ow get path ?-list?
99 Returns contents of OWFS directory as the list if path contains
100 name OWFS directory. If path is name of OWFS file, returns of
101 contents of this file. For files *.ALL returns a values list.
102
103
104
105 ow put path value
106 Puts value in OWFS file indicated in path. For files *.ALL use a
107 value list.
108
109
110 ow isdirectory path
111 If path is the directory return 1. Otherwise return 0.
112
113
114 ow isdir path
115 Synonym of ow isdirectory
116
117
118 ow set path
119 Creates a new ow-like command with root in the path. A new com‐
120 mand allows options get, put, isdirectory, isdir and set.
121
122
123
125 The following low-level commands are possible:
126
127 ::OW::init interface ?interface ...? ?arg ...?
128 Connect to 1-wire adapter or owserver. interface and arg ...
129 defines a way of connection to the 1-wire bus.
130 The full set of initialization options is extensive. They corre‐
131 spond roughly to the command line options of ,B owfs (1) owhttpd
132 [1m(1) and owftpd (1)
133
134
135 ::OW::finish
136 Close connection to 1-wire bus or owserver.
137
138
139 ::OW::isconnect
140 Return 1 if connected to 1-wire adapter or owserver, otherwise
141 0.
142
143
144 ::OW::get ?path? ?-list?
145 Returns contents of OWFS directory as the list if path contains
146 name OWFS directory. If path is name of OWFS file, returns of
147 contents of this file. For files *.ALL returns a values list. If
148 path is not defined, contents of root OWFS directory come back.
149
150
151 ::OW::put path ?value?
152 Puts value in OWFS file indicated in path. For files *.ALL use a
153 value list. If /fIvalue is not defined, puts a empty string.
154
155
156 ::OW::isdirectory path
157 If path is the directory - return 1. Otherwise return 0.
158
159
160 ::OW::isdir path
161 Synonym of ::OW::isdirectory
162
163
164 ::OW::exists path
165 If path is exists - return 1. Otherwise return 0.
166
167
169 package require ow
170
171 ow open -d /dev/ttyS0 -t 60
172
173 set save_templow [ow get /28.86BF80000000/templow]
174 ow put /28.86BF80000000/templow 10
175
176 set room_sensor [ow set /28.86BF80000000]
177 $room_sensor put temphigh 50
178
179 set room_temp [$room_sensor set temperature]
180 set current_temp [$room_temp get]
181
182
184 Programs
185 owfs (1) owhttpd (1) owftpd (1) owserver (1) owdir (1) owread (1)
186 owwrite (1) owpresent (1) owtap (1)
187
188 Configuration and testing
189 owfs (5) owtap (1) owmon (1)
190
191 Language bindings
192 owtcl (3) owperl (3) owcapi (3)
193
194 Clocks
195 DS1427 (3) DS1904(3) DS1994 (3) DS2404 (3) DS2404S (3) DS2415 (3)
196 DS2417 (3)
197
198 ID
199 DS2401 (3) DS2411 (3) DS1990A (3)
200
201 Memory
202 DS1982 (3) DS1985 (3) DS1986 (3) DS1991 (3) DS1992 (3) DS1993 (3)
203 DS1995 (3) DS1996 (3) DS2430A (3) DS2431 (3) DS2433 (3) DS2502 (3)
204 DS2506 (3) DS28E04 (3) DS28EC20 (3)
205
206 Switches
207 DS2405 (3) DS2406 (3) DS2408 (3) DS2409 (3) DS2413 (3) DS28EA00 (3)
208
209 Temperature
210 DS1822 (3) DS1825 (3) DS1820 (3) DS18B20 (3) DS18S20 (3) DS1920 (3)
211 DS1921 (3) DS1821 (3) DS28EA00 (3) DS28E04 (3)
212
213 Humidity
214 DS1922 (3)
215
216 Voltage
217 DS2450 (3)
218
219 Resistance
220 DS2890 (3)
221
222 Multifunction (current, voltage, temperature)
223 DS2436 (3) DS2437 (3) DS2438 (3) DS2751 (3) DS2755 (3) DS2756 (3)
224 DS2760 (3) DS2770 (3) DS2780 (3) DS2781 (3) DS2788 (3) DS2784 (3)
225
226 Counter
227 DS2423 (3)
228
229 LCD Screen
230 LCD (3) DS2408 (3)
231
232 Crypto
233 DS1977 (3)
234
235 Pressure
236 DS2406 (3) -- TAI8570
237
239 http://www.owfs.org
240
242 Serg Oskin (serg@oskin.ru)
243
244
245
246
247
248Tcl 20/January/2005 Owtcl(TCL)