SYNOPSIS

Embedded Data Systems microprocessor-based sensors

Sub-type ( all )

7E [.]XXXXXXXXXXXX[XX][/[ device_id | device_type | tag ]]

Memory ( all )

7E [.]XXXXXXXXXXXX[XX][/[ memory | pages/page.[0-2|ALL] ]]

Standard ( all )

7E [.]XXXXXXXXXXXX[XX][/[ address | crc8 | id | locator | r_address | r_id | r_locator | type ]]

Temperature ( EDS0064/5/6/7/8 )

7E.XXXXXXXXXXXX/EDS006X [/[ temperature | counters/seconds | alarm/temp_[hi|low] | alarm/clear | set_alarm/temp_[hi|low] | threshold/temp_[hi|low] ]]

Humidity ( EDS0065/8 )

7E.XXXXXXXXXXXX/EDS006X [/[ humidity | humidex | dew_point | heat_index | alarm/humidity_[hi|low] | alarm/humidex_[hi|low] | alarm/dew_point_[hi|low] | alarm/heat_index_[hi|low] | alarm/clear | set_alarm/humidity_[hi|low] | set_alarm/humidex_[hi|low] | set_alarm/dew_point_[hi|low] | set_alarm/heat_index_[hi|low] | threshold/humidity_[hi|low] |

threshold/humidex_[hi|low] | threshold/dew_point_[hi|low] | threshold/heat_index_[hi|low] ]]

Barometric Pressure ( EDS0066/8 )

7E.XXXXXXXXXXXX/EDS006X [/[ pressure | inHg | alarm/pressure_[hi|low] | alarm/inHg_[hi|low] | alarm/clear | set_alarm/pressure_[hi|low] | set_alarm/inHg_[hi|low] | threshold/pressure_[hi|low] | threshold/inHg_[hi|low] ]]

Light ( EDS0067/8 )

7E.XXXXXXXXXXXX/EDS006X [/[ light | alarm/light_[hi|low] | alarm/clear | set_alarm/light_[hi|low] | threshold/light_[hi|low] ]]

Vibration ( EDS0070 )

7E.XXXXXXXXXXXX/EDS0070 [/[ vib_level | vib_peak | vib_min | vib_max | counter/seconds | alarm/vib_[hi|low] | alarm/clear | set_alarm/vib_[hi|low] | threshold/vib_[hi|low] ]]

RTD Temperature ( EDS0071/2 )

7E.XXXXXXXXXXXX/EDS007X [/[ temperature | resistance | raw | delay | user_byte | calibration/[key|constant] | counter/[seconds|samples] | alarm/temp_[hi|low] | alarm/RTD_[hi_low] | alarm/clear | set_alarm/temp_[hi|low] | set_alarm/RTD_[hi_low] | threshold/temp_[hi|low] | threshold/RTD_[hi_low] ]]

Analog Current ( EDS0080 [0-7] EDS0083 [0-3] )

