ETH002 - 16Amp, 2 Channel Relay Module
All prices are VAT included
The ETH002 provides two volt free contact relay outputs with a current rating of up to 16Amp each. The module is powered from a 12vdc supply which can be regulated or unregulated. The DC input jack is 2.1mm with positive core polarity, DC supplies are required to supply at least 500mA at 12vdc. The relays are SPCO (Single Pole Change Over) types. The normally open, normally closed and common pins are all available on the screw terminals. The ETH002 is fully compatible with the ETH-RLY02 and includes the legacy ETH-RLY02 command set.
The ETH002 has additional features over the ETH-RLY02:
1. Full Factory Reset, all ETH002 firmware and settings can be reset to the original state.
2. Firmware updates, firmware in the ETH002 is fully updateable by re-flashing the board with our custom windows program. This will be made available in the event of feature updates.
3. New Command Format, the new command format allows for consistent compatibility with future boards. New commands now allow for pulsed control of relays from 100mS to 25.5 seconds.
4. TCP/IP Password Protection, it is now possible to set a password for TCP/IP protection. This is independent of the configuration password.
Operating Temperature
-40C to +70C
LED Indication
The ETH002 provides a red LED mounted immediately next to each relay to indicate whether it is in a powered state (LED on), there is also two LED's mounted in the Ethernet connector which will flash with Ethernet traffic. Finally there is green power LED just above the processor.
Relay Power Rating
If the contact load voltage and current of the relay are in the region enclosed by the solid and dotted lines in the figure below, the relay can perform stable switching operation. If the relay is used at a voltage or current exceeding this region, the life of the contacts may be significantly shortened.
A full datasheet for the relays used on the ETH002 is here: HF115FD datasheet
ETH002 Command Set
The ETH002 has a new and enhanced command set designed to provide consistent expansion and new features. They are sent over TCP/IP on port 17494 (0x4456). This is the default port, it can be changed in the configuration settings.
Command |
Action |
|
dec | hex | |
16 | 10 | Get Module Info, returns 3 bytes. Module Id (18 for ETH002), Hardware version, Firmware version. |
32 | 20 | Digital active - follow with 1-2 to set relay on, then a time for pulsed output from 1-255 (100ms resolution) or 0 for permanent Board will return 0 for success, 1 for failure |
33 | 21 | Digital inactive - follow with 1-2 to turn relay off, then a time for pulsed output from 1-255 (100ms resolution) or 0 for permanent Board will return 0 for success, 1 for failure |
35 | 23 | Digital set outputs - the next single byte will set all relays states, All on = 255 (xxxxxx11) All off = 0 Board will return 0 for success, 1 for failure |
36 | 24 | Digital get outputs - sends a single byte back to the controller, bit high meaning the corresponding relay is powered |
58 | 3A | ASCII text commands (V4+) - allows a text string to switch outputs, see section below |
119 | 77 | Get serial number - Returns the unique 6 byte MAC address of the module. |
120 | 78 | Get Volts - returns relay supply voltage as byte, 125 being 12.5V DC |
121 | 79 | Password entry - see TCP/IP password |
122 | 7A | Get unlock time - see section below |
123 | 7B | Log out - immediately re-enables TCP/IP password protection |
Digital Active/Inactive
This is a 3 byte command:
The first byte is the command, 32 (active means on) or 33 (inactive).
Second byte is the relay number (1-2).
Third byte is the on time. Set this to zero for un-timed operation, or 1-255 for a pulse in 100mS intervals (100mS to 25.5 seconds).
For example:
0x20 - turn the relay on command
0x02 - relay 2
0x32 (50) - 5 seconds (50 * 100ms)
Board will return 0 for success, 1 for failure
Note - All bytes in a command must be sent in one TCP/IP packet.
TCP/IP Password
If this option is enabled in the http configuration page then a password will be required to be entered before relay states can be changed. In the following example the password was set to "apple":
0x79 - 1st byte in frame sent to ETH002 to indicate password entry
'a' (0x61) - 2nd byte in frame (ASCII hex equivalent in brackets, full table is available at http://www.asciitable.com/ )
'p' (0x70) - 3rd byte in frame
'p' (0x70) - 4th byte in frame
'l' (0x6C) - 5th byte in frame
'e' (0x65) - 6th byte in frame
These 6 bytes are then transmitted in the same transaction to the ETH002 and if the password is correct then 1 will transmitted back, a failure will send 2.
The board will now accept changes from the device that entered the password. If communication becomes idle for more than 30 seconds then the password protection is re-enabled. There is also a log-out command of 0x7B to enable the protection immediately.
Get Unlock Time
Returns TCP/IP password protection status:
0 - password protection is enabled and password entry is required before changes can be made
1 to 30 - seconds until TCP/IP password protection is re-enabled. All authorized commands set the timer back to 30 seconds (including this one).
255 - TCP/IP password is not enabled.
ASCII text commands DOA and DOI (V4+ firmware needed)
Following customer request we have added a feature that allows the outputs to be switched using an ASCII string, devices like a Mobotix camera can now switch relays with simple strings.
The string for activating output1 for 5 seconds is formatted using comma seperated variables with the following syntax:
":DOA,1,50,password"
To break this down ":" (hex 3A) at the start of the string indicates that there is an ASCII message to follow, "DOA" is digital output active, "1" is the output number, then "50" for 5 seconds (50x100ms) and finally the TCP password (if applicable).
If I wanted to make output 2 inactive for 3 seconds I would use:
":DOI,2,30,password"
To break this down ":" (hex 3A) at the start of the string indicates that there is an ASCII message to follow, "DOI" is digital output inactive, "2" is the output number, then "30" for 3 seconds (30x100ms) and finally the TCP password (if applicable).
Assuming no password is used the previous command would simply be:
":DOI,2,30"
TCP/IP Legacy Commands
The ETH002 supports the full legacy ETH-RLY02 command set.
HTML commands DOAx and DOIx (V4+ firmware needed)
Another customer requested feature, allowing the digital outputs to be switched by the http get function such as used in some voice over ip phones (VOIP). You can use the http get function to write to the io.cgi file with the following syntax:
192.168.0.200/io.cgi?DOA2=10
This would use the default address (192.168.0.200) and make output 2 active for 1 second.
Another example would be to set output 1 inactive for 10 seconds:
192.168.0.200/io.cgi?DOI1=10
You can test these functions by typing them directly into the address bar of most internet browsers. Also be aware that you may need to disable http authentication in the http configuration if your control device does not support it.
IP Addresses & DHCP Servers
The easiest way to use the ETH002 is to connect it to a network with a DHCP server. In this case the ETH002 will have its IP address assigned automatically by the DHCP server.
If there is no DHCP server on the network, then a fixed IP address of 192.168.0.200 is used. To control the ETH002 using this fixed IP address your computer MUST be on the same subnet.
The next step is to set your computers IP address to 192.168.0.x where x is in the range of 1 to 255 but not 200 (the ETH002 is there!) or any other used IP addresses on the network.
The subnet mask dictates what IP addresses the PC can communicate with, we set this to 255.255.255.0 so the PC can talk to any module with an IP address of 192.168.0.x
Access from the Internet
The ETH002 can be controlled over the internet almost as easily as on your local network. Your network will most likely be connected to the internet with a broadband router. This will provide NAT (Network Address Translation) and Firewall services. To access the ETH002 from the internet you will need to open up port 17494 (0x4456) to allow incoming TCP connections. The examples below use port 17498 because we had already changed it on the ETH002 from the shipped default port of 17494. Be careful not to open up any other ports. There are a wide variety of routers and we cannot give details for all of them. If in doubt ask your system administrator for assistance.