Difference between revisions of "Devantech ETH008"

From sigrok
Jump to navigation Jump to search
m (unbreak mugshot link)
(fixup DEV= duplication)
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
| image              = [[File:Devantech-eth008b-mugshot.png|180px]]
| image              = [[File:Devantech-eth008b-mugshot.png|180px]]
| name                = devantech eth008-b
| name                = devantech eth008-b
| status              = in progress
| status              = supported
| source_code_dir    = devantech-eth008
| source_code_dir    = devantech-eth008
| channels            = 8
| 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. Their protocols currently are
Models with 2 up to 20 relays exist, as do Wifi models. Some models
not supported by the sigrok driver implementation if they differ from the
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-B protocol, but could be added if their protocol is similar enough.
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 ==


* PIC microcontroller, S25F32 SPI flash
* 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:
       R1: channel
       DO1: channel
       R2: channel
       DO2: channel
       R3: channel
       DO3: channel
       R4: channel
       DO4: channel
       R5: channel
       DO5: channel
       R6: channel
       DO6: channel
       R7: channel
       DO7: channel
       R8: 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 devantech-eth008'''
   $ '''DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494'''
   $ '''sigrok-cli -d $DEV --get channel_group=R1:enabled --get channel_group=R2:enabled --get channel_group=R3:enabled --get channel_group=R4:enabled'''
   $ '''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 devantech-eth008'''
   $ '''DEV=devantech-eth008:conn=tcp-raw/192.168.0.200/17494'''
   $ '''sigrok-cli -d $DEV -g R8 --config enabled=on --set'''
   $ '''sigrok-cli -d $DEV -g DO8 --config enabled=on --set'''
   $ '''sigrok-cli -d $DEV --config channel_group=R1:enabled=off --config channel_group=R2: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=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:In Progress]]
[[Category:Supported]]

Latest revision as of 16:25, 1 December 2023

devantech eth008-b
Devantech-eth008b-mugshot.png
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