Modbus RTU Relay

From Waveshare Wiki
Jump to: navigation, search
Modbus RTU Relay
Modbus RTU Relay

Industrial Modbus RTU 8-ch Relay Module, RS485 Bus, Multi Protection
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Overview

Hardware Test

RS485 Test

  • Connect the USB TO 485 and the target board to A --> A and B --> B via cables as shown below:

Modbus RTU Relay-2.jpg

  • Download the SSCOM and open it on the computer. Open the corresponding port number, set the baud rate as 9600, and click Multi-String to open the Multi-String Sending window, click the corresponding function to send the corresponding command.

Modbus RTU Relay 32CH03.png

  • If you need to send other commands then select HEX to send, plus check select ModbusCRC16 checksum, enter the first six bytes of the command, and click send then the CRC checksum will be added automatically.

Modbus RTU Relay 16CH03.png

  • For more detailed control commands, you can see them in the "Development Protocol".

From September 2021, the V2 version development protocol will be adopted. V2 version modifies the previous incompatible Modbus instruction and is fully compatible with Modbus protocol.
There is no difference between the hardware of V1 and V2 versions. Customers who have purchased the V2 development protocol before can contact customer service to upgrade the firmware.

Demo Test

Note: RS485 can not be directly connected to the serial port of the Raspberry Pi, otherwise it may burn the device, you need to add 485 level conversion, the Raspberry Pi is recommended to use with the RS485 CAN HAT module, NUCLEO-F103RB, and Arduino is recommended to use with the RS485 CAN Shield module!

Raspberry Pi

Open the Raspberry Pi terminal and input the following commands to enter the configure interface:

sudo raspi-config
Select Interfacing Options -> Serial, disable shell visit, and open the serial port hardware  

L76X GPS Module rpi serial.png
And then reboot the Raspberry Pi:

sudo reboot

Open /boot/config.txt file, and find the following configure sentence to enable the serial ports. If there is none, you can add it at the end of the file.

enable_uart=1

For Raspberry Pi 3B users, the serial port is for Bluetooth and needs to be removed.

#dtoverlay=pi3-miniuart-bt

And then reboot the Raspberry Pi:

sudo reboot

If you want to insert the RS485 CAN HAT into the Raspberry Pi, connect the A and B ports of the Modbus RTU Relay module and the RS485 CAN HAT module.
If you use other 485 devices, you need to make sure A-A and B-B.
Run the following commands:

sudo apt-get install unzip
wget https://files.waveshare.com/upload/f/f9/Modbus_RTU_Relay_Code.zip
unzip Modbus_RTU_Relay_Code.zip
cd Modbus_RTU_Relay_Code/Python3
sudo python3 main.py

SRM32

The STM32 demos are based on the NUCLEO-F103RB and the RS485 CAN Shield module.
Find the STM32 program file directory and open the STM32 project. Note that before using the computer to ensure that the keil5 software has been installed, download the demo to the development board can be downloaded.
Normal operation of the relay module will turn on and then turn off in turn. The serial port will output the command sent.

Arduino

The Arduino demos are based on the NUO PLUS and RS485 CAN Shield modules.
Use Arduino IDE to open the demo, select the corresponding development board, and then download the demo.
The relay module will turn on and then turn off in order to run normally. The serial port will output the commands sent.

Development Protocol V2

From September 2021, the V2 of the development protocol will be adopted. The V1 is not compatible with Modbus commands and now the V2 is fully compatible with the Modbus protocol.
There is no difference in hardware between V1 and V2. Customers who have purchased the V1 version but need to use the V2 development agreement, can contact customer service to upgrade the firmware.

Function Code

Function code Description
01 Read the state of Relay
03 Read the address and version
05 Write a single Relay
06 Set baud rate and address
0F Write all Relays

Control Single Relay

Send code: 01 05 00 00 FF 00 8C 3A

