Table of Contents

Name

owperl - perl interface for the 1-wire filesystem

Synopsis

OW.pm
use OW ;
OW::init( interface );
OW::init( initialization string );

The full set of initialization options is extensive. They correspond roughly to the command line options of ,B owfs (1) owhttpd (1) and owftpd (1)
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 SemicondUctor, 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 and data loggers. More complex devices (like thermocouple sensors) can be built with these 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, i2c, network 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.

Example

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

See Also

Programs

owfs (1) owhttpd (1) owftpd (1) owserver (1) owdir (1) owread (1) owwrite (1) owpresent (1) owtap (1)

Configuration and testing

owfs (5) owtap (1) owmon (1)

Language bindings

owtcl (3) owperl (3) owcapi (3)

Clocks

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

ID

DS2401 (3) DS2411 (3) DS1990A (3)

Memory

DS1982 (3) DS1985 (3) DS1986 (3) DS1991 (3) DS1992 (3) DS1993 (3) DS1995 (3) DS1996 (3) DS2430A (3) DS2431 (3) DS2433 (3) DS2502 (3) DS2506 (3) DS28E04 (3) DS28EC20 (3)

Switches

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

Temperature

DS1822 (3) DS1825 (3) DS1820 (3) DS18B20 (3) DS18S20 (3) DS1920 (3) DS1921 (3) DS1821 (3) DS28EA00 (3) DS28E04 (3)

Humidity

DS1922 (3)

Voltage

DS2450 (3)

Resistance

DS2890 (3)

Multifunction (current, voltage, temperature)

DS2436 (3) DS2437 (3) DS2438 (3) DS2751 (3) DS2755 (3) DS2756 (3) DS2760 (3) DS2770 (3) DS2780 (3) DS2781 (3) DS2788 (3) DS2784 (3)

Counter

DS2423 (3)

LCD Screen

LCD (3) DS2408 (3)

Crypto

DS1977 (3)

Pressure

DS2406 (3) -- TAI8570

Availability

http://www.owfs.org

Author

Paul Alfille (palfille@earthlink.net)


Table of Contents