Difference between revisions of "Devantech ETH008"
(create Devantech ETH008 relay card device page) |
(fixup DEV= duplication) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox multiplexer | {{Infobox multiplexer | ||
| image = [[File: | | image = [[File:Devantech-eth008b-mugshot.png|180px]] | ||
| name = devantech eth008-b | | name = devantech eth008-b | ||
| status = | | status = supported | ||
| source_code_dir = devantech-eth008 | | source_code_dir = devantech-eth008 | ||
| channels = | | channels = 2..20 | ||
| ratings = 16A 250VAC / 16A 24VDC | | ratings = 16A 250VAC / 16A 24VDC | ||
| connectivity = Ethernet, TCP | | connectivity = Ethernet/Wifi, TCP | ||
| website = [https://www.robot-electronics.co.uk/eth008b.html robot-electronics.co.uk] | | website = [https://www.robot-electronics.co.uk/eth008b.html robot-electronics.co.uk] | ||
}} | }} | ||
The '''Devantech ETH008''' is an Ethernet attached relay card with 8 relays. | The '''Devantech ETH008''' is an Ethernet attached relay card with 8 relays, and was used to initially create the sigrok driver. | ||
Models with 2 up to 20 relays exist. | Models with 2 up to 20 relays exist, as do Wifi models. Some models | ||
additionally provide digital input and analog input, as well as digital outputs where users decide whether to attach a relay or use the channel as a data line. The different models' protocols are | |||
ETH008 | similar enough to the ETH008 model, and it is assumed that all product features of Ethernet cards are accessible. | ||
Some models' operation has yet to get verified. | |||
The firmware supports several ways of communication: interactive web forms, | The firmware supports several ways of communication: interactive web forms, | ||
HTTP GET, binary over TCP, text over TCP. | HTTP GET requests, binary packets over TCP, text lines over TCP. | ||
The sigrok driver uses binary payloads for simplicity and for maximum compatibility | The sigrok driver uses binary payloads for simplicity and for maximum compatibility | ||
across firmware versions. Password protection for TCP sockets is currently not supported. | across firmware versions. Password protection for TCP sockets is currently not supported. | ||
There are several models in the series of cards, with differing degrees of support. | |||
It is assumed that WLAN capable models share the same communication protocol as Ethernet devices. | |||
USB CDC (virtual COM port) models are not supported by this sigrok driver, their protocol differs dramatically. | |||
Neither are Modbus attached cards supported. | |||
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable" | |||
|- | |||
!Device name | |||
!DO | |||
!DI | |||
!AI | |||
!supported | |||
!comment | |||
|- | |||
| ETH002 | |||
| style="text-align:center" | 2 | |||
| style="text-align:center" | — | |||
| style="text-align:center" | — | |||
| bgcolor="yellow" style="text-align:center" | untested | |||
| — | |||
|- | |||
| ETH008 | |||
| style="text-align:center" | 8 | |||
| style="text-align:center" | — | |||
| style="text-align:center" | — | |||
| bgcolor="lime" style="text-align:center" | tested | |||
| — | |||
|- | |||
| ETH484 | |||
| style="text-align:center" | 12 | |||
| style="text-align:center" | 8 | |||
| style="text-align:center" | 4 | |||
| bgcolor="lime" style="text-align:center" | tested | |||
| — | |||
|- | |||
| ETH8020 | |||
| style="text-align:center" | 20 | |||
| style="text-align:center" | 8 | |||
| style="text-align:center" | 8 | |||
| bgcolor="yellow" style="text-align:center" | untested | |||
| — | |||
|- | |||
| ETH1610 | |||
| style="text-align:center" | 10 | |||
| style="text-align:center" | 16 | |||
| style="text-align:center" | 16 | |||
| bgcolor="lime" style="text-align:center" | tested | |||
| — | |||
|- | |||
| WIFI002 | |||
| style="text-align:center" | 2 | |||
| style="text-align:center" | — | |||
| style="text-align:center" | — | |||
| bgcolor="yellow" style="text-align:center" | untested | |||
| — | |||
|- | |||
| WIFI008 | |||
| style="text-align:center" | 8 | |||
| style="text-align:center" | — | |||
| style="text-align:center" | — | |||
| bgcolor="yellow" style="text-align:center" | untested | |||
| — | |||
|- | |||
| WIFI484 | |||
| style="text-align:center" | 12 | |||
| style="text-align:center" | 8 | |||
| style="text-align:center" | 4 | |||
| bgcolor="yellow" style="text-align:center" | untested | |||
| — | |||
|- | |||
| WIFI8020 | |||
| style="text-align:center" | 20 | |||
| style="text-align:center" | 8 | |||
| style="text-align:center" | 8 | |||
| bgcolor="yellow" style="text-align:center" | untested | |||
| — | |||
|} | |||
<em style="color:green"> | |||
Many thanks to devantech and robot electronics. | |||
The [https://www.robot-electronics.co.uk/ robot-electronics.co.uk shop] holds extensive documentation and example source code which is linked from their product pages. | |||
The card vendor provides MIT licensed Python code to control many cards. The robot-electronics.co.uk support kindly made several devices available via remote network access, to help during the creation and extension of the sigrok driver. | |||
</em> | |||
== Hardware == | == Hardware == | ||
* | * PIC32MZ microcontroller, S25F32 SPI flash | ||
* SMSC Ethernet chip, Fast Ethernet (100Mbps) | * SMSC Ethernet chip, Fast Ethernet (100Mbps) | ||
* Rohm BD9703 switching regulator, 2.1mm barrel jack | * Rohm BD9703 switching regulator, 2.1mm barrel jack | ||
Line 63: | Line 158: | ||
devantech-eth008:conn=tcp-raw/192.168.0.200/17494 - Devantech ETH008 HW2 FW23 [S/N: fc0fe7123456] | devantech-eth008:conn=tcp-raw/192.168.0.200/17494 - Devantech ETH008 HW2 FW23 [S/N: fc0fe7123456] | ||
Channel groups: | Channel groups: | ||
DO1: channel | |||
DO2: channel | |||
DO3: channel | |||
DO4: channel | |||
DO5: channel | |||
DO6: channel | |||
DO7: channel | |||
DO8: channel | |||
Supported configuration options across all channel groups: | Supported configuration options across all channel groups: | ||
conn: tcp-raw/192.168.0.200/17494 (current) | conn: tcp-raw/192.168.0.200/17494 (current) | ||
Line 79: | Line 174: | ||
<small> | <small> | ||
$ '''DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494 | $ '''DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494''' | ||
$ '''sigrok-cli -d $DEV --get channel_group= | $ '''sigrok-cli -d $DEV --get channel_group=DO1:enabled --get channel_group=DO2:enabled --get channel_group=DO3:enabled --get channel_group=DO4:enabled''' | ||
true | true | ||
false | false | ||
Line 91: | Line 186: | ||
<small> | <small> | ||
$ '''DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494 | $ '''DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494''' | ||
$ '''sigrok-cli -d $DEV -g | $ '''sigrok-cli -d $DEV -g DO8 --config enabled=on --set''' | ||
$ '''sigrok-cli -d $DEV --config channel_group= | $ '''sigrok-cli -d $DEV --config channel_group=DO1:enabled=off --config channel_group=DO2:enabled=on --set''' | ||
$ '''sigrok-cli -d $DEV --config enabled=on --set''' | $ '''sigrok-cli -d $DEV --config enabled=on --set''' | ||
$ '''sigrok-cli -d $DEV --config enabled=off --set''' | $ '''sigrok-cli -d $DEV --config enabled=off --set''' | ||
</small> | </small> | ||
Driver development initially started on a device which exclusively supported relays. | |||
Support for other devices with additional features was added later. The current implementation makes all these features accessible, but needs more adjustment in the future as more users have access to these cards and their feature set is better understood. The separation of relay channels and digital output channels, including some of that being under user control, as well as the multi purpose use of one channel as digital output or as analog input or interpreting the analog input as a digital value are yet to get considered how to most appropriately present to users. | |||
Another feature to keep in mind is that the firmware supports multiple concurrent connections. Which means that the device's state can change in arbitrary ways even while a sigrok application is controlling the device at a given time. | |||
== Resources == | == Resources == | ||
Line 106: | Line 206: | ||
[[Category:Device]] | [[Category:Device]] | ||
[[Category:Multiplexer]] | [[Category:Multiplexer]] | ||
[[Category: | [[Category:Supported]] |
Latest revision as of 16:25, 1 December 2023
Status | supported |
---|---|
Source code | devantech-eth008 |
Channels | 2..20 |
Ratings | 16A 250VAC / 16A 24VDC |
Connectivity | Ethernet/Wifi, TCP |
Website | robot-electronics.co.uk |
The Devantech ETH008 is an Ethernet attached relay card with 8 relays, and was used to initially create the sigrok driver. Models with 2 up to 20 relays exist, as do Wifi models. Some models additionally provide digital input and analog input, as well as digital outputs where users decide whether to attach a relay or use the channel as a data line. The different models' protocols are similar enough to the ETH008 model, and it is assumed that all product features of Ethernet cards are accessible. Some models' operation has yet to get verified.
The firmware supports several ways of communication: interactive web forms, HTTP GET requests, binary packets over TCP, text lines over TCP. The sigrok driver uses binary payloads for simplicity and for maximum compatibility across firmware versions. Password protection for TCP sockets is currently not supported.
There are several models in the series of cards, with differing degrees of support. It is assumed that WLAN capable models share the same communication protocol as Ethernet devices. USB CDC (virtual COM port) models are not supported by this sigrok driver, their protocol differs dramatically. Neither are Modbus attached cards supported.
Device name | DO | DI | AI | supported | comment |
---|---|---|---|---|---|
ETH002 | 2 | — | — | untested | — |
ETH008 | 8 | — | — | tested | — |
ETH484 | 12 | 8 | 4 | tested | — |
ETH8020 | 20 | 8 | 8 | untested | — |
ETH1610 | 10 | 16 | 16 | tested | — |
WIFI002 | 2 | — | — | untested | — |
WIFI008 | 8 | — | — | untested | — |
WIFI484 | 12 | 8 | 4 | untested | — |
WIFI8020 | 20 | 8 | 8 | untested | — |
Many thanks to devantech and robot electronics. The robot-electronics.co.uk shop holds extensive documentation and example source code which is linked from their product pages. The card vendor provides MIT licensed Python code to control many cards. The robot-electronics.co.uk support kindly made several devices available via remote network access, to help during the creation and extension of the sigrok driver.
Hardware
- PIC32MZ microcontroller, S25F32 SPI flash
- SMSC Ethernet chip, Fast Ethernet (100Mbps)
- Rohm BD9703 switching regulator, 2.1mm barrel jack
- Hongfa HF115FD relays, screw terminals with common and NC and NO
- discrete transistors and LED indicators per relay channel
- power LED and RJ45 indicators
Nominal supply for the relay card is 12V. The Rohm regulator accepts 8V..35V. The HF115 relay may accept 24V, too. But the PIC measures the card's supply by means of a voltage divider, which most probably constrains the acceptable range of supply voltages for the card.
Voltage and current capability of the relay heavily depends on AC/DC kinds and the types of load. Rating is much lower for DC and for inductive loads. See the card vendor's relay power rating discussion and relay datasheet.
Photos
Example use
Detect the device and display its properties.
$ DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494 $ sigrok-cli -d $DEV --scan The following devices were found: devantech-eth008:conn=tcp-raw/192.168.0.200/17494 - Devantech ETH008 HW2 FW23 [S/N: fc0fe7123456]
$ sigrok-cli -d $DEV --show Driver functions: Multiplexer Scan options: conn devantech-eth008:conn=tcp-raw/192.168.0.200/17494 - Devantech ETH008 HW2 FW23 [S/N: fc0fe7123456] Channel groups: DO1: channel DO2: channel DO3: channel DO4: channel DO5: channel DO6: channel DO7: channel DO8: channel Supported configuration options across all channel groups: conn: tcp-raw/192.168.0.200/17494 (current) enabled: on, off
Display the relay state.
$ DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494 $ sigrok-cli -d $DEV --get channel_group=DO1:enabled --get channel_group=DO2:enabled --get channel_group=DO3:enabled --get channel_group=DO4:enabled true false false true
Manipulate the state of relays. Address one individual relay per infocation. Address several channels in the same invocation. Set all relays of a card at the same time.
$ DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494 $ sigrok-cli -d $DEV -g DO8 --config enabled=on --set $ sigrok-cli -d $DEV --config channel_group=DO1:enabled=off --config channel_group=DO2:enabled=on --set $ sigrok-cli -d $DEV --config enabled=on --set $ sigrok-cli -d $DEV --config enabled=off --set
Driver development initially started on a device which exclusively supported relays. Support for other devices with additional features was added later. The current implementation makes all these features accessible, but needs more adjustment in the future as more users have access to these cards and their feature set is better understood. The separation of relay channels and digital output channels, including some of that being under user control, as well as the multi purpose use of one channel as digital output or as analog input or interpreting the analog input as a digital value are yet to get considered how to most appropriately present to users.
Another feature to keep in mind is that the firmware supports multiple concurrent connections. Which means that the device's state can change in arbitrary ways even while a sigrok application is controlling the device at a given time.
Resources
- robot-electronics.co.uk shop product page
- vendor documentation as PDF discusses the device's capabilities and its communication protocols, links to [http://www.robot-electronics.co.uk/files/HF115FD.pdf Hongfa relay datasheet
- github repo contains Python code, API documentation at the github.io page