Byte Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: device addresses
05 05 Command Command for controlling Relay
00 00 Address The register address of controlled Relay, 0x0000 - 0x0008
FF 00 Command 0xFF00: open Relay;
0x0000: close Relay;
0x5500: flip Relay
8C 3A CRC16 The CRC16 checksum of the first six bytes

Return code: 01 05 00 00 FF 00 8C 3A

Byte Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: dives addresses
05 05 Command Command for controlling relay
00 00 Address The register address of controlled Relay,0 x 0000-0 x 0008
FF 00 Command 0xFF00: open Relay;
0x0000: close Relay
0x5500: flip Relay
8C 3A CRC16 The CRC16 checksum of the first six bytes.

Examples: [Device with address 01]:
Relay 0 ON: 01 05 00 00 FF 00 8C 3A
Relay 0 OFF: 01 05 00 00 00 00 CD CA
Relay 1 ON: 01 05 00 01 FF 00 DD FA
Relay 1 OFF: 01 05 00 01 00 00 9C 0A
Relay 2 ON: 01 05 00 02 FF 00 2D FA
Relay 2 OFF: 01 05 00 02 00 00 6C 0A
Relay 3 ON: 01 05 00 03 FF 00 7C 3A
Relay 3 OFF: 01 05 00 03 00 00 3D CA
Relay 0 Flip: 01 05 00 00 55 00 F2 9A
Relay 1 Flip: 01 05 00 01 55 00 A3 5A
Relay 2 Flip: 01 05 00 02 55 00 53 5A
Relay 3 Flip: 01 05 00 03 55 00 02 9A

Control All Relays

Send code: 01 05 00 FF FF 00 BC 0A

Byte Meaning Description
01 Device Address 0x00: the broadcast address; 0x01-0xFF: device address
05 05 Command Control relays
00 FF Address Fixed 0x00FF
FF 00 Command 0xFF00: Relay on
0x0000: Relay off
0x5500: Relay flips
BC 0A CRC16 The CRC16 checksum of the first six bytes

Return code: 01 05 00 FF FF 00 BC 0A

Byte Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: devices address
05 05 command Command for controlling Relay
00 FF Address Fixed 0x00FF
FF 00 CRC16 0xFF00: Relay open;
0x0000: Relay close;
0x5500: Relay flip
BC 0A CRC16 The CRC16 checksum of the first six bytes

Example:
[Device with Address 01]:
All relays open: 01 05 00 FF FF 00 BC 0A
All relays closed: 01 05 00 FF 00 00 FD FA
All relays flip: 01 05 00 FF 55 00 C2 AA

Read States of Relays

Send code: 01 01 00 00 00 08 3D CC

Bytes Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: device addresses
01 01 Command Command for checking states of Relay
00 00 Initial Address Fixed 0 x 0000
00 08 Command Fixed 0 x 0008
3D CC CRC16 The CRC16 checksum of the first six bytes

Return code: 01 01 01 00 51 88

Byte Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: device addresses
01 01 Command Command for checking states of Relay
01 Number The number of bytes returned
00 State The state of Relay
Bit0: The state of the first Relay;
Bit1: The state of the second Relay;
Bit2: The state of the third Relay;
……
Bit7: The state of the eighth Relay
8C 35 CRC16 The CRC16 checksum of the first six bytes

Examples:

[Device with Address 01]

Send: 01 01 00 00 00 08 3D CC
Return: 01 01 01 00 51 88 //Close all Relays
Send: 01 01 00 00 00 08 3D CC
Return: 01 01 01 01 90 48 //Open Relay 0 and close other Relays
Send: 01 01 00 00 00 08 3D CC
Return: 01 01 01 41 91 B8 //Open Relay 0 and Relay 6, close other Relays

Write States of Relays

Send code: 01 0F 00 00 00 08 01 FF BE D5

Bytes Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: the device address
0F 0F Command Write Relay Status Command
00 00 Relay start address Fixed 0x0000
00 08 Number of relays Fixed 0x0008
01 Number of bytes Fixed 0x01
FF Relay Status Bit0: control the first relay;
Bit1: control the second relay;
Bit2: control the third relay;
……
Bit7: Control the eighth relay
BE D5 CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 0F 00 00 00 01 94 0B

