#tool #requirements #module #rs485 #r413d08

bin+lib R413D08

R413D08 protocol and commandline tool

1 unstable release

Uses new Rust 2024

new 0.2.0 Apr 29, 2025

#265 in Hardware support

MIT/Apache

1MB
815 lines

CI dependency status CI CI CI

R413D08 8 Channel Module

This Rust project enables communication with an R413D08 8 Channel Module using Modbus RTU/TCP from the command line. It should also work with the R421A08 relay card because it has the same Modbus commands.

Table of Contents

Hardware Requirements

To use this tool, you need:

  • One or more R413D08 8 Channel Module.
  • One or more 1-8 Channel Relay Board.
  • A USB-to-RS485 converter (for RTU mode).

R413D08 controller

Technical Specifications R4DCB08

Feature Details
Operating Voltage 5V DC (5V version) or 6-24V DC (12V version)
Operating Current 10-15mA
Baud Rates 9600
Data Format N, 8, 1 (No parity, 8 data bits, 1 stop bit)
Communication Protocol Modbus RTU/TCP

Installation & Compilation

Prerequisites

Ensure you have the following dependencies installed before proceeding:

  • Rust and Cargo: Install via rustup
  • Git: To clone the repository

Building from Source

  1. Clone the repository:
    git clone https://github.com/acpiccolo/R413D08-Controller.git
    cd R413D08-Controller
    
  2. Compile the project:
    cargo build --release
    
    The compiled binary will be available at:
    target/release/relay
    
  3. (Optional) Install the binary system-wide:
    cargo install --path .
    
    This installs relay to $HOME/.cargo/bin, making it accessible from anywhere.

Usage

View Available Commands

To list all available commands and their options, run:

relay --help

Read relay status values

For RTU Modbus (RS485) connected devices:

relay rtu --address 1 status

For TCP Modbus connected devices:

relay tcp 192.168.0.222:502 status

Set relay '0' to 'On'

For RTU Modbus:

relay rtu --address 1 on 0

For TCP Modbus:

relay tcp 192.168.0.222:502 on 0

Turn Off Relay '3'

For RTU Modbus:

relay rtu --address 1 off 3

For TCP Modbus:

relay tcp 192.168.0.222:502 off 3

Cargo Features

Feature Purpose Default
tokio-rtu-sync Enable the implementation for the tokio modbus synchronous RTU client
tokio-rtu Enable the implementation for the tokio modbus asynchronous RTU client
tokio-tcp-sync Enable the implementation for the tokio modbus synchronous TCP client -
tokio-tcp Enable the implementation for the tokio modbus asynchronous TCP client -
bin-dependencies Enable all features required by the binary
serde Enable the serde framework for protocol structures -

License

Licensed under either of:

at your option.

Dependencies

~0.2–11MB
~107K SLoC