OWFS SF.net project page New OWFS Website! by Paul H Alfille SourceForge.net Logo
OWFS Design

OWFS Features

OWFS Software
Install instructions
Bootable CD
Filesystem (owfs)
Web Server (owhttpd)
Backend Server (owserver)
Perl bindings (owperl)
Python bindings (owpython)
PHP bindings (owphp)
Tcl bindings (owtcl)
Daily Configured Package
CVS -- newest
CVS Statistics
Examples & Usage
1-wire wireless
1-Wire Hardware
OWFS Project
Table of Contents


owhttpd - Tiny webserver for 1-wire control


owhttpd [-C | -F | -K | -R ] [ -r | - w ] -d serialport | -u | -s [host:]port -p tcp-port
owhttpd [-C | -F | -K | -R ] [ -r | - w ] [ -f f[.]i[[.]c] ] [ -t timeout ] [ --background | --foreground ] [ --link | --nolink ] [ -P --pid-file filename ] [ --error_print 0|1|2|3 ] [ --error_level 0|1|2|3|9 ] [ --msec_read milliseconds -d serialport | -u | -s [host:]port -p [host:]tcp-port
owhttpd -h --help
owhttpd --morehelp
owhttpd -V --version



1-wire is a wiring protocol and series of devices designed and manufactured by Dallas Semicondictor, Inc. The bus is a low-power low-speed low-connector scheme where the data line can also provide power.

Each device is uniquely unalterably numbered during manufacture. There is a wide variety of devices, including memory, sensors (humidity, temperature, voltage, contact, current), switches, timers, loggers, and more complex devices (like thermocouple sensors) can be built wit hte basic devices. There are also 1-wire devices that have encryption included.

The 1-wire bus is accessed via one of a number of serial, parallel or USB adapters.

OWFS design

OWFS is a suite of programs that fundementally make the 1-wire bus and its devices easily accessible. The underlying priciple is to create a virtual filesystem, with the unique ID being the directory, and the individual properties of the device files.

There is optional data caching to improved performance, but possible confusion over stale data.


owhttpd (1) is a small webserver that shows the Dallas/Maxim 1-Wire bus attached to a serial port. The main view shows the devices found, You can then navigate to individual devices, and view/alter their properties.

owhttpd (1) uses the same naming convention as owfs (1) , where the URL corresponds to the filename.

The web server is a modified version of chttpd by Greg Olszewski. It serves no files from the disk, only virtual files from the 1-wire bus. Security should therefore be good. Only the 1-wire bus is at risk.

Specific Options

-p portnum

Sets the tcp port the web server runs on. Access with the URL http://servernameoripaddress:portnum

Standard Options

-C --Celsius | -F --Fahrenheit | -K --Kelvin | -R --Rankine

Temperature scale used for data output. Celsius is the default.

-r --readonly

-w --write

Do we allow writing to the 1-wire bus (writing memory, setting switches, limits, PIOs)? The write option is available for symmetry, it’s the default.

-d --device "deviceport"

Sets the serial port. It should have a LINK, DS9097U or DS9097 (passive adapter) attached. The "-d" is implied if two arguments are supplied. (See examples). Also accepted is i2c devices (e.g. /dev/i2c-0)
Note: multiple instances of -d, -u, -s are allowed. Each corresponds to a different 1-wire bus. The result will reflect the logical union of those buses.

-s [host:]port

Connect via tcp (network) to an owserver process that is connected to a physical 1-wire bus. This allows multiple processes to share the same bus. The owserver process can be local, or remote.
Note: multiple instances of -d, -u, -s are allowed. Each corresponds to a different 1-wire bus. The result will reflect the logical union of those buses.

-u --usb

Use the USB adapter (DS9490) as 1-wire bus master. An optional number 1,2,... specifies which adapter to use if more than one is present.
Use all instead of a number (e.g. -uall) to discover and use all DS9490 USB adapters. Note: multiple instances of -d, -u, -s are allowed. Each corresponds to a different 1-wire bus. The result will reflect the logical union of those buses.

Help Options

-h --help

Shows basic summary of options.


Show less common options.

-V --version

Version of this program and related libraries.

Other Options

--background | --foreground

Whether the program releases the console and runs in the .I background after evaluating command line options. background is the default.

--link | --nolink

All serial adapters manufactured by iButtonLink should be used in their ascii mode rather than the (default)DS9097U emulation. This allows some extended features, but interfears with DS2409 (3) hubs.


  1. default mixed destination: stderr foreground / syslog background
  2. syslog only
  3. stderr only
  4. dev/null (supress all).


  1. default errors only
  2. connections/disconnections
  3. all high level calls
  4. data summary for each call
  5. details level
    debugging chaff

    -f --format "f[.]i[[.]c]"

    Display format for the 1-wire devices. Each device has a 8byte address, consisting of:
    family code, 1 byte
    ID number, 6 bytes
    CRC checksum, 1 byte

    Possible formats are f.i (default, 01.A1B2C3D4E5F6), fi fic f.ic f.i.c and fi.c

    All formats are accepted as input, but the output will be in the specified format.

    -P --pid-file "filename"

    Places the PID -- process ID of owfs into the specified filename. Useful for startup scripts control.

    -t --timeout "seconds"

    Set the number of seconds that volitile data (measured values like temperature and voltage) should be cached before requerying the BUS. More stable values will be saved ten times longer (switch settings, memory contents). 10 seconds is the default.


    Milliseconds before read timeout (for serial reads). Some embedded systems, and USB->serial adapters seem to need more than the default 500 msec.


    owhttpd -p 3001 -d /dev/ttyS0
    Web server runs on tcp port 3001, serial adapter at ttyS0
    owhttpd -p 3001 -s littlehost:3001 --error_level=3
    Web server on port 3001, from owserver process on host "littlehost", extensive error messages.
    owhttpd -p 3001 -u -u2 -r
    Read-only web server on port 3001, using two usb adapters.



    See Also


    owfs (1) owhttpd (1) owftpd (1) owserver (1)

    Language bindings

    owtcl (3) owperl (3)


    DS1427 (3) DS1904(3) DS1994 (3) DS2404 (3) DS2404S (3) DS2415 (3) DS2417 (3)


    DS2401 (3) DS1990A (3)


    DS1982 (3) DS1985 (3) DS1986 (3) DS1991 (3) DS1992 (3) DS1993 (3) DS1995 (3) DS1996 (3) DS2431 (3) DS2433 (3) DS2502 (3) DS2506 (3) DS2804 (3)


    DS2405 (3) DS2406 (3) DS2408 (3) DS2409 (3) DS2413 (3)


    DS1822 (3) DS18B20 (3) DS18S20 (3) DS1920 (3) DS1921 (3) DS1821 (3)


    DS1922 (3)


    DS2450 (3)


    DS2890 (3)


    DS2436 (3) DS2438 (3) DS2760 (3)


    DS2423 (3)

    LCD Screen

    LCD (3) DS2408 (3)


    DS1977 (3)


    Paul Alfille (palfille@earthlink.net)

    Table of Contents

© 2003-4 Paul H. Alfille and The owfs Team
$Id: owhttpd.1.html,v 1.18 2006/06/17 22:04:11 alfille Exp $