EDS − Embedded Data Systems Sensors
EDS0064
− Temperature
EDS0065
− Temperature and Humidity
EDS0066
− Temperature and Barometric Pressure
EDS0067
− Temperature and Light
EDS0068
− Temperature, Barometric Pressure and Light
EDS0070
− Vibration
EDS0071
− RTD 4-wire temperature
EDS0072
− RTD 3-wire temperature
EDS0080
− 8 Channel Analog Current Input
EDS0082
− 8 Channel Analog Voltage Input
EDS0083
− 4 Channel Analog Current Input
EDS0085
− 4 Channel Analog Voltage Input
EDS0090
− 8 Discrete I/O
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]
7E |
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.
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.
EDS006X/light
read-only, unsigned integer
Ambient light in Lux. Measured every 0.2 seconds.
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.
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.
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.
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.
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 EDS006X/threshold/humidity_low
EDS006X/threshold/dew_point_hi EDS006X/threshold/dew_point_low
EDS006X/threshold/heat_index_hi EDS006X/threshold/heat_index_low
EDS006X/threshold/humidex_hi 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 EDS006X/threshold/pressure_low
EDS006X/threshold/inHg_hi EDS006X/threshold/inHg_low
read-write, floating-point
Threshold barometric pressure values. Pressure is the specified pressure scale. Default mBar.
EDS006X/threshold/light_hi EDS006X/threshold/light_low
read-write, unsigned
Threshold light (lux) values.
EDS0070/threshold/vib_hi EDS0070/threshold/vib_low
read-write, unsigned
Vibration sensor alarm limits in 0-1023 range.
EDS007X/threshold/resistance_hi EDS007X/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 conditional alarm to trigger if corresponding flag is set. Also must set high and low threshold.
EDS00XX/set_alarm/temp_hi EDS00XX/set_alarm/temp_low
EDS006X/set_alarm/humidity_hi EDS006X/set_alarm/humidity_low
EDS006X/set_alarm/dew_point_hi EDS006X/set_alarm/dew_point_low
EDS006X/set_alarm/heat_index_hi EDS006X/set_alarm/heat_index_low
EDS006X/set_alarm/humidex_hi EDS006X/set_alarm/humidex_low
EDS006X/set_alarm/pressure_hi EDS006X/set_alarm/pressure_low
EDS006X/set_alarm/inHg_hi EDS006X/set_alarm/inHg_low
EDS006X/set_alarm/light_hi EDS006X/set_alarm/light_low
EDS0070/set_alarm/vib_hi EDS0070/set_alarm/vib_low
EDS007X/set_alarm/resistance_hi EDS007X/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.
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 EDS00XX/alarm/temp_low
EDS006X/alarm/humidity_hi EDS006X/alarm/humidity_low
EDS006X/alarm/dew_point_hi EDS006X/alarm/dew_point_low
EDS006X/alarm/heat_index_hi EDS006X/alarm/heat_index_low
EDS006X/alarm/humidex_hi EDS006X/alarm/humidex_low
EDS006X/alarm/pressure_hi EDS006X/alarm/pressure_low
EDS006X/alarm/inHg_hi EDS006X/alarm/inHg_low
EDS006X/alarm/light_hi EDS006X/alarm/light_low
EDS0070/alarm/vib_hi EDS007X/alarm/vib_low
EDS007X/alarm/resistance_hi EDS007X/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] EDS0090/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
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
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
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
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.
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 hexadecimal type. E.g:
EDS0071 -> 0x0071 -> 113 in decimal
address
r_address
read-only, ascii
The entire 64-bit unique ID. Given as upper case hexadecimal 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 hexadecimal digits (0-9A-F).
family
read-only, ascii
The 8-bit family code. Unique to each type of device. Given as upper case hexadecimal 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 hexadecimal 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 hexadecimal) 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.
None.
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 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 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.
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 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.
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
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 (3) EDS0066 (3) EDS0068 (3)
Moisture
EEEF (3) DS2438 (3)
http://www.owfs.org
Paul Alfille (paul DOT alfille AT gmail DOT com)