Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코스피
- 배당
- 국내주식
- Bestin
- 공모주
- raspberry pi
- homebridge
- 오블완
- esp32
- 해외주식
- ConnectedHomeIP
- Apple
- cluster
- 월패드
- SK텔레콤
- 미국주식
- 홈네트워크
- 힐스테이트 광교산
- 파이썬
- RS-485
- 현대통신
- MQTT
- Espressif
- matter
- 매터
- Python
- 티스토리챌린지
- 애플
- 나스닥
- Home Assistant
Archives
- Today
- Total
YOGYUI
현대통신 월패드 RS-485 통신 프로토콜 - 엘리베이터 호출 본문
반응형
※ 티스토리 오블완(오늘 블로그 완료) 챌린지용 포스팅
※ 프로토콜 공통 명세 참고 링크: 현대통신 월패드 RS-485 통신 프로토콜 명세 - 공통 사양
Notice: 엘리베이터의 경우 조명이나 난방 등 다른 기기들과는 제어 메커니즘이 상이하다
엘리베이터를 호출하는 주체는 단지 내 네트워크 망에 연결된 월패드이며 이는 RS-485 통신으로는 접근이 불가능하다
하지만 엘리베이터 호출 기능이 탑재된 복도(현관 근처) 제어 패드가 설치되어 있는 경우, 복도 패드와 월패드는 RS-485 패킷을 주고받으며 복도 패드의 '엘리베이터 호출 버튼 눌림' 시 월패드는 이 정보를 받아 엘리베이터를 호출하게 된다 (즉, 월패드가 복도 패드로 상태 변경 명령 패킷을 전송하는 것이 아님!)
1. 현재 상태 조회 패킷 (query)
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Room/Dev | - | Status | Floor | EV# | Checksum | Suffix |
Value | F7h | 0Dh | 01h | 34h | 01h | 41h | 10h | 00h | ??h | ??h | ??h | ??h | EEh |
- 통신 방향: [월패드] → [개별 장치]
- 복도의 엘리베이터 호출 제어 패드로 현재 '엘리베이터'의 상태 정보를 보냄
- 제어 패드는 이 값을 이용해 엘리베이터 호출 여부 LED를 점멸 (호출중이지 않은 경우 LED 점등)
- Tip: 개발 시 쿼리 패킷을 현재 엘리베이터 상태 확인 용도로 사용하면 됨
- 패킷 길이: 13 (= 0x0D)
- 데이터 길이: 6
- Device Type (Index 3): 0x34
- Packet Type (Index 4): 0x01
- Data
- Data[0] (Index 5): 카테고리 (0x41로 고정)
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- 엘리베이터 호출 패드가 여러 개가 아닌 경우 0x10으로 고정
- Data[2] (Index 7): 0x00 (이 외의 값은 발견하지 못함)
- Data[3] (Index 8): 현재 엘리베이터의 이동 상태 및 세대 내에서의 호출 상태
- 상위 4비트 (MSB 4bit): 엘리베이터 이동 상태 (상행/하행)
- 0xA: 엘리베이터가 상행 이동 중
- 0xB: 엘리베이터가 하행 이동 중
- 0x0: 엘리베이터는 움직이지 않는 상태
- 하위 4비트 (LSB 4bit): 월패드의 엘리베이터 호출 상태
- 0x0: 엘리베이터는 호출되지 않은 상태 (IDLE)
- 0x1: 엘리베이터가 세내 층수에 도착
- 0x5: 엘리베이터가 상행으로 호출된 상태
- 0x6: 엘리베이터가 하행으로 호출된 상태
- 상위 4비트 (MSB 4bit): 엘리베이터 이동 상태 (상행/하행)
- Data[4] (Index 9): 현재 엘리베이터 층 수 (지하의 경우 0xB 16진수 값이 사용되며, 16진수 표현값을 정수로 변환해줘야 함)
- 0x04: 지상 4층
- 0xB5: 지하 5층
- 0x10: 지상 10층
- Data[5] (Index 10): 엘리베이터 호기
- 조회 패킷 하나당 엘리베이터 호기 하나의 상태를 가리킴
- 월패드가 엘리베이터를 호출하지 않은 경우 값은 0x00
- 예시
- F7 0D 01 34 01 41 10 00 00 00 00 9F EE: 월패드가 엘리베이터를 호출하지 않은 상태 (IDLE)
- F7 0D 01 34 01 41 10 00 B5 B6 06 9A EE: 6호기 엘리베이터는 현재 지하6층(B6)에 있으며, 하행 이동 중이며 세내 내에서는 상행 호출 상태
- F7 0D 01 34 01 41 10 00 A5 B3 07 8E EE: 7호기 엘리베이터는 현재 지하3층(B3)에 있으며, 상행 이동 중이며 세대 내에서는 상행 호출 상태
- F7 0D 01 34 01 41 10 00 A6 02 07 3C EE: 7호기 엘리베이터는 현재 지상2층(02)에 있으며, 상행 이동 중이며 세대 내에서는 하행 호출 상태
2. 상태 변경 명령 패킷 (command)
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
Command | - | Checksum | Suffix |
Value | F7h | 0Bh | 01h | 34h | 02h | 41h | 10h | ??h | 00h | ??h | EEh |
- 통신 방향: [임의의 장치] → [개별 장치]
- 월패드가 RS-485 패킷으로 엘리베이터를 호출하는 제어 매커니즘이 아님
- 임의로 만들어낸 패킷으로도 호출이 되는 것이 핵심
- 패킷 길이: 11 (= 0x0B)
- 데이터 길이: 4
- Device Type (Index 3): 0x34
- Packet Type (Index 4): 0x02
- Data
- Data[0] (Index 5): 카테고리 (0x41로 고정)
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- 엘리베이터 호출 패드가 여러 개가 아닌 경우 0x10으로 고정
- Data[2] (Index 7): 상/하행 호출 명령값
- 0x06: 하행 호출 명령
- 0x05: 상행 호출 명령
- 주의: 복도 제어패드에 엘리베이터 호출 버튼이 하나 뿐이며, 이 버튼이 '하행' 호출을 담당한다면 '상행 호출' 명령값은 무시됨
- Data[3] (Index 8): 0x00
3. 응답 패킷
3.1. 조회 응답
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
- | Status | Checksum | Suffix |
Value | F7h | 0Bh | 01h | 34h | 04h | 41h | 10h | 00h | ??h | ??h | EEh |
- 통신 방향: [개별 장치] → [월패드]
- 복도 제어 패드의 엘리베이터 호출 버튼이 눌렸는지 여부를 반환한다
- 월패드는 호출 버튼 눌림 상태에 따라 엘리베이터를 호출하게 다
- 패킷 길이: 11 (= 0x0B)
- 데이터 길이: 4
- Device Type (Index 3): 0x34
- Packet Type (Index 4): 0x04
- Data
- Data[0] (Index 5): 카테고리 (0x41로 고정)
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스 D
- 엘리베이터 호출 패드가 여러 개가 아닌 경우 0x10으로 고정
- Data[2] (Index 7): 0x00 (이 외의 값은 발견하지 못함)
- Data[3] (Index 8): 복도 제어 패드의 엘리베이터 호출 버튼 눌림 상태
- 0x06: 하행 호출 버튼이 눌린 상태
- 만약 상행 호출 버튼도 있는 패드라면 0x05가 상행 호출 버튼이 눌린 상태인 것을 가리킬 것으로 추측
- 0x00: IDLE 상태
- 0x06: 하행 호출 버튼이 눌린 상태
반응형
'홈네트워크(IoT) > 힐스테이트 광교산' 카테고리의 다른 글
현대통신 월패드 RS-485 통신 프로토콜 - 전열교환기(환기) (0) | 2024.11.24 |
---|---|
현대통신 월패드 RS-485 통신 프로토콜 - 시스템 에어컨 (0) | 2024.11.23 |
현대통신 월패드 RS-485 통신 프로토콜 - 일괄소등 스위치 (0) | 2024.11.22 |
현대통신 월패드 RS-485 통신 프로토콜 - 난방(보일러) (1) | 2024.11.21 |
현대통신 월패드 RS-485 통신 프로토콜 - 가스 밸브 (0) | 2024.11.17 |