Table of Contents
owperl - perl interface for the 1-wire filesystem
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();
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 and unalterably numbered
during manufacture. There are 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 scheme uses a single bus master and multiple slaves
on the same wire. The bus master initiates all communication. The slaves
can be individually discovered and addressed using their unique ID.
Bus
masters come in a variety of configurations including serial, parallel,
i2c, network or USB adapters.
OWFS is a suite of programs that
designed to 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 are represented
as simple files that can be read and written.
Details of the individual
slave or master design are hidden behind a consistent interface. The goal
is to provide an easy set of tools for a software designer to create monitoring
or control applications. There are some performance enhancements in the
implementation, including data caching, parallel access to bus masters,
and aggregation of device communication. Still the fundemental goal has
been ease of use, flexibility and correctness rather than speed.
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)
. Only the top layer has been modified
to return native perl strings.
owperl (3)
is created by swig (1)
(http://www.swig.org)
which can be easily modified to support other programming languages.
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 preferred mode of access to OWFS for
owperl except in trivial applications.
perl -MOW -e "OW::init(’/dev/ttyS1’);
printf OW::get(’’);"
owfs (1)
owhttpd (1)
owftpd (1)
owserver
(1)
owdir (1)
owread (1)
owwrite (1)
owpresent (1)
owtap (1)
owfs (5)
owtap (1)
owmon (1)
owtcl (3)
owperl
(3)
owcapi (3)
DS1427 (3)
DS1904(3)
DS1994 (3)
DS2404 (3)
DS2404S
(3)
DS2415 (3)
DS2417 (3)
DS2401 (3)
DS2411 (3)
DS1990A (3)
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)
DS2405 (3)
DS2406 (3)
DS2408 (3)
DS2409 (3)
DS2413
(3)
DS28EA00 (3)
DS1822 (3)
DS1825 (3)
DS1820 (3)
DS18B20 (3)
DS18S20 (3)
DS1920 (3)
DS1921 (3)
DS1821 (3)
DS28EA00 (3)
DS28E04 (3)
EDS0064
(3)
EDS0065 (3)
EDS0066 (3)
EDS0067 (3)
EDS0068 (3)
EDS0071 (3)
EDS0072
(3)
MAX31826 (3)
DS1922 (3)
DS2438 (3)
EDS0065 (3)
EDS0068 (3)
DS2450 (3)
DS2890 (3)
DS2436 (3)
DS2437 (3)
DS2438 (3)
DS2751 (3)
DS2755 (3)
DS2756
(3)
DS2760 (3)
DS2770 (3)
DS2780 (3)
DS2781 (3)
DS2788 (3)
DS2784 (3)
DS2423
(3)
LCD (3)
DS2408 (3)
DS1977 (3)
DS2406 (3)
TAI8570
EDS0066 (3)
EDS0068 (3)
EEEF (3)
DS2438 (3)
http://www.owfs.org
Paul Alfille (paul.alfille@gmail.com)
Table of Contents