OWFS SF.net project page New OWFS Website! by Paul H Alfille SourceForge.net Logo
OWFS Design
overview
components
naming
cache
arrays
performance

OWFS Features
cache
statistics

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)
Download
Daily Configured Package
CVS -- newest
CVS Statistics
FAQ
Examples & Usage
1-wire wireless
1-Wire Hardware
OWFS Project
Table of Contents

Name

owperl - perl interface for the 1-wire filesystem

Synopsis

OW.pm
use OW ;
OW::init( interface );
OW::get( path );
OW::put( path , value );
OW::finish();

Description

1-Wire

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.

owperl

owperl (3) is a perl module that provides an interface to OWFS. The path to each 1-wire device is the same as owfs (1)

owperl (3) is created by swig (1) (http://www.swig.org) which can be easily modified to support other programming languages.

Functions

OW::init( interface )

interface
Location of the 1-wire bus:
"u"
Direct connection to the 1-wire interface on the USB port -- DS9490
/dev/ttySx
Direct connection to a 1-wire interface on the serial port -- DS9097U or DS9097
port | :port | IPaddress:port
Location of an owserver daemon that connects to the 1-wire bus. Multiple owperl as well as owfs and owhttpd programs can access the owserver process simultaneously. In fact, this will probably be the prefered mode of access to OWFS for owperl except in trivial applications.

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

-h --help

Shows this summary of options.

-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). The -d and -u options are mutually exclusive.

-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.

-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.

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

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

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

Display format for the 1-wire devices. Each device has a 8byte address, consisting of 1byte f amily code, 6 byte I D number, and 1 byte C RC checksum.

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.

--background | --foreground

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

-V --version

Version of this program and related libraries.

Example

perl -MOW -e "OW::init(’/dev/ttyS1’); printf OW::get(’’);"

See Also

Programs

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

Language bindings

owtcl (3) owperl (3)

Clocks

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

ID

DS2401 (3) DS1990A (3)

Memory

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)

Switches

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

Temperature

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

Humidity

DS1922 (3)

Voltage

DS2450 (3)

Resistance

DS2890 (3)

Multifunction

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

Counter

DS2423 (3)

LCD Screen

LCD (3) DS2408 (3)

Crypto

DS1977 (3)

Availability

http://owfs.sourceforge.net

Author

Paul Alfille (palfille@earthlink.net)


Table of Contents

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