Serial(RS232) Modbus Relay 시리얼 릴레이
Embedded 2026. 6. 11. 20:35 |시리얼 릴레이 사용법을 알아보자.

A frame instruction is generally composed of device address, function code, register address, register data, check code, and frame length is related to the function code.
Generally, the first byte of each frame data is the device address, which can be set to 1~255. The default is 255(0xFF), and the last two bytes are the CRC check code.
- Turn on relay_1
FF 05 00 00 FF 00 99 E4
3~4 바이트 = 릴레이 번호
5~6 바이트 = FF00 = 릴레이 켜기, 0000 = 릴레이 끄기
마지막 두 바이트 = CRC16 (명령어가 바뀔때마다 다시 계산해야 한다)
- Turn on relay_2
FF 05 00 01 FF 00 C8 24
- Turn off relay_1
FF 05 00 00 00 00 D8 14
- Turn off relay_2
FF 05 00 01 00 00 89 D4
- Turn on all relays
FF 0F 00 00 00 08 01 FF 30 1D
- Turn off all relays
FF 0F 00 00 00 08 01 00 70 5D
- 1번 릴레이 2초 켰다 끄기
FF 10 00 03 00 02 04 00 04 00 14 C5 9F
3~4 바이트 = 릴레이 번호, 0003=1번, 0008=2번, 000D=3번, 0012=4번, 0017=5번, 001C=6번
10~11 바이트 = 딜레이 시간, 10~11바이트 값에 0.1초를 곱하는 숫자가 딜레이 시간, 0014*0.1 = 20*0.1 = 2초
- 3번 릴레이 5초 켰다 끄기
FF 10 00 0D 00 02 04 00 04 00 32 C5 C9
- 3초 후 릴레이 1번 켜기 (켜져 있는 상태에서 하면 꺼졌다가 3초 후 다시 켜진다)
FF 10 00 03 00 02 04 00 02 00 1E A5 99
3~4 바이트 = 릴레이 번호, 0003=1번, 0008=2번, 000D=3번, 0012=4번, 0017=5번, 001C=6번
10~11 바이트 = 딜레이 시간, 10~11바이트 값에 0.1초를 곱하는 숫자가 딜레이 시간, 001E*0.1 = 30*0.1 = 3초
- 5초 후 릴레이 4번 켜기 (켜져 있는 상태에서 하면 꺼졌다가 5초 후 다시 켜진다)
FF 10 00 12 00 02 04 00 02 00 32 64 84
- Read device address
00 03 00 00 00 01 85 DB
결과로 돌아오는 값에서 5번째 바이트가 주소 (ex: FF)
- Read baud rate
FF 03 03 E8 00 01 11 A4
결과로 돌아오는 값에서 5번째 바이트가 baud rate
0x02=4,800 0x03=9,600 0x04=19,200
아래는 JK-SR-2 시리얼 릴레이 사용법이다. 컴퓨터에 연결할 때 USB to UART 컨버터를 사용하지 말고 USB to RS-232/DB-9 케이블(컨버터)을 사용하자. RX, TX, GND, DTR 핀들을 연결해도 이상하게 작동한다. (위 파란색 제품도 마찬가지일 듯..)

'Embedded' 카테고리의 다른 글
| Serial Communication Monitoring 시리얼 통신 모니터링 (0) | 2026.06.05 |
|---|---|
| USB to Serial(RS232) Converter KW-880C (0) | 2026.05.31 |
| [Arduino] 사용중인 시리얼 포트 및 사용 프로세스 확인 (0) | 2026.05.24 |
| [Arduino] USB to UART 사용 컴퓨터 시리얼 통신 (0) | 2026.05.22 |
| [RetroPie] Runcommand Script (0) | 2026.05.20 |
