1 unstable release
Uses new Rust 2024
new 0.2.0 | Apr 29, 2025 |
---|
#265 in Hardware support
1MB
815 lines
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
- Technical Specifications
- Installation & Compilation
- Usage
- Cargo Features
- License
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).
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
- Clone the repository:
git clone https://github.com/acpiccolo/R413D08-Controller.git cd R413D08-Controller
- Compile the project:
The compiled binary will be available at:cargo build --release
target/release/relay
- (Optional) Install the binary system-wide:
This installscargo install --path .
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:
- Apache License, Version 2.0 (LICENSE-APACHE or Apache)
- MIT License (LICENSE-MIT or MIT)
at your option.
Dependencies
~0.2–11MB
~107K SLoC