logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

DS1921 - Thermochron temperature logging iButton.

Addressing

       All 1-wire devices are factory assigned a unique 64-bit address. This address is of the form:

       FamilyCode
              8 bits

       Address
              48 bits

       CRC    8 bits

       Addressing under OWFS is in hexadecimal, 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.

Alarms

       None.

Author

       Paul Alfille (paul.alfille@gmail.com)

OWFS Manpage                                          2005                                 DS1921-Thermochron(3)

Availability

Datasheet

Description

1-Wire1-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 busmaster 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.

   OWFSdesignOWFS is a suite of programs that designed to make the 1-wire bus and its devices easily  accessible.  The
       underlying  principle  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  fundamental  goal  has  been  ease  of  use,
       flexibility and correctness rather than speed.

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

Family Code

21

Name

DS1921 - Thermochron temperature logging iButton.

See Also

Programsowfs(1)owhttpd(1)owftpd(1)owserver(1)owdir(1)owread(1)owwrite(1)owpresent(1)owtap(1)Configurationandtestingowfs(5)owtap(1)owmon(1)Languagebindingsowtcl(3)owperl(3)owcapi(3)ClocksDS1427(3)DS1904(3)DS1994(3)DS2404(3)DS2404S(3)DS2415(3)DS2417(3)IDDS2401(3)DS2411(3)DS1990A(3)MemoryDS1982(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)SwitchesDS2405(3)DS2406(3)DS2408(3)DS2409(3)DS2413(3)DS28EA00(3)InfernoEmbedded(3)TemperatureDS1822(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)HumidityDS1922(3)DS2438(3)EDS0065(3)EDS0068(3)VoltageDS2450(3)ResistanceDS2890(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)CounterDS2423(3)LCDScreenLCD(3)DS2408(3)CryptoDS1977(3)PressureDS2406(3)TAI8570(3)EDS0066(3)EDS0068(3)MoistureEEEF(3)DS2438(3)

Special Properties

about/measuringread-only,yes-no
       Is this DS1921 currently measuring a temperature?

   about/resolutionread-only,floatingpoint
       What is the resolution of the temperature measurments (in the current temperature scale).

   about/samplesread-only,unsignedinteger
       How many total temperature measurements has this DS1921 performed?

   about/temphighread-only,floatingpoint
       Highest temperature this DS1921 can measure (in the current temperature scale).

   about/templowread-only,floatingpoint
       Lowest temperature this DS1921 can measure (in the current temperature scale).

   about/versionread-only,ascii
       Specific version of this DS1921.clock/dateread-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/runningread-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/udateread-write,unsignedinteger
       A numeric representation of clock/date
       The number of seconds in UNIX time (since Jan 1, 1970).

   histogram/counts.0...histogram/counts.62histogram/counts.ALLread-only,unsignedinteger
       The number of samples in the current mission whose temperature fell within the  histogram/temperature  to
       histogram/temperature+histogram/gap range.

   histogram/elementsread-only,unsignedinteger
       The number of bins in the histogram. Always 63.

   histogram/gapread-only,floatingpoint
       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.62histogram/temperature.ALLread-only,floatingpoint
       Lower limit of the temperature range for the corresponding histogram  bin.  In  the  current  temperature
       scale.

   log/date.0...log/date.2047log/date.ALLread-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/elementsread-only,unsignedinteger
       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/sampleslog/temperature.0...log/temperature.2047log/temperature.ALLread-write,floatingpoint
       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.2047log/udate.ALLread-write,unsignedinteger
       A numeric representation of log/date
       The number of seconds in UNIX time (since Jan 1, 1970).

   memoryread-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.11overtemp/count.ALLundertemp/count.0...undertemp/count.11undertemp/count.ALLread-only,unsignedinteger
       Number of sampling periods that the Thermochron stayed out of  range  during  a  mission.  Each  sampling
       period is mission/frequency minutes long.

   overtemp/end.0...overtemp/end.11overtemp/end.ALLundertemp/end.0...undertemp/end.11undertemp/end.ALLread-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.11overtemp/date.ALLundertemp/date.0...undertemp/date.11undertemp/date.ALLread-only,ascii
       Time that the Thermochron went out of range during the current mission. See clock/date for format.

   overtemp/elementsundertemp/elementsread-only,unsignedinteger
       Number of entries (0 to 12) in the overtemp or undertemp array.

   overtemp/temperatureundertemp/temperatureread-write,floatingpoint
       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.11overtemp/udate.ALLundertemp/udate.0...undertemp/udate.11undertemp/udate.ALLread-only,unsignedinteger
       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.15pages/page.ALLread-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.

   temperatureread-only,floatingpoint
       Last temperature explicitly requested. Only available when the mission is not in progress. Value returned
       in in the current temperature scale.

Standard Properties

addressr_addressread-only,ascii
       The entire 64-bit unique ID. Given as upper case hexadecimal digits (0-9A-F).
       address starts with the family code
       raddress is the address in reverse order, which is often used in other applications and labeling.

   crc8read-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 hexadecimal digits (0-9A-F).

   familyread-only,ascii
       The 8-bit family code. Unique to each type of device. Given as upper case hexadecimal digits (0-9A-F).

   idr_idread-only,ascii
       The  48-bit  middle  portion  of  the unique ID number. Does not include the family code or CRC. Given as
       upper case hexadecimal digits (0-9A-F).
       rid is the id in reverse order, which is often used in other applications and labeling.

   locatorr_locatorread-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 LinkLocator the locatorwillshowaunique8-bytenumber(16characterhexadecimal)startingwithfamilycodeFE.
       If no LinkLocator is between the device and the master, the locator field will be all FF.
       rlocator is the locator in reverse order.

   present(DEPRECATED)read-only,yes-no
       Is the device currently present on the 1-wire bus?

   typeread-only,ascii
       Part  name  assigned  by  Dallas  Semi.  E.g.  DS2401 Alternative packaging (iButton vs chip) will not be
       distiguished.

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

See Also