목차
1. 프로토콜 기본 구조
1.1. 프로토콜 명령 패킷 구성
명령 패킷: ![AEM...!]
| 구분 | 의미 | 내용 |
|---|---|---|
![ | 시작 문자 | 패킷의 시작 |
A | Address | 전광판 주소(Destination) - 싱글모드(1:1 통신): 전광판 목적지 주소는 0(default)을 사용 - 멀티모드(1:n 통신): RS-485 통신의 경우, 전광판 주소는 1~F 사이의 값을 가지며, RS-485보드의 딥스위치도 동일하게 설정 |
E | Error Check | - 0: 오류 검사 기능을 사용하지 않음 - 1: 종료 문자 뒤에 BCC(오류 검출 문자) 값을 2바이트 추가 예1) ![010ABCD!]33 예2) ![010/C3123/C6ABC!]42 |
M | 메시지 형식 | - 0: 실시간 메시지 - 1: 페이지 메시지 - XX: 특수 명령 코드. 펌웨어 7.5부터 적용. |
... | 데이터 | 문자 표시 속성 및 문자 내용 |
!] | 종료 문자 | 패킷의 종료 |
- 자세한 Error Check 방법은 3.20. ASCII 프로토콜의 BCC 계산 및 적용 가이드를 참고
- 실시간 또는 페이지 메시지에 관한 내용은 2.5.1. 메시지 종류를 참고
- 문자표시 속성 및 문자 내용은 문구 표시 속성을 참고
1.2. 프로토콜 응답 패킷 구성
응답 패킷: ![0EMR!]
| 구분 | 의미 | 내용 |
|---|---|---|
![ | 패킷의 시작 | |
0 | Address | 반환 주소값은 항상 0 |
E | Error Check | 프로토콜 명령 패킷과 동일 |
M | 메시지 형식 | 프로토콜 명령 패킷과 동일 |
R | 수신 상태 값 | - 0: 데이터 정상 처리. - F: 데이터 처리 실패. |
!] | 종료 문자 | 패킷의 종료 |
2. 문구 표시 속성
- 문구 표시 속성은 아래와 같이 다양하며, 필요한 항목만 삽입
- 표시 속성을 삽입하지 않을 경우, 기본 표시 속성 값(Default)이 자동으로 적용
2.1. 문구 표시 속성 코드
| 구분문자 | xx | yy | 기본 표시 속성 값 (Default) |
|---|---|---|---|
| Pxxyy | 페이지 번호 | 섹션 번호 | /P0000 |
| Dxxyy | 표시 제어 | 표시 방법 | /D9901 |
| Fxxyy | 문자 코드 | 폰트 크기 | /F0003 |
| Exxyy | 입장 효과 | 퇴장 효과 | /E0101 |
| Sxxyy | 효과 속도 | 유지 시간 | /S2002 |
| Xxxyy | 가로 시작 위치 | 가로 종료 위치 | /X0000 |
| Yxxyy | 세로 시작 위치 | 세로 종료 위치 | /Y0000 |
| Bxxx | 배경 화면 목록 번호 | /B000 | |
| Cx | 문자 색상 | /C3 | |
| Gx | 문자 배경색 | /G0 | |
| Tx | 적용 폰트 | /T0 | |
| ixx | 정보문구 | - |
2.2. 속성 코드 정의 및 예시
2.2.1. /Pxxyy
- xx: 페이지 번호
- 페이지 번호를 지정
- (중요) 00: 페이지 1번, 01: 페이지 2번
- 예:
![001/P0000/C1Hello!]- 페이지 1번에 빨간색 Hello 등록
- 예:
- 실시간 메시지 패킷의 경우 페이지 번호는 의미 없음
- yy: 섹션 번호
- 하나의 화면을 2개 이상의 섹션으로 분할 가능 (최대 4개 섹션)
- 각 섹션은 개별 속성을 가질 수 있음
2.2.2. /Dxxyy
- xx: 표시 제어
00: 문구 표시 안 함1~98: 문구 반복 표시 횟수99: 문구 무한 반복
- yy: 표시 방법
00: 일반 표시 (현재 문구 표시가 끝난 후 새 문구 표시)01: 즉시 표시 (현재 문구 표시를 중단하고 새 문구 표시)
2.2.3. /Fxxyy
- xx: 문자 인코딩 및 폰트
- 시스템 — A ⇒ 컨트롤러 — B ⇒ LED 모듈
00- A: EUC-KR코드(2Byte), B: 한글 조합형 폰트(2Byte)01- A: UTF-16코드(2Byte), B: 유니코드 폰트(2Byte)02- A: UTF-8코드(3Byte), B: 한글 조합형 폰트(2Byte)03- A: UTF-8코드(3Byte), B: 유니코드 폰트(2Byte)
- yy: 폰트크기 (가로픽셀x세로픽셀)
01- 영문자/숫자: 7x14 / 한글: 14x1402- 영문자/숫자: 6x12 / 한글: 12x1203- 영문자/숫자: 8x16 / 한글: 16x1604- 영문자/숫자: 10x20 / 한글: 20x2005- 영문자/숫자: 12x24 / 한글: 24x2406- 영문자/숫자: 14x28 / 한글: 14x2807- 영문자/숫자: 16x32 / 한글: 32x32- …
15- 영문자/숫자: 32x64 / 한글: 64x64
- 한 화면에 두개 이상의 폰트크기를 적용하려면, 섹션을 구분(
/Pxxyy,/Xxxyy,/Yxxyy)하여 각 섹션별로 폰트크기를 적용
2.2.4. /Exxyy
- xx: 입장효과
- yy: 퇴장효과
- 효과에 관한 내용은 3.23. 메시지 입장 및 퇴장 효과 코드표 참고
2.2.5. /Sxxyy
- xx: 효과속도
- 설정값:
00~99 - 수치가 작을수록 상대적으로 빠른 속도
- 설정값:
- yy: 유지시간
- 설정값:
00~99 - 문구가 화면에 나타난 후, 표시를 유지하는 시간
- 유지시간은 설정값 x 0.5초
- 설정값:
- 예:
S2004는 효과속도 20, 유지 시간 2초
2.2.6. /Xxxyy
- xx: 가로방향 시작 위치
- 설정값:
00(지정안함)~99 - 시작 위치는 좌단기준 4픽셀 단위로 설정
- 예: 설정값이
02이면 시작위치는 좌단에서 8픽셀 떨어진 9번째 픽셀부터 표출
- 설정값:
- yy: 가로방향 종료 위치
- 설정값:
00(지정안함)~99 - 종료 위치는 좌단기준 4픽셀 단위로 설정
- 예: 설정값이
08이면 종료위치는 좌단에서 32픽셀 떨어진 32번째 픽셀까지 표출
- 설정값:
2.2.7. /Yxxyy
- xx: 세로방향 시작 위치
- 설정값:
00(지정안함)~99 - 시작 위치는 상단기준 4픽셀 단위로 설정
- 예: 설정값이
02이면 시작위치는 상단에서 8픽셀 떨어진 9번째 픽셀부터 표출
- 설정값:
- yy: 세로방향 종료 위치
- 설정값:
00(지정안함)~99 - 종료 위치는 상단기준 4픽셀 단위로 설정
- 예: 설정값이
08이면 종료위치는 상단에서 32픽셀 떨어진 32번째 픽셀까지 표출
- 설정값:
2.2.8. /Bxxx
- xxx: 배경화면 목록 번호
- 다빛채 소프트웨어에서 배경 이미지를 만들어 컨트롤러에 저장한 후, 해당 번호를 호출하여 전광판에 표시 (참고: 3.3. 배경이미지 제작 및 표출)
000: 배경화면 사용 안 함001~255: 저장된 배경화면 번호- 예:
![000/B003!]: 3번 배경화면 표시
2.2.9. /Cx
- x: 문자 색상 설정
- 0 : 검정색(Black)
- 1 : 빨간색(Red)
- 2 : 초록색(Green)
- 3 : 노란색(Yellow, 기본값)
- 4 : 파란색(Blue)
- 5 : 자주색(Magenta)
- 6 : 청록색(Cyan)
- 7 : 흰색(White)
- 예:
![000/C3다빛솔루션!]: 노란색으로 “다빛솔루션” 표시![000/C1빨강/C2녹색/C3노랑/C4파랑!]: 각 문자에 다른 색 적용
2.2.10. /Gx
- x: 문자 배경색 설정
- 0 : 검정색(Black, 기본값)
- 1 : 빨간색(Red)
- 2 : 초록색(Green)
- 3 : 노란색(Yellow)
- 4 : 파란색(Blue)
- 5 : 자주색(Magenta)
- 6 : 청록색(Cyan)
- 7 : 흰색(White)
- 예:
![000/G1다빛솔루션!]:다빛솔루션문구의 배경을 빨간색으로 표출
2.2.11. /Tx
- 최대 4개의 폰트 그룹을 설정하여 영문, 한글, 사용자 폰트를 개별적으로 적용
- x: 적용 폰트 그룹 선택
0: Font Group 0 (기본)1: Font Group 12: Font Group 23: Font Group 3- 예:
![000/T2다빛솔루션!]: 폰트 그룹 2로다빛솔루션문구 표출
- 한 화면에 두개 이상의 폰트그룹을 적용하려면, 섹션을 구분(
/Pxxyy,/Xxxyy,/Yxxyy)하여 각 섹션별로 폰트그룹을 적용 - 적용전에 폰트 전송 필수 - 2.4.1. 폰트 변경
2.2.12. /ixx
- xx: 날짜, 시간, 온습도, 미세먼지 농도 등 다양한 정보문구 표시
- 자세한 내용은 3.27. 정보문구 표시 방법 참고
- 예1: 연-월-일
![000/i17-/i18-/i19!]: 25-01-21
- 예1: 시:분:초
![000/i20:/i22:/i23!]: 13:56:29
2.2.13. 기본 표시 속성 값 (Default Display Properties)
- 기본 표시 속성 값을 전송하면 문구를 전송할 때 모든 속성을 지정하지 않아도 기본 표시 속성이 적용
- 기본 표시 속성 값 패킷 :
![0032+ 설정할 속성 +!] - 변경이 필요한 속성만 패킷에 포함하여 전송
- 예시:
![0032/P0000/D9901/F0003/E0101/S2002/X0000/Y0000/B000/C3/G0/T0!]![000다빛솔루션!]![000/P0001/Y0400/S0000/C7환영합니다!]
`
2.2.14. 참고사항
- 문구에
/(슬래시)를 사용하고 싶을때는//를 입력- 예.
![000/C7A//S문의!]→ A/S문의ㄴ
- 예.
3. 특수 명령 프로토콜 구조
- DABIT 컨트롤러가 전광판을 설정/제어하기 위한 특수 명령 코드 목록
- 각 명령을 다빛 시뮬레이터의 “ASCII 메시지” 섹션에 입력하여 시뮬레이션
- 명령을 전송한 후, 응답 패킷을 반드시 확인한 후 다음 명령을 전송
- 응답이 없거나 비정상적이면 **에러 처리(재전송, 통신 리셋 등)**가 필요
3.1. 특수 명령 프로토콜 명령/응답 패킷 구성
3.1.1. 명령 패킷: ![00XX...!]
| 시작문자 | Address | Error Check | 특수 명령 | 데이터 | 종료문자 |
|---|---|---|---|---|---|
| ![ | 0 | 0 | XX | … | !] |
3.1.2. 응답 패킷: ![00XXR!]
| 시작문자 | Address | Error Check | 특수 명령 | 수신 상태 값 | 종료문자 |
|---|---|---|---|---|---|
| ![ | 0 | 0 | XX | R: 0(정상 처리), F(처리 실패) | !] |
3.2. 코드 구분
| 구분 | 특수 명령 | 데이터 | 예시 |
|---|---|---|---|
| 배경이미지 불러오기 | 20 | 형태: aaa000: 불러오지 않음 001~255: 해당번호 이미지 불러오기 (참고) 배경이미지 제작 및 표출 | ![0020010!]: 배경이미지 10번 표출 |
| LED 전원 제어 | 21 | 형태: a- 0: 전원끄기 - 1: 전원켜기 | ![00210!]: LED 전원 끄기 |
| 외부신호출력 | 22 | 형태: aaaaabbbbbccccc...- 00000: 출력 안함 - 00001: 0.1초 - 00010: 1초 - 61439: 61439초 - 61440: 항상 출력 - 61696: 현행 유지 | ![00220001000020!]: 1번에 2초, 2번에 20초 출력 |
| PC시간으로 동기화 | 30 | 형태: YYMMDDdHHMMSS- YYMMDD: 연연월월일일 - d: 0(일), 1(월), … 6(토) - HHMMSS: 시시분분초초 | ![00302501013123456!]: 2025년 1월 1일 수요일 12시 34분 56초 동기화 |
| 전광판 시간 읽기 | 31 | 형태는 PC시간으로 동기화와 동일 | 명령: ![0031!]응답: ![00312501013123456!] |
| 화면 크기 설정 | 40 | 형태: aabbcaa: 세로 모듈 수 bb: 가로 모듈 수 c: 모듈 배열 방식(참고자료) - 0: 가로형 - 1: 1줄 세로형 - 2: 2줄 세로형 - 3: 가로 양면형 | ![004002060!]: 2단 6열 가로형 |
| CPU 리셋 | 41 | TCP 통신 에러로 UDP 통신으로 CPU 리셋 | 명령: ![0041!]응답: ![00410!] |
| 공장초기화 | 42 | 폰트파일, 표출신호설정값을 제외한 모든 메모리 초기화 | 명령: ![0042!]응답: ![00420!] |
| 화면 크기 정보 읽기 | 43 | 응답형태: ![0043 aa bb c!]aa bb c 는 화면 크기 설정 값과 동일 | 명령: ![0043!]응답: ![0043 02 06 0!]: 2단 6열 가로형 |
| 화면 밝기 설정 | 50 | 형태: aa- 00: Auto (CDS 참고) - 01: 가장 어두움 - 99: 가장 밝음(초기값) | ![005050!]: 화면 밝기를 최대치의 50%로 |
| 화면 밝기 정보 읽기 | 51 | 응답형태: ![0051 aa!] | 명령: ![0051!]응답: ![0051 99!] |
| 배경이미지의 표출 속도 설정 | 54 | 형태: aa- 00: 기존 스케쥴의 표출 속도 - 01: 가장 빠름 - 99: 가장 느림 | ![0054 99!]: 배경이미지 표출 속도 가장 느림 |
| 점멸 횟수 설정 | 55 | 형태: aa- 최대 20회 점멸 - 00: 8회(기본값) - 21: 8회 | ![0055 05!]: 점멸효과 5회 |
| 폰트 두께 계수 설정 | 56 | 형태: aa bbaa: 가로 두께 계수(10 bb: 세로 두께 계수(10 (참고) 폰트 두께 계수 설정 | ![0056 12 20!]: 가로 두께 1.2배, 세로 두께 2.0배 |
| 페이지 메시지 개수 설정 | 60 | 형태: aa- 01~10: 페이지 메시지 개수 - 초기값은 1개 | ![006005!]: 페이지 메시지 5개 등록 |
| 페이지 메시지 삭제 | 61 | 형태: aa- 00: 페이지 메시지 1번 삭제 - 01: 페이지 메시지 2번 삭제 … - 09: 페이지 메시지 10번 삭제 - 99: 전체 메시지 삭제 | ![006199!]: 전체 페이지 메시지 삭제 |
| 실시간 메시지 삭제 | 62 | 형태: 1 | 명령: ![00621!]응답: ![00620!] |
| 화면 채우기 | 70 | 형태: a- 0 : 검정색(Black) - 1 : 빨간색(Red) - 2 : 초록색(Green) - 3 : 노란색(Yellow) - 4 : 파란색(Blue) - 5 : 자주색(Magenta) - 6 : 청록색(Cyan) - 7 : 흰색(White) | ![00707!]: 화면 전체를 흰색으로 표출 |
| 펌웨어 정보 읽기 | 81 | (참고) 펌웨어 정보 해석 | 명령: ![0081!]응답: ![0081<21>DIBD...!] |
| 맥주소 정보 읽기 | 830 | 응답형태: ![0083 1mac주소...!] | 명령: ![00830!]응답: ![0083 154FF82...!] |
| 폰트 파일명 저장 | 95 | 형태: 텍스트 | 명령: ![0095 ENG 08x16-DABIT(표준).fnt KOR 16x16-DABIT(표준).fnt USER 16x16-Special(표준).fnt !]응답: ![009950!!] |
| 폰트 파일명 읽기 | 96 | 형태: 0 | 명령: ![00960!]응답: ![0096 ENG 08x16-DABIT(표준).fnt KOR 16x16-DABIT(표준).fnt USER 16x16-Special(표준).fnt !] |