NAME¶
DS1921 - Thermochron temperature logging iButton.
SYNOPSIS¶
Temperature logging iButton.
21 [.]XXXXXXXXXXXX[XX][/[
about/[measuring| resolution| samples| templow| temphigh| version] |
clock/[date| running| udate] |
histotgram/[counts[0-62|ALL]| gap| temperature[counts[0-62|ALL]] |
log[date[0-2047|ALL]| elements| temperature[0-2047|ALL]|
udate[0-2047|ALL]] |
memory |
mission/[date| delay| easystart| frequency| rollover| running| samples|
sampling| udate] |
overtemp/[date[0-11|ALL]| elements| end[0-11|ALL]| count[0-11|ALL]|
temperature[0-11|ALL]| udate[0-11|ALL]] |
pages/page.[0-15|ALL] |
temperature |
undertemp/[date[0-11|ALL]| elements|end[0-11|ALL]| count[0-11|ALL]|
temperature[0-11|ALL]| udate[0-11|ALL]] |
address |
crc8 |
id |
locator |
r_address |
r_id |
r_locator
|
type ]]
FAMILY CODE¶
21
SPECIAL PROPERTIES¶
about/measuring¶
read-only, yes-no
Is this
DS1921 currently
measuring a temperature?
about/resolution¶
read-only, floating point
What is the
resolution of the temperature measurments (in the current
temperature scale).
about/samples¶
read-only, unsigned integer
How many total temperature measurements has this
DS1921 performed?
about/temphigh¶
read-only, floating point
Highest temperature this
DS1921 can measure (in the current temperature
scale).
about/templow¶
read-only, floating point
Lowest temperature this
DS1921 can measure (in the current temperature
scale).
about/version¶
read-only, ascii
Specific
version of this
DS1921.
clock/date¶
read-write, ascii
26 character date representation of the internal time stored in this
DS1921. Increments once per second while
clock/running
Setting
date to a null string will put the current system time.
Accepted date formats are:
Sat[urday] March 12 12:23:59 2001
Apr[il] 4 9:34:56 2002
3/23/04 23:34:57
current locale setting (your system's format)
clock/running¶
read-write, yes-no
Whether the internal clock is running. This can be explicitly set, and is
automatically started by setting
clock/date or
clock/udate or by
starting a mission with
mission/easystart or
mission/frequency
The main reason to stop the clock is to conserve the internal battery. The clock
cannot be stopped during a mission, and the clock is essential for a mission.
clock/udate¶
read-write, unsigned integer
A numeric representation of
clock/date
The number of seconds in UNIX time (since Jan 1, 1970).
histogram/counts.0 ... histogram/counts.62 histogram/counts.ALL¶
read-only, unsigned integer
The number of samples in the current mission whose temperature fell within the
histogram/temperature to
histogram/temperature+histogram/gap
range.
histogram/elements¶
read-only, unsigned integer
The number of bins in the histogram. Always 63.
histogram/gap¶
read-only, floating point
The size of the histogram bin. Depends on the Thermochron version (
about/version ) and is usually 4 times
about/resolution
Given in the current temperatature scale.
histogram/temperature.0 ... histogram/temperature.62 histogram/temperature.ALL¶
read-only, floating point
Lower limit of the temperature range for the corresponding histogram bin. In the
current temperature scale.
log/date.0 ... log/date.2047 log/date.ALL¶
read-only, ascii
Date that the corresponding
log/temperature was taken, in ascii format.
(See
clock/date for more on the format). The number of valid entries is
actually
log/elements since the log may not be full.
mission/samples gives the total number of samples that have been taken
but there is only room in the log for 2048 entries. Once the log is full,
mission/rollover determines the Thermochron's behavior.
If
mission/rollover is false(0), the log will hold the
first 2048
samples and
log/date.0 will always be the same as
mission/date
If
mission/rollover is true (1) then the log will hold the
last
2048 samples and the entries will be shifted down with each new sample.
Note the
OWFS code "untwists" the rollover behavior. The data
will always be a linear array of earliest to latest.
ALL is the all data elements comma separated.
log/elements¶
read-only, unsigned integer
Number of valid entries in the log.
OWFS offers the full 2048 values in
the log memory, but not that many samples may yet have been taken.
log/elements will range from 0 to 2048 and always be less than or equal
to
mission/samples
log/temperature.0 ... log/temperature.2047 log/temperature.ALL¶
read-write, floating point
The temperature readings (in the current temperature scale) that correspond to
the
log/date sample. See
log/date for details on the indexing
scheme and rollover behavior.
log/udate.0 ... log/udate.2047 log/udate.ALL¶
read-write, unsigned integer
A numeric representation of
log/date
The number of seconds in UNIX time (since Jan 1, 1970).
memory¶
read-write, binary
User available storage space. 512 bytes. Can also be accessed as 16 pages of 32
bytes with the
pages/page.x properties.
overtemp/count.0 ... overtemp/count.11 overtemp/count.ALL¶
undertemp/count.0 ... undertemp/count.11 undertemp/count.ALL¶
read-only, unsigned integer
Number of sampling periods that the Thermochron stayed out of range durring a
mission. Each sampling period is
mission/frequency minutes long.
overtemp/end.0 ... overtemp/end.11 overtemp/end.ALL¶
undertemp/end.0 ... undertemp/end.11 undertemp/end.ALL¶
read-only, ascii
End of time that the Thermochron went out of range during the current mission.
See
clock/date for format.
Each period can be up to 255 samples in length, and span the time
overtemp/date to
overtemp/end ( or
undertemp/date to
undertemp/end ).
overtemp/date.0 ... overtemp/date.11 overtemp/date.ALL¶
undertemp/date.0 ... undertemp/date.11 undertemp/date.ALL¶
read-only, ascii
Time that the Thermochron went out of range during the current mission. See
clock/date for format.
overtemp/elements¶
undertemp/elements¶
read-only, unsigned integer
Number of entries (0 to 12) in the
overtemp or
undertemp array.
overtemp/temperature¶
undertemp/temperature¶
read-write, floating point
Temperature limit to trigger alarm and error log.
overtemp/temperature
gives upper limit and
undertemp/temperature gives lower limit.
In current temperature scale.
overtemp/udate.0 ... overtemp/udate.11 overtemp/udate.ALL¶
undertemp/udate.0 ... undertemp/udate.11 undertemp/udate.ALL¶
read-only, unsigned integer
A numeric representation of
overtemp/date or
undertemp/date
The number of seconds in UNIX time (since Jan 1, 1970).
pages/page.0 ... pages/page.15 pages/page.ALL¶
read-write, binary
Memory is split into 16 pages of 32 bytes each. User available. The log memory,
register banks and histogram data area are all separate from this memory area.
ALL is an aggregate of the pages. Each page is accessed sequentially.
temperature¶
read-only, floating point
Last temperature explicitly requested. Only available when the mission is not in
progress. Value returned in in the current temperature scale.
STANDARD PROPERTIES¶
address¶
r_address¶
read-only, ascii
The entire 64-bit unique ID. Given as upper case hexidecimal digits (0-9A-F).
address starts with the
family code
r address is the
address in reverse order, which is often used in
other applications and labeling.
crc8¶
read-only, ascii
The 8-bit error correction portion. Uses cyclic redundancy check. Computed from
the preceding 56 bits of the unique ID number. Given as upper case hexidecimal
digits (0-9A-F).
family¶
read-only, ascii
The 8-bit family code. Unique to each
type of device. Given as upper case
hexidecimal digits (0-9A-F).
r_id¶
read-only, ascii
The 48-bit middle portion of the unique ID number. Does not include the family
code or CRC. Given as upper case hexidecimal digits (0-9A-F).
r id is the
id in reverse order, which is often used in other
applications and labeling.
locator¶
r_locator¶
read-only, ascii
Uses an extension of the 1-wire design from iButtonLink company that associated
1-wire physical connections with a unique 1-wire code. If the connection is
behind a
Link Locator the
locator will show a unique 8-byte number
(16 character hexidecimal) starting with family code FE.
If no
Link Locator is between the device and the master, the
locator field will be all FF.
r locator is the
locator in reverse order.
present (DEPRECATED)¶
read-only, yes-no
Is the device currently
present on the 1-wire bus?
type¶
read-only, ascii
Part name assigned by Dallas Semi. E.g.
DS2401 Alternative packaging
(iButton vs chip) will not be distiguished.
ALARMS¶
None.
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 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 design¶
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.
DS1921 Thermochron¶
The
DS1921 (3) is an iButton device with many intriguing functions.
Essentially it monitors temperature, giving both a log of readings, and a
histogram of temperature ranges. The specification is somewhat complex, but
OWFS hides many of the implementation details.
While on a
mission the
DS1921 (3) records temperature readings in
a 2048-sample log and adds them to a 62-bin histogram.
ADDRESSING¶
All 1-wire devices are factory assigned a unique 64-bit address. This address is
of the form:
- Family Code
- 8 bits
- Address
- 48 bits
- CRC
- 8 bits
Addressing under OWFS is in hexidecimal, of form:
- 01.123456789ABC
where
01 is an example 8-bit family code, and
12345678ABC is an
example 48 bit address.
The dot is optional, and the CRC code can included. If included, it must be
correct.
DATASHEET¶
http://pdfserv.maxim-ic.com/en/ds/DS2438.pdf
http://pdfserv.maxim-ic.com/en/an/humsensor.pdf
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)
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) EDS0064 (3) EDS0065 (3) EDS0066 (3)
EDS0067 (3) EDS0068 (3) EDS0071 (3) EDS0072 (3) MAX31826 (3)
Humidity¶
DS1922 (3) DS2438 (3) EDS0065 (3) EDS0068 (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 EDS0066 (3) EDS0068 (3)
Moisture¶
EEEF (3) DS2438 (3)
AVAILABILITY¶
http://www.owfs.org
AUTHOR¶
Paul Alfille (paul.alfille@gmail.com)