Bytes Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: the device address
0F 0F Instruction All Register Control Instructions
00 00 Address Fixed 0x0000
00 08 Number of relays Fixed 0x0008
54 0D CRC16 CRC16 checksum of the first 6 bytes of data

Example:
[Device with Address 01]
All relays on: 01 0F 00 00 00 08 01 FF BE D5
All relays off: 01 0F 00 00 00 08 01 00 FE 95
0-1 ON; 3-7 OFF: 01 0F 00 00 00 08 01 03 BE 94

Relay Flash ON/OFF Command

Send code: 01 05 02 00 00 07 8D B0

Bytes Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: the device address
05 05 Command Single Control Command
02 Command 02 for flashing on, 04 for flashing off
00 Relay Address The address of the relay to be controlled, 0x00~0x08
00 07 Interval time Delay time is data*100ms
Value: 0x0007, delay: 7*100MS = 700MS
8D B0 CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 05 02 00 00 07 8D B0

Bytes Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: the device address
05 05 Command Single Control Command
02 Command 02 for flashing on, 04 for flashing off
00 Relay address To control the relay address, 0x00~0x08
00 07 Interval time Delay time is data*100ms
Value: 0x0007, delay: 7*100MS = 700MS
8D B0 CRC16 CRC16 checksum of the first 6 bytes of data

Example:

[Device with Address 01]

Relay 0 is open: 01 05 02 00 00 07 8D B0 //700MS = 7*100MS = 700MS
No.1 relay out of the way: 01 05 02 01 00 08 9C 74 //800MS
No.0 relay flashes off: 01 05 04 00 00 05 0C F9 //500MS
No.1 relay flashes off: 01 05 04 01 00 06 1D 38 //600MS

Set Baud Rate Command

Send code: 00 06 20 00 00 05 43 D8

Bytes Meaning Description
00 device address 0x00: the broadcast address; 0x01-0xFF: the device address
06 06 command set baud rate and address
20 00 command register 0x2000 sets the baud rate, 0x4000 sets the device address
00 parity 0x00: no parity check, 0x01: even parity check, 0x02: odd parity check
05 baud rate value the corresponding baud rate value:
0x00: 4800
0x01: 9600
0x02: 19200
0x03: 38400
0x04: 57600
0x05: 115200
0x06: 128000
0x07: 256000
43 D8 CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 00 06 20 00 00 05 43 D8

Bytes Meaning Description
00 Device address 0x00: the broadcast address; 0x01-0xFF: the device address
06 06 command set baud rate and address
20 00 command register 0x2000 sets the baud rate, 0x4000 sets the device address
00 parity 0x00: no parity check, 0x01: even parity check, 0x02: odd parity check
05 baud rate value the corresponding baud rate value:
0x00: 4800
0x01: 9600
0x02: 19200
0x03: 38400
0x04: 57600
0x05: 115200
0x06: 128000
0x07: 256000
43 D8 CRC16 CRC16 checksum of the first 6 bytes of data

Examples:
[Device with Address 01]

Set baud rate 4800: 00 06 20 00 00 00 83 DB
Set baud rate 9600: 00 06 20 00 00 01 42 1B
Set baud rate 115 200: 00 06 20 00 00 05 43 D8

Set Device Address Command

Send code: 00 06 40 00 00 01 5C 1B

Bytes Meaning Description
00 device address 0x00: the broadcast address; 0x01-0xFF: the device address
06 06 command set the baud rate and device address
40 00 command register 0x2000 sets the baud rate, 0x4000 sets the device address
00 01 device address set the device address as 0x0001-0x00FF
5C 1B CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 00 06 40 00 00 01 5C 1B