7E.XXXXXXXXXXXX/EDS0080 [/[ current.[0-7|ALL] | max_current.[0-7|ALL] | min_current.[0-7|ALL] | threshold/current_hi.[0-7|ALL] | threshold/current_low.[0-7|ALL] | alarm/current_hi.[0-7|ALL|BYTE] | alarm/current_low.[0-7|ALL|BYTE] | set_alarm/current_hi.[0-7|ALL|BYTE] | set_alarm/current_low.[0-7|ALL|BYTE] | counter/seconds | memory | pages/page.[0-4|ALL]

Analog Voltage ( EDS0082 [0-7] EDS0085 [0-3] )

7E.XXXXXXXXXXXX/EDS0082 [/[ volts.[0-7|ALL] | max_volts.[0-7|ALL] | min_volts.[0-7|ALL] | threshold/volts_hi.[0-7|ALL] | threshold/volts_low.[0-7|ALL] | alarm/volts_hi.[0-7|ALL|BYTE] | alarm/volts_low.[0-7|ALL|BYTE] | set_alarm/volts_hi.[0-7|ALL|BYTE] | set_alarm/volts_low.[0-7|ALL|BYTE] | counter/seconds | memory | pages/page.[0-4|ALL]

I/O ( EDS0090 )

7E.XXXXXXXXXXXX/EDS009X [/[ input.[0-7|ALL] | counter/[seconds | pulses.[0-7|ALL]|reset.[0-7|ALL|BYTE]] | output/[set.[0-7|ALL|BYTE]|off.[0-7|ALL|BYTE]|reset.[0-7|ALL|BYTE]] | latch/[state.[0-7|ALL|BYTE]|reset.[0-7|ALL|BYTE]] | alarm/[hi.[0-7|ALL]|low.[0-7|ALL]|clear] | set_alarm/[hi.[0-7|ALL]|low.[0-7|ALL]]

LED ( all )

7E.XXXXXXXXXXXX/EDS00XX/LED/[state|control]

relay ( all )

7E.XXXXXXXXXXXX/EDS00XX/relay/[state|control]

FAMILY CODE

7E

TEMPERATURE

EDS006X/temperature

read-only, floating-point

Temperature for the EDS006X series of chips. In the -55C to 125C range, with 0.0636C precision. The temperature is read every second, continually. Data is presented in the specified temperature scale, Celsius by default.

EDS007X/temperature

read-only, floating-point

Temperature for the EDS007X series of chips. Read using a wide-range precise RTD sensor. Typical range is -60C to 260C with 0.15C accuracy, although a range of -200C to 850C is possible. The temperature is read every second unless a longer EDS007X/delay is given. Data is presented in the specified temperature scale, Celsius by default.

EDS007X/resistance

read-only, floating-point

Actual measured resistance (Ohms) of the RTD element. Useful if the RTD element doesn't conform to the typical European IEC 60751 standard.

HUMIDITY

EDS006X/humidity

read-only, floating-point

Relative humidity in the 0-100 range (percent). Read every 0.2 seconds.

EDS006X/dew_point

read-only, floating-point

Dew point computed from EDS006X/temperature and EDS006X/humidity computered every 0.2 seconds. Data is a calculated temperature and is reported in the specified temperature scale. Default Celsius.

EDS006X/heat_index

read-only, floating-point

Heat index computed from EDS006X/temperature and EDS006X/humidity computered every 0.2 seconds. Data is a calculated temperature and is reported in the specified temperature scale. Default Celsius.

EDS006X/humidex

read-only, floating-point

Humidex (popular in Canada) computed from EDS006X/temperature and EDS006X/humidity computed every 0.2 seconds. Data is a percent and reported in the 0-100 range.

LIGHT

EDS006X/light

read-only, unsigned integer

Ambient light in Lux. Measured every 0.2 seconds.

PRESSURE

EDS006X/pressure

read-only, floating-point

Ambient pressure, measured every 0.2 seconds. Data in the selected pressure scale (default mBar).

EDS006X/inHg

read-only, floating-point

Ambient pressure, measured every 0.2 seconds. Data in the inHg scale.

VIBRATION

EDS0070/vib_level

read_only, unsigned integer

Vibration registered by sensor (instantaneous value) in 0-1023 range.

EDS0070/vib_peak

read_only, unsigned integer

Vibration registered by sensor (highest recent value -- slowly decays) in 0-1023 range.

EDS0070/vib_min

read_only, unsigned integer

Vibration registered by sensor (lowest value) in 0-1023 range.

EDS0070/vib_max

read_only, unsigned integer

Vibration registered by sensor (highest value) in 0-1023 range.

CURRENT

The EDS0080 and EDS0083 measure current in the 4-20mA range, with upper and threshold limits and the ability to set an alarm and independently trigger a relay if the value is out of range.

EDS0080/current.[0-7|ALL] EDS0083/current.[0-3|ALL]

read-only, floating point

Current current level. (4-20mA)

EDS0080/max_current.[0-7|ALL] EDS0080/max_current.[0-3|ALL]

EDS0083/min_current.[0-7|ALL] EDS0083/min_current.[0-3|ALL]

read-only, floating point

Maximum and minimum current readings since last alarm/clear command.

VOLTAGE

The EDS0082 and EDS0085 measure voltage in the 0-10V range, with upper and threshold limits and the ability to set an alarm and independently trigger a relay if the value is out of range.

EDS0082/volts.[0-7|ALL] EDS0085/volts.[0-3|ALL]

read-only, floating point

Current voltage level. (0-10V)

EDS0082/max_volts.[0-7|ALL] EDS0085/max_volts.[0-3|ALL]

EDS0082/min_volts.[0-7|ALL] EDS0085/min_volts.[0-3|ALL]

read-only, floating point

Maximum and minimum voltage readings since last alarm/clear command.

THRESHOLD

High and low range of acceptable sensor readings. Values outside this range will trigger an alarm if the corresponding EDS00XX/set_alarm flag is set.

EDS00XX/threshold/temp_hi EDS00XX/threshold/temp_low

read-write, floating-point

Threshold temperatures in the specified temperature scale. Default Celsius.

EDS006X/threshold/humidity_hi \tEDS006X/threshold/humidity_low

EDS006X/threshold/dew_point_hi \tEDS006X/threshold/dew_point_low

EDS006X/threshold/heat_index_hi \tEDS006X/threshold/heat_index_low

EDS006X/threshold/humidex_hi \t\tEDS006X/threshold/humidex_low

read-write, floating-point

Threshold humidity values. Dew point and Heat index are in the specified temperature scale. Default Celsius.

EDS006X/threshold/pressure_hi \tEDS006X/threshold/pressure_low

EDS006X/threshold/inHg_hi \tEDS006X/threshold/inHg_low

read-write, floating-point

Threshold barometric pressure values. Pressure is the specified pressure scale. Default mBar.

EDS006X/threshold/light_hi \tEDS006X/threshold/light_low

read-write, unsigned

Threshold light (lux) values.

EDS0070/threshold/vib_hi \tEDS0070/threshold/vib_low

read-write, unsigned

Vibration sensor alarm limits in 0-1023 range.

EDS007X/threshold/resistance_hi \tEDS007X/threshold/resistance_low

read-write, floating-point

Threshold RTD resistance values (Ohm).

EDS0080/threshold/current_hi.[0-7|ALL]

EDS0080/threshold/current_low.[0-7|ALL]

EDS0082/threshold/volts_hi.[0-7|ALL]

EDS0082/threshold/volts_low.[0-7|ALL]

EDS0083/threshold/current_hi.[0-3|ALL]

EDS0083/threshold/current_low.[0-3|ALL]

EDS0085/threshold/volts_hi.[0-3|ALL]

EDS0085/threshold/volts_low.[0-3|ALL|]

read-write, floating-point

Voltage or current threshold limits

SET ALARM

Set conditional alarm to trigger if corresponding flag is set. Also must set high and low threshold.

EDS00XX/set_alarm/temp_hi \t\tEDS00XX/set_alarm/temp_low

EDS006X/set_alarm/humidity_hi \tEDS006X/set_alarm/humidity_low

EDS006X/set_alarm/dew_point_hi \tEDS006X/set_alarm/dew_point_low

EDS006X/set_alarm/heat_index_hi \tEDS006X/set_alarm/heat_index_low

EDS006X/set_alarm/humidex_hi \t\tEDS006X/set_alarm/humidex_low

EDS006X/set_alarm/pressure_hi \tEDS006X/set_alarm/pressure_low

EDS006X/set_alarm/inHg_hi \t\tEDS006X/set_alarm/inHg_low

EDS006X/set_alarm/light_hi \t\tEDS006X/set_alarm/light_low

EDS0070/set_alarm/vib_hi \t\tEDS0070/set_alarm/vib_low

EDS007X/set_alarm/resistance_hi \tEDS007X/set_alarm/resistance_low

EDS0080/set_alarm/current_hi.[0-7|ALL|BYTE]

EDS0080/set_alarm/current_low.[0-7|ALL|BYTE]

EDS0082/set_alarm/volts_hi.[0-7|ALL|BYTE]

EDS0082/set_alarm/volts_low.[0-7|ALL|BYTE]

EDS0083/set_alarm/current_hi.[0-3|ALL|BYTE]

EDS0083/set_alarm/current_low.[0-3|ALL|BYTE]

EDS0085/set_alarm/volts_hi.[0-3|ALL|BYTE]

EDS0085/set_alarm/volts_low.[0-3|ALL|BYTE]

read-write, yes-no

Flag to set corresponding out-of-range alarm. "1" turns on flag, and "0" turns off.

ALARM

Show or clear the out-of-range flags. When set, the device will respond to a conditional search. Clearing the flags is performed with the EDS00XX/alarm/clear command, not just having the measured value return to the center range.

EDS00XX/alarm/clear

write-only, yes-no

Write "1" to clear ALL the alarm flags.

EDS00XX/alarm/temp_hi \t\tEDS00XX/alarm/temp_low

EDS006X/alarm/humidity_hi \tEDS006X/alarm/humidity_low

EDS006X/alarm/dew_point_hi \tEDS006X/alarm/dew_point_low

EDS006X/alarm/heat_index_hi \tEDS006X/alarm/heat_index_low

EDS006X/alarm/humidex_hi \t\tEDS006X/alarm/humidex_low

EDS006X/alarm/pressure_hi \tEDS006X/alarm/pressure_low

EDS006X/alarm/inHg_hi \t\tEDS006X/alarm/inHg_low

EDS006X/alarm/light_hi \t\tEDS006X/alarm/light_low

EDS0070/alarm/vib_hi \t\tEDS007X/alarm/vib_low

EDS007X/alarm/resistance_hi \tEDS007X/alarm/resistance_low

EDS0080/alarm/current_hi.[0-7|ALL|BYTE]

EDS0080/alarm/current_low.[0-7|ALL|BYTE]

EDS0082/alarm/volts_hi.[0-7|ALL|BYTE]

EDS0082/alarm/volts_low.[0-7|ALL|BYTE]

EDS0083/alarm/current_hi.[0-3|ALL|BYTE]

EDS0083/alarm/current_low.[0-3|ALL|BYTE]

EDS0085/alarm/volts_hi.[0-3|ALL|BYTE]

EDS0085/alarm/volts_low.[0-3|ALL|BYTE]

EDS0090/alarm/hi[0-7|ALL] \tEDS0090/alarm/low[0-7|ALL]

read-only, yes-no

Show corresponding out-of-range alarm. "1" means in alarm state. Can only be turned off with clear

RELAY

Optionally found on the EDS006X and EDS007X. Can be controlled by software or the alarm condition.

EDS00XX/relay/control

read-write, unsigned

Set the relay control scheme:

0

alarm control with hysteresis

1

alarm control but need EDS00XX/alarm/clear to unset

2

Control with EDS00XX/relay/state

3

Always off

EDS00XX/relay/state

read-write, yes-no

Turn the relay on or off if the EDS00XX/relay/control is set to 2

LED light

Found on the EDS006X and EDS007X. Can be controlled by software or the alarm condition.

EDS00XX/LED/control

read-write, unsigned

Set the LED control scheme:

0

alarm control with hysteresis

1

alarm control but need EDS00XX/alarm/clear to unset

2

Control with EDS00XX/LED/state

3

Always off

EDS00XX/LED/state

read-write, yes-no

Turn the LED on or off if the EDS00XX/LED/control is set to 2

COUNTER

EDS00XX/counter/seconds

read-only, unsigned integer

Approximate seconds since power up.

EDS0090/counter/pulses.0-7 | ALL

read-only, unsigned integer

Pulses on each channel since power up or reset. Channel should be set to input ( EDS0090/output/set.x =0 )

EDS0090/counter/reset.0-7 | ALL | BYTE

read-write, yes-no

Clear the pulse count on the corresponding channel.

EDS007X/counter/samples

read-only, unsigned integer

Approximate samples since power up.

MEMORY

memory

read-write, binary

96 bytes of memory. Not all is writable. Access to EDS00XX functions is better accomplished through the data fields, which expose all the chip features.

pages/page.0 ... pages/page.2 pages/page.ALL

read-write, binary

Memory is split into 3 pages of 32 bytes each. Only page 2 is writable. ALL is an aggregate of the pages. Each page is accessed sequentially.

EDS008X/memory

read-write, binary

160 bytes of memory. Not all is writable. Access to EDS008X functions is better accomplished through the data fields, which expose all the chip features. The EDS008X has more memory than the other chips, so a separate entry in the sudbirectory makes it available.

EDS008X/pages/page.0-4 EDS008X/pages/page.ALL

read-write, binary

Memory is split into 5 pages of 32 bytes each. Only page 5 is writable. The EDS008X has more memory than the other chips, so a separate entry in the sudbirectory makes the extra pages available. ALL is an aggregate of the pages. Each page is accessed sequentially.

SUB-TYPE

tag

read-only, ascii

Text description of the device. Up to 30 characters.

device_type

read-only, ascii

Device name. E.g: "EDS0071"

device_id

read-only, unsigned

Number corresponding to the hexidecimal type. E.g:

EDS0071 -> 0x0071 -> 113 in decimal

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

id

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.

EDS00XX Overview

The EDS00XX sensors are a family of devices from Embedded Data Systems. Although provisional support for several types is included, only early EDS0071 has been tested with OWFS.

The sensors all share the same 7E family code. They have the same first memory page layout with a text tag property that describes them, and a sub-type field giving the particular sensor. The data properties shown in a directory listing will be specific to the sensor sub-type.

EDS0071

The EDS0071 (3) is a micro-processor based 1-wire slave made by EDS (Embedded Data Systams). Is uses a high accuracy and extended range RTD sensor to accurately measure temperatures.

Memory

The EDS00XX sensors are read and controlled by accessing parts of their on-chip memory. Although the raw memory contents are exposed in the memory and pages fields, all the available functionality is best accessed by the other fields. In fact, directly changing memory will confuse OWFS.

Relay and LED

All the EDS00XX sensors have an LED and optional relay. Both can be controlled either directly, or when the sensors reaches an alarm state.

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

EDS0064 EDS0065 EDS0066 EDS0067 EDS0068

https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B_K3iXLLAI7vN2E4NGUwMGItMzc5MS00NDNmLTljZGYtN2NmM2Q3YWE5NmVh&hl=en

EDS0070

http://www.embeddeddatasystems.com/assets/images/supportFiles/manuals/EN-UserMan%20%20OW-Vibration%20V01.pdf

EDS0071 EDS0072

https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B_K3iXLLAI7vMjVhNWQzYzItZTRhMi00NGY2LWI4NTQtYjZlYTgzYzY0NmNm&hl=en

EDS0080 EDS0083

https://eds.zendesk.com/attachments/token/ulnpj6mvpp6yzwo/?name=EN-USERMAN+OW-IO-AIX-420+v1p0.pdf

EDS0082 EDS0085

https://eds.zendesk.com/attachments/token/vyai6ylpw6edala/?name=EN-USERMAN+OW-IO-AIX-10V+v1p0.pdf

EDS0090

8 Discrete I/O

RELATED TO EDS…

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) 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 ([email protected])