SYNOPSISEmbedded 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]
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.
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.
Actual measured resistance (Ohms) of the RTD element. Useful if the RTD element doesn't conform to the typical European IEC 60751 standard.
Relative humidity in the 0-100 range (percent). Read every 0.2 seconds.
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.
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.
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/lightread-only, unsigned integer
Ambient light in Lux. Measured every 0.2 seconds.
Ambient pressure, measured every 0.2 seconds. Data in the selected pressure scale (default mBar).
Ambient pressure, measured every 0.2 seconds. Data in the inHg scale.
EDS0070/vib_levelread_only, unsigned integer
Vibration registered by sensor (instantaneous value) in 0-1023 range.
EDS0070/vib_peakread_only, unsigned integer
Vibration registered by sensor (highest recent value -- slowly decays) in 0-1023 range.
EDS0070/vib_minread_only, unsigned integer
Vibration registered by sensor (lowest value) in 0-1023 range.
EDS0070/vib_maxread_only, unsigned integer
Vibration registered by sensor (highest value) in 0-1023 range.
CURRENTThe 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)
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.
VOLTAGEThe 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/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.
THRESHOLDHigh 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_lowread-write, floating-point
Threshold temperatures in the specified temperature scale. Default Celsius.
EDS006X/threshold/humidex_hi tEDS006X/threshold/humidex_lowread-write, floating-point
Threshold humidity values. Dew point and Heat index are in the specified temperature scale. Default Celsius.
EDS006X/threshold/inHg_hi EDS006X/threshold/inHg_lowread-write, floating-point
Threshold barometric pressure values. Pressure is the specified pressure scale. Default mBar.
EDS006X/threshold/light_hi EDS006X/threshold/light_lowread-write, unsigned
Threshold light (lux) values.
EDS0070/threshold/vib_hi EDS0070/threshold/vib_lowread-write, unsigned
Vibration sensor alarm limits in 0-1023 range.
EDS007X/threshold/resistance_hi EDS007X/threshold/resistance_lowread-write, floating-point
Threshold RTD resistance values (Ohm).
EDS0085/threshold/volts_hi.[0-3|ALL] EDS0085/threshold/volts_low.[0-3|ALL|]read-write, floating-point
Voltage or current threshold limits
SET ALARMSet conditional alarm to trigger if corresponding flag is set. Also must set high and low threshold.
Flag to set corresponding out-of-range alarm. "1" turns on flag, and "0" turns off.
ALARMShow 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.
Write "1" to clear ALL the alarm flags.
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
RELAYOptionally found on the EDS006X and EDS007X. Can be controlled by software or the alarm condition.
Set the relay control scheme:
- alarm control with hysteresis
- alarm control but need EDS00XX/alarm/clear to unset
- Control with EDS00XX/relay/state
- Always off
Turn the relay on or off if the EDS00XX/relay/control is set to 2
LED lightFound on the EDS006X and EDS007X. Can be controlled by software or the alarm condition.
Set the LED control scheme:
- alarm control with hysteresis
- alarm control but need EDS00XX/alarm/clear to unset
- Control with EDS00XX/LED/state
- Always off
Turn the LED on or off if the EDS00XX/LED/control is set to 2
EDS00XX/counter/secondsread-only, unsigned integer
Approximate seconds since power up.
EDS0090/counter/pulses.0-7 | ALLread-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 | BYTEread-write, yes-no
Clear the pulse count on the corresponding channel.
EDS007X/counter/samplesread-only, unsigned integer
Approximate samples since power up.
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.ALLread-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.
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.ALLread-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.
Text description of the device. Up to 30 characters.
Device name. E.g: "EDS0071"
Number corresponding to the hexadecimal type. E.g:
EDS0071 -> 0x0071 -> 113 in decimal
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.
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).
The 8-bit family code. Unique to each type of device. Given as upper case hexadecimal digits (0-9A-F).
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.
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?
Part name assigned by Dallas Semi. E.g. DS2401 Alternative packaging (iButton vs chip) will not be distiguished.
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 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 designOWFS 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 OverviewThe 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.
EDS0071The 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.
MemoryThe 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 LEDAll the EDS00XX sensors have an LED and optional relay. Both can be controlled either directly, or when the sensors reaches an alarm state.
ADDRESSINGAll 1-wire devices are factory assigned a unique 64-bit address. This address is of the form:
- Family Code
- 8 bits
- 48 bits
- 8 bits
Addressing under OWFS is in hexadecimal, of form:
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
- EDS0071 EDS0072
- EDS0080 EDS0083
- EDS0082 EDS0085
- 8 Discrete I/O
Programsowfs (1) owhttpd (1) owftpd (1) owserver (1) owdir (1) owread (1) owwrite (1) owpresent (1) owtap (1)
Configuration and testingowfs (5) owtap (1) owmon (1)
Language bindingsowtcl (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)
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)
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)
LCD ScreenLCD (3) DS2408 (3)
PressureDS2406 (3) TAI8570 EDS0066 (3) EDS0068 (3)
MoistureEEEF (3) DS2438 (3)
AUTHORPaul Alfille ([email protected])