Bytes Meaning Description
00 device address 0x00: broadcast address; 0x01-0xFF: device addresses
06 06 command set baud rate and device address
40 00 command register 0x2000 sets baud rate, 0x4000 sets device address
00 01 device address the device address set; 0x0001-0x00FF
5C 1B CRC16 CRC16 checksum of the first 6 bytes of data

Examples:
[Device with Address 01]

Set device address as 0x01: 00 06 40 00 00 01 5C 1b
Set device address as 0x02: 00 06 40 00 00 02 1C 1A
Set device address as 0x03: 00 06 40 00 00 03 DD DA

Read Device Address Command

Send code: 00 03 40 00 00 01 90 1B

Bytes Meaning Description
00 Device address 0x00: the broadcast address; 0x01-0xFF: the device address
03 03 command read the device address command
40 00 command register 0x4000: read the device address, 0x8000: read the software version
00 01 bytes fixed 0x0001
90 1B CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 03 02 00 01 79 84

Bytes Meaning Description
00 device address 0x00: the broadcast address; 0x01-0xFF: the device address
03 03 command Read the software version and the device address command
02 bytes return bytes
00 01 device address set the device address as 0x0001-0x00FF
79 84 CRC16 CRC16 checksum of the first 6 bytes of data

Examples:
[Device with Address 01]
Send: 00 03 40 00 00 01 90 1B
Return: 01 03 02 00 01 79 84 //address 0x01
[Device with Address 02]
Send: 00 03 40 00 00 01 90 1B
Return: 02 03 02 00 02 7D 85 //address 0x02
[Device with Address 03]
Send: 00 03 40 00 00 01 90 1B
Return: 03 03 02 00 03 81 85 //address 0x03

Read Software Version Command

Send code: 00 03 80 00 00 01 AC 1B

Bytes Meaning Description
01 Device address 0x00: the broadcast address; 0x01-0xFF: the device address
03 03 command Read the software version and the device address command
80 00 Command register 0x4000: read the device address, 0x8000: read the software version
00 01 Bytes Fixed 0x0001
8F CA CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 03 02 00 C8 F0 B8

Bytes Meaning Description
01 Device Adress 0x00: the broadcast address, 0x01-0xFF: the device addresses
03 03 Command Read the software version and the device address command
02 Bytes Return bytes
00 C8 Software version Convert to decimal and move the decimal point to the left by two places to indicate the software version

0x00C8 = 200 = V2.00

F0 B8 CRC16 CRC16 checksum of the first 6 bytes of data

Examples:
Send: 00 03 80 00 00 01 AC 1B
Return: 03 03 02 00 C8 F1 00 //0x00C8=200=V2.00

Development Protocol V1

From September 2021, the V2 of the development protocol will be adopted. The V1 is not compatible with Modbus commands and now the V2 is fully compatible with the Modbus protocol.
There is no difference in hardware between V1 and V2. Customers who have purchased the V1 version but need to use the V2 development agreement can contact customer service to upgrade the firmware.

Command Format

The command contains 8 bytes:

Byte 1: Device Address
Byte 2: Function code
Byte 3 4: Address of register (big-endian)
Byte 5 6: data of register (big-endian)
Byte 7 8: CRC16 cheksum (little-endian)

Function Code

Function code Description
01 Read the state of Relay
03 Read address, revision
05 Write single Relay
06 Configure baudrate, address
0F Write all Relays

Control Single Relay

Send code: 01 05 00 00 FF 00 8C 3A

Byte Meaning Description
01 Device address 0 x 00 is broadcast address;0x01-0xFF are device addresses (Device address is 01 by default)
05 05 Command Command for controlling Relay
00 00 Address The register address of controlled Relay, 0 x 0000 - 0 x 0008
FF 00 Command 0 x FF00: Open Relay;
0 x 0000: Close Relay;
0 x 5500: Flip Relay
8C 3A CRC16 The CRC16 checksum of the first six bytes.

Return code: 01 05 00 00 FF 00 8C 3A

