일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 매터
- 공모주
- 배당
- 월패드
- Bestin
- 해외주식
- 티스토리챌린지
- 파이썬
- homebridge
- 애플
- esp32
- raspberry pi
- Apple
- RS-485
- 홈네트워크
- 국내주식
- 현대통신
- 미국주식
- MQTT
- 엔비디아
- Python
- ConnectedHomeIP
- 나스닥
- Home Assistant
- 힐스테이트 광교산
- matter
- 퀄컴
- Espressif
- 코스피
- 오블완
- Today
- Total
목록엘리베이터 (6)
YOGYUI
※ 티스토리 오블완(오늘 블로그 완료) 챌린지용 포스팅※ 프로토콜 공통 명세 참고 링크: 현대통신 월패드 RS-485 통신 프로토콜 명세 - 공통 사양Notice: 엘리베이터의 경우 조명이나 난방 등 다른 기기들과는 제어 메커니즘이 상이하다엘리베이터를 호출하는 주체는 단지 내 네트워크 망에 연결된 월패드이며 이는 RS-485 통신으로는 접근이 불가능하다하지만 엘리베이터 호출 기능이 탑재된 복도(현관 근처) 제어 패드가 설치되어 있는 경우, 복도 패드와 월패드는 RS-485 패킷을 주고받으며 복도 패드의 '엘리베이터 호출 버튼 눌림' 시 월패드는 이 정보를 받아 엘리베이터를 호출하게 된다 (즉, 월패드가 복도 패드로 상태 변경 명령 패킷을 전송하는 것이 아님!)1. 현재 상태 조회 패킷 (query)Ind..
현대통신 RS-485 연동코드: 엘리베이터 호기별 층수 및 이동방향 표시 엔티티 추가 (홈어시스턴트) 엘리베이터와 관련된 요구사항이 아래와 같이 추가되었다 요구사항: 엘리베이터의 층수 및 이동 방향을 HA에서 확인 어차피 엘리베이터 호출 후 RS-485 패킷에서 확인할 수 있는 층수랑 방향은 기존 코드에서도 모니터링할 수 있는데, HA랑 별도로 연동해두진 않았었다 이번 기회에 엘리베이터 호출 후 각 호기별 층수와 이동방향을 표기하는 HA 엔티티를 자동으로 추가하도록 코드를 조금 수정해봤다 commit id: f2b6efc600b4e691f549a97a6df91728a1a997da https://github.com/YOGYUI/HomeNetwork/commit/f2b6efc600b4e691f549a97a6..
지난 포스트에서 엘리베이터 호출 관련 RS-485 패킷 후킹 및 분석을 완료했다(링크) python 시리얼 패킷 파서 및 MQTT 메시지 핸들러 구문을 구현하고, Homebridge 및 Home Assistant 액세서를 추가해서 홈네트워크 플랫폼과 연동을 시켜보자 1. python 코드 작성 깃헙 저장소 hillstate-elevator 브랜치로 소스코드 커밋 완료 https://github.com/YOGYUI/HomeNetwork/tree/hillstate-elevator GitHub - YOGYUI/HomeNetwork: HomeNetwork(Homebridge) Repo HomeNetwork(Homebridge) Repo. Contribute to YOGYUI/HomeNetwork developm..
3. Implementation 우선, 256개 Timestamp에 대한 하행 호출 패킷을 모으기 위해 다음과 같이 코드를 짜봤다 (패킷을 리스트에 담는데, 동일한 timestamp 값을 모은적이 있다면 패스, 리스트 자체를 직렬화해서 로컬에 저장) import os from SerialComm import SerialComm from SmartParser import SmartParser if __name__ == '__main__': import time import pickle picklepath = './smart_elevator_down_packets.pkl' os.system('clear') ser1 = SerialComm() ser2 = SerialComm() par = SmartParser..
2. Packet Analysis UTP 커플러를 통해 분기하여 후킹하는 시스템 도식은 다음과 같다 게이트웨이와 소형 월패드간 통신은 RS-422 방식으로 Full-Duplex인데, Tx, Rx 각 라인에 각각 USB-RS485 컨버터를 장착해 바이트스트림 후킹 뿐만 아니라, 통신 라인에 사용자가 임의의 패킷을 송신할 수 있다 (이틀정도 삽질해서 알게됐다) 보통의 경우라면 보내는 쪽에 다이오드를 달아서 받는 쪽으로민 패킷이 전송되도록 해야하지만, 일반적인 RS-422, RS-485 핸들링 IC는 Tx단에 정보가 흘러들어오더라도 크게 문제되지 않는다 (경험적으로 알게 된 사실...) 그래서 신호 블로킹을 위한 다이오드는 추가로 장착하지 않기로 했다 게이트웨이에서 소형 월패드로 정보를 보내는 방향에 장착한 ..
1. Prepare 신발장을 지나 거실 초입 부근에는 조그마한 월패드 (이하 소형 월패드)가 있다 LCD 패널 (터치는 안됨)에는 날씨 및 현재 시간이 디스플레이된다 아래 제어 패널들로는 집안 전체 조명 소등/점등 기능 및 가스 잠그기 및 엘리베이터 상행/하행 호출이 가능하다 그리고, 평소에는 꺼져있다가 사람이 근처에 지나가면 디스플레이가 켜지는 걸로 봐서는 모션 센서가 탑재된 것으로 보인다 엘리베이터 호출은 거실의 메인 월패드로도 가능하며 소형 월패드와 상호작용한다 (현재 엘리베이터 층수 표시) 엘리베이터가 우리집 층수에 도착하면 메인 월패드와 소형 월패드 모두 "엘리베이터가 도착하였습니다"라고 안내 음성이 방송된다 엘리베이터도 홈킷으로 호출해보고 싶어 홈네트워크 게이트웨이 배전반을 이리저리 만지면서 ..