1OWSHELL(1) One-Wire File System OWSHELL(1)
2
3
4
6 owdir, owread, owwrite, owget, owexist, owpresent - lightweight
7 owserver access
8
10 Minimal options
11 owdir -s [host:]port [directory]
12 owread -s [host:]port filepath
13 owwrite -s [host:]port filepath value
14 owget -s [host:]port [directory] | filepath
15
16 Server discovery
17 owdir --autoserver [directory]
18 owread --autoserver filepath
19 owwrite --autoserver filepath value
20 owget --autoserver [directory] | filepath
21
22 Full options
23 owdir -q --quiet -f --format f[.]i[[.]c] ] [ --dir ] -s [host:]port
24 [directory] [directory2 ...]
25
26 owread -q --quiet -C --celsius -K --kelvin -F --fahrenheit -R --rankine
27 [ --hex ] [ --start= offset ] [ --size= bytes ] -s [host:]port filepath
28 [filepath2 ...]
29
30 owwrite -q --quiet -C --celsius -K --kelvin -F --fahrenheit -R --rank‐
31 ine [ --hex ] [ --start= offset ] -s [host:]port filepath value
32 [filepath2 value2 ...]
33
34 owget -q --quiet -f --format f[.]i[[.]c] -C --celsius -K --kelvin -F
35 --fahrenheit -R --rankine [ --hex ] [ --start= offset ] [ --size= bytes
36 ] [ --dir ] -s [host:]port [directory] | filepath
37
38 Version
39 owdir -V --version
40 owread -V --version
41 owwrite -V --version
42 owget -V --version
43
44 Help
45 owdir -h | --help
46 owread -h | --help
47 owwrite -h | --help
48 owget -h | --help
49
51 1-Wire
52 1-wire is a wiring protocol and series of devices designed and manufac‐
53 tured by Dallas Semiconductor, Inc. The bus is a low-power low-speed
54 low-connector scheme where the data line can also provide power.
55
56 Each device is uniquely and unalterably numbered during manufacture.
57 There are a wide variety of devices, including memory, sensors (humid‐
58 ity, temperature, voltage, contact, current), switches, timers and data
59 loggers. More complex devices (like thermocouple sensors) can be built
60 with these basic devices. There are also 1-wire devices that have en‐
61 cryption included.
62
63 The 1-wire scheme uses a single bus master and multiple slaves on the
64 same wire. The bus master initiates all communication. The slaves can
65 be individually discovered and addressed using their unique ID.
66
67 Bus masters come in a variety of configurations including serial, par‐
68 allel, i2c, network or USB adapters.
69
70 OWFS design
71 OWFS is a suite of programs that designed to make the 1-wire bus and
72 its devices easily accessible. The underlying principle is to create a
73 virtual filesystem, with the unique ID being the directory, and the in‐
74 dividual properties of the device are represented as simple files that
75 can be read and written.
76
77 Details of the individual slave or master design are hidden behind a
78 consistent interface. The goal is to provide an easy set of tools for a
79 software designer to create monitoring or control applications. There
80 are some performance enhancements in the implementation, including data
81 caching, parallel access to bus masters, and aggregation of device com‐
82 munication. Still the fundamental goal has been ease of use, flexibil‐
83 ity and correctness rather than speed.
84
85 OWSHELL programs
86 owdir owread owwrite and owget are collectively called the owshell pro‐
87 grams. They allow lightweight access to an owserver (1) for use in com‐
88 mand line scripts.
89
90 Unlike owserver (1) owhttpd (1) owftpd (1) owhttpd (1) there is not
91 persistent connection with the 1-wire bus, no caching and no multi‐
92 threading. Instead, each program connects to a running owserver (1) and
93 performs a quick set of queries.
94
95 owserver (1) performs the actual 1-wire connection (to physical 1-wire
96 buses or other owserver programs), performs concurrency locking,
97 caching, and error collection.
98
99 owshell programs are intended for use in command line scripts. An al‐
100 ternative approach is to mount an owfs (1) filesystem and perform di‐
101 rect file lists, reads and writes.
102
103 owdir
104 owdir performs a directory listing. With no argument, all the devices
105 on the main 1-wire bus will be listed. Given the name of a 1-wire de‐
106 vice, the available properties will be listed. It is the equivalent of
107
108 ls directory
109
110 in the owfs (1) filesystem.
111
112 owread
113 owread obtains for value of a 1-wire device property. e.g.
114 28.0080BE21AA00/temperature gives the DS18B20 temperature. It is the
115 equivalent of
116
117 cat filepath
118
119 in the owfs (1) filesystem.
120
121 owwrite
122 owwrite performs a change of a property, changing a 1-wire device set‐
123 ting or writing to memory. It is the equivalent of
124
125 echo value > filepath
126
127 in the owfs (1) filesystem.
128
129 owget
130 owget (1) is a convenience program, combining the function of owdir (1)
131 and owread (1) by first trying to read the argument as a directory, and
132 if that fails as a 1-wire property.
133
135 --autoserver
136 Find an owserver using the Service Discovery protocol. Essentially Ap‐
137 ple's Bonjour (aka zeroconf). Only the first owserver will be used, and
138 that choice is probably arbitrary.
139
140 -s [host:]port
141 Connect via tcp (network) to an owserver process that is connected to a
142 physical 1-wire bus. This allows multiple processes to share the same
143 bus. The owserver process can be local or remote.
144
145 If the server option is not specified, the default is the local machine
146 and the IANA allocated default port of 4304. Thus "-s localhost:4304"
147 is the equivalent.
148
151 Hexadecimal mode. For reading data, each byte of character will be dis‐
152 played as two characrters 0-9ABCDEF. Most useful for reading memory lo‐
153 cations. No spaces between data.
154
155 Writing data in hexadecimal mode just means that the data should be
156 given as one long hexadecimal string.
157
159 Read or write memory locations starting at the offset byte rather than
160 the beginning. An offset of 0 means the beginning (and is the default).
161
163 Read up to the specified number of bytes of a memory location.
164
166 -h --help
167 Shows (this) basic summary of options.
168
169 -V --version
170 Version of this program.
171
173 --dir
174 Modify the display of directories to indicate which entries are also
175 directories. A directory member will have a trailing '/' if it is a di‐
176 rectory itself. This aids recursive searches.
177
178 -f --format f[.]i[[.]c]
179 Display format for the 1-wire devices. Each device has a 8 byte ad‐
180 dress, consisting of:
181
182 f family code, 1 byte
183
184 i ID number, 6 bytes
185
186 c CRC checksum, 1 byte
187
188 Possible formats are f.i (default, 01.A1B2C3D4E5F6), fi fic f.ic f.i.c
189 and fi.c
190
191 All formats are accepted as input, but the output will be in the speci‐
192 fied format.
193
195 owdir -s 3000 --format fic
196 Get the device listing (full 16 hex digits, no dots) from the
197 local owserver at port 3000
198
199 owread -F --autoserver 51.125499A32000/typeK/temperature
200 Read temperature from the DS2751-based thermocouple on an auto-
201 discovered owserver Temperature in fahrenheit.
202
203 owwrite -s 10.0.1.2:3001 32.000800AD23110/pages/page.1 "Passed"
204 Connect to a OWFS server process ( owserver ) that was started
205 on another machine at tcp port 3001 and write to the memory of a
206 DS2780
207
209 Programs
210 owfs (1) owhttpd (1) owftpd (1) owserver (1) owdir (1) owread (1)
211 owwrite (1) owpresent (1) owtap (1)
212
213 Configuration and testing
214 owfs (5) owtap (1) owmon (1)
215
216 Language bindings
217 owtcl (3) owperl (3) owcapi (3)
218
219 Clocks
220 DS1427 (3) DS1904(3) DS1994 (3) DS2404 (3) DS2404S (3) DS2415 (3)
221 DS2417 (3)
222
223 ID
224 DS2401 (3) DS2411 (3) DS1990A (3)
225
226 Memory
227 DS1982 (3) DS1985 (3) DS1986 (3) DS1991 (3) DS1992 (3) DS1993 (3)
228 DS1995 (3) DS1996 (3) DS2430A (3) DS2431 (3) DS2433 (3) DS2502 (3)
229 DS2506 (3) DS28E04 (3) DS28EC20 (3)
230
231 Switches
232 DS2405 (3) DS2406 (3) DS2408 (3) DS2409 (3) DS2413 (3) DS28EA00 (3)
233
234 Temperature
235 DS1822 (3) DS1825 (3) DS1820 (3) DS18B20 (3) DS18S20 (3) DS1920 (3)
236 DS1921 (3) DS1821 (3) DS28EA00 (3) DS28E04 (3)
237
238 Humidity
239 DS1922 (3)
240
241 Voltage
242 DS2450 (3)
243
244 Resistance
245 DS2890 (3)
246
247 Multifunction (current, voltage, temperature)
248 DS2436 (3) DS2437 (3) DS2438 (3) DS2751 (3) DS2755 (3) DS2756 (3)
249 DS2760 (3) DS2770 (3) DS2780 (3) DS2781 (3) DS2788 (3) DS2784 (3)
250
251 Counter
252 DS2423 (3)
253
254 LCD Screen
255 LCD (3) DS2408 (3)
256
257 Crypto
258 DS1977 (3)
259
260 Pressure
261 DS2406 (3) -- TAI8570
262
264 http://www.owfs.org
265
267 Paul Alfille (paul.alfille@gmail.com)
268
269
270
271OWSHELL Manpage 2004 OWSHELL(1)