Byte Meaning Description
01 Device address 0 x 00 is broadcast address; 0 x 01-0 x FF are dives addresses
05 05 Command Command for controlling relay
00 00 Address The register address of controlled Relay,0 x 0000-0 x 0008
FF 00 Command 0 x FF00: Open Relay;
0 x 0000: Close Relay
0 x 5500: Flip Relay
8C 3A CRC16 The CRC16 checksum of the first six bytes.

Examples: [Device with address 01]: Open Relay 0: 01 05 00 00 FF 00 8C 3A
Close Relay 0: 01 05 00 00 00 00 CD CA
Open Relay 1: 01 05 00 01 FF 00 DD FA
Close Relay 1: 01 05 00 01 00 00 9C 0A
Open Relay 2: 01 05 00 02 FF 00 2D FA
Close Relay 2: 01 05 00 02 00 00 6C 0A
Open Relay 3: 01 05 00 03 FF 00 7C 3A
Close Relay 3: 01 05 00 03 00 00 3D CA
Flip Relay 0: 01 05 00 00 55 00 F2 9A
Flip Relay 1: 01 05 00 01 55 00 A3 5A
Flip Relay 2: 01 05 00 02 55 00 53 5A
Flip Relay 3: 01 05 00 03 55 00 02 9A

Control All Relay

Send code: 01 05 00 FF FF FF FC 4A

Byte Meaning Description
01 Device address 0 x 00 is broadcast;0 x 01-0 x FF are devices address
05 05 command Command for controlling Relay
00 FF Address Fixed 0 x 00FF
FF FF Command 0 x FFFF: Open Relay;
FC 4A CRC16 The CRC16 checksum of the first six bytes

Return code: 01 05 00 FF FF FF FC 4A

Byte Meaning Description
01 Devices 0 x 00 is broadcast address; 0 x 01-0 x FF is device address
05 05 Command Command for controlling
00 FF Address Fixed 0 x 00FF
FF FF Command 0 x FFFF: Open Relay;
0 x 0000: Close Relay;
0 x 5A00: Flip Relay;
FC 4A CRC16 The CRC16 checksum of the first six bytes.

Example:

[Device with address 01]:

Open all Relays: 01 05 00 FF FF FF FC 4A
Close all Relays: 01 05 00 FF 00 00 FD FA
Flip all Relays: 01 05 00 FF 5A 00 C7 5A

Read States of Relays

Send code: 01 01 00 FF 00 01 CD FA

Bytes Meaning Description
01 Device address 0 x 00 is broadcast address;0 x 01-0 x FF are device addresses
01 01 Command Command for checking states of Relay
00 FF Address Fixed 0 x 00FF
00 01 Command Fixed 0 x 0001
CD FA CRC16 The CRC16 of the first six bytes

Return code: 01 01 01 00 51 88

Byte Meaning Description
01 Device address 0 x 00 is broadcast address; 0 x 01-0 x FF are device addressese
01 01 Command Command for checking states of Relay
01 Number The number of bytes returned
00 Queried State The state of Relay
Bit0: The state of the first Relay;
Bit1: The state of the second Relay;
Bit2: The state of the third Relay;
……
Bit7: The state of the eighth Relay;
8C 35 CRC16 The CRC16 checksum of the first six bytes.

Examples:

[Device with Address 01]

Send: 01 01 00 FF 00 01 CD FA
Return: 01 01 01 00 51 88 //Close all Relays
Send: 01 01 00 FF 00 01 CD FA
Return: 01 01 01 01 90 48 //Open Relay 0 and close other Relays
Send: 01 01 00 FF 00 01 CD FA
Return: 01 01 01 41 91 B8 //Open Relay 0 and Relay 6, close other Relays

Write Relay

Send code: 01 0F 00 00 00 01 94 0B

Byte Meaning Description
01 Device address 0x00 is the boradcast address;0x01-0xFF are device addresses
0F 0F Command Command for writing Relay
00 00 Address Fixed 0x0000
00 01 Command Bit0: Control the first relay;
Bit1: Control the second relay;
Bit2: Control the third relay;
...
Bit7: Control the eighth relay;
94 0B CRC16 Fixed 0x01

Return code: 01 0F 00 00 00 01 94 0B

Byte Meaning Description
01 Device address 0x00 is the boradcast address; 0x01-0xFF are device addresses
0F 0F Command Command for controlling all Relay
00 00 Address Fixed 0x0000
00 01 Command Bit0: Control the first relay;
Bit1: Control the second relay;
Bit2: Control the third relay;
...Bit7: Control the eighth relay;
94 0B CRC16 The CRC16 checksum of the first six bytes

Example:

[Device with address 01]

Open all Relay: 01 0F 00 00 00 FF 15 8B
Close all Relay: 01 0F 00 00 00 00 55 CB
0-1 Open;3-7 Close: 01 0F 00 00 00 03 15 CA

Flash ON/OFF Relay

Send code: 01 05 02 00 00 07 8D B0

Byte Meaning Description
01 Device address 0 x 00 is the boradcast address; 0 x 01-0 x FF are device addresses
05 05 Command Command for controlling signle Relay
02 Command 02 is the command for closing Relay in the current time,04 is the command for opening Relay in the current time
00 Address of Relay The address of Relay controlled
00 07 Delay The Delay time is Data*100ms
Data: 0 x 0007,Delay: 7*100MS = 700MS
8D B0 CRC16 The CRC16 checksum of the first six bytes.

Return code: 01 05 02 00 00 07 8D B0

Byte Meaning Description
01 Device address 0 x 00 is the boradcast address;0 x 01-0 x FF are device addresses
05 05 Command Command for controlling single Relay
02 Command 02 is the command for closing Relay in the current time,04 is the command for opening Relay in the current time
00 Address of Relay The address of Relay controlled
00 07 Delay The delay time is the data*100ms
Data: 0 x 0007, Delay: 7*100MS = 700MS
8D B0 CRC16 The CRC16 checksum of the first six bytes.

Example:

[Device with address 01]

Relay 0 flash on: 01 05 02 00 00 07 8D B0 //700MS = 7*100MS = 700MS
Relay 1 flash on: 01 05 02 01 00 08 9C 74 //800MS
Relay 0 flash off: 01 05 04 00 00 05 0C F9 //500MS
Relay 1 flash off: 01 05 04 01 00 06 1D 38 //600MS

Set Baud Rate

Send code: 00 06 20 00 00 05 43 D8

Byte Meaning Description
00 Device address 0 x 00 is the boradcast address; 0 x 01-0 x FF are device addresses
06 06 Command Set baud rate or device address
20 00 Command register 0x2000: Set baud rate,0 x 4000:Set device address
00 05 Baud rate Baudrate:
0 x 00: 4800
0 x 01: 9600
0 x 02: 19200
0 x 03: 38400
0 x 04: 57600
0 x 05: 115200
0 x 06: 128000
0 x 07: 256000
43 D8 CRC16 The CRC16 checksum of the first six bytes.

Return code: 00 06 20 00 00 05 43 D8

Byte Meaning Description
00 Device address 0 x 00 is the boradcast address; 0 x 01-0xFF are device addresses
06 06 Command Set baud rate or device address
20 00 Command register 0 x 2000: Set baud rate, 0 x 4000 Set device address
00 05 Baud rate The baud rate
0 x 0000: 4800
0 x 0001: 9600
0 x 0002: 19200
0 x 0003: 38400
0 x 0004: 57600
0 x 0005: 115200
0 x 0006: 128000
0 x 0007: 256000
43 D8 CRC16 The CRC16 checksum of the first six bytes.

Example:

[Device with address 0 x 01]

Set baud rate as 4800: 00 06 20 00 00 00 83 DB
Set baud rate as 9600: 00 06 20 00 00 01 42 1B
Set baud rate as 115200: 00 06 20 00 00 05 43 D8

Set Device Address

Send code: 00 06 40 00 00 01 5C 1B

Byte Meaning Description
00 Device address 0 x 00 is the boradcast address; 0 x 01-0 x FF are device addresses
06 06 Command Set baud rate or device address
40 00 Command register 0 x 2000: Set baud rate, 0 x 4000: Set device address
00 01 Device address The device address,0 x 0001-0 x 00FF
5C 1B CRC16 The CRC16 checksum of the first six bytes.

Return code: 00 06 40 00 00 01 5C 1B

Byte Meaning Description
00 Device address 0x00 is the boradcast address;0 x 01-0 x FF are device addresses
06 06 Command Set baud rate or device address
40 00 Command register 0 x 2000: Set baud rate,0 x 4000: Set device address
00 01 Device address Set device address, 0 x 0001-0 x 00FF
5C 1B CRC16 The CRC16 checksum of first six bytes.

Example:

[Device with address 0 x 01]

Set device address as 0 x 01: 00 06 40 00 00 01 5C 1b
Set device address as 0 x 02: 00 06 40 00 00 02 1C 1A
Set device address as 0 x 03: 00 06 40 00 00 03 DD DA

Read Device Address

Send code: 00 03 40 00 00 01 90 1B

Byte Meaning Description
00 Device address 0 x 00 is the boradcast address; 0 x 01-0 x FF are device addresses
03 03 Command Read Device address
40 00 Command register 0 x 0200: Read software revision, 0 x 0040: Read device address
00 01 Device address Device address
90 1B CRC16 The CRC16 checksum of the first six bytes.

Return code: 01 03 01 01 31 88

Byte Meaning Description
01 Device address 0 x 00 is the boradcast address; 0 x 01-0 x FF are device addresses
03 03 commands Read software revision or device address
01 Number of bytes Number of bytes returned
01 Device address Devicess
31 88 CRC16 The CRC16 checksum of the first six bytes.

Example:

[Device with address 01]

Send: 00 03 40 00 00 01 90 1B
Return: 01 03 01 01 31 88 //Device address 0x01
[Device with address 02]

Send: 00 03 40 00 00 01 90 1B
Return: 02 03 01 02 71 CD //Device address 0x02
[Device with address 03]

Send: 00 03 40 00 00 01 90 1B
Return: 03 03 01 03 B1 F1 //Device address 0x03

Read Software Revision

Send code: 01 03 20 00 00 01 8F CA

Byte Meaning Description
01 device address 0 x 00 is the boradcast address; 0 x 01-0 x FF are device addresses
03 03 Command Read software revision or device address
20 00 Command register 0 x 4000: Read device address, 0 x 8000: Read software version
00 01 Device address Device address
8F CA CRC16 The CRC16 checksum of the first six bytes.

Return code: 01 03 01 64 F1 A3

Byte Meaning Description
01 Device address 0 x 00 is the boradcast address; 0 x 01-0 x FF are device addresses
03 03 Command Read software revision, read device address
01 Number of bytes number of bytes returned
64 Software version Converting to decimal and shifting the decimal point two places to the left indicates the software version.
0x64 = 100 = V1.00
F1 A3 CRC16 The CRC16 checksum of the first six bytes.

Example:

Send: 01 03 20 00 00 01 8F CA
Return: 01 03 01 64 F1 A3 // 64 = 100 =V1.00


Resources

Document

Demo codes

Softwares

Related application

FAQ

 Answer:
The command must be sent in hex format with a CRC checksum.

1、If the module does not respond to the command, verify that the baud rate and device ID are correct. You may also try Restoring the factory settings.
2、If the above steps do not resolve the issue, please submit a ticket to contact the Waveshare technical support team.

{{{5}}}


 Answer:

The temperature range of the relay component is -40°C- +85°C. The humidity is 40-85%RH.

{{{5}}}



 Answer:

The temperature range of the relay component is -40°C- +85°C Humidity is 40-85%RH

{{{5}}}


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)