YOGYUI

힐스테이트 광교산::주방 비디오폰 RS-485 패킷 해석 본문

홈네트워크(IoT)/힐스테이트 광교산

힐스테이트 광교산::주방 비디오폰 RS-485 패킷 해석

요겨 2022. 9. 6. 20:27
반응형

지난주 금요일(09/02) 밤에 이메일을 한통 받았다

제목만으로도 가슴을 설레게 하는(?) 그런 메일 ㅋㅋㅋ

 

너무나도 공손하게 보내셔서 끝까지 정독할 수 밖에 없는 메일이었다 ^^

요점은 월패드와 연결되어 있는 '주방폰'의 RS-485 시리얼 통신 신호를 오실로스코프로 캡쳐해달라는 의뢰!

이런 의뢰는 언제나 땡큐입니다 

주말에 일정이 많아 약간 바빴지만, 짬을 내서 주방에서 작업을 해봤다

1. 제품 확인

주방 찬장 구석에 설치되어 있는 비디오폰

솔직히 말하면 5월에 진행한 입주 전 하자 점검 이후로 처음 켜본다 ㅋㅋㅋ 주방을 쓸 일이 잘 없기에..

(현재 시간도 엉망으로 설정되어 있다 ㅋㅋ)

제품 몸통에 제품모델과 제조사가 기입된 스티커가 붙어있다

 

(주)동영엠텍이라는 회사의 DM-D5102QMS라는 제품

 

구글링으로 쉽게 회사 제품 카탈로그를 찾아볼 수 있다

http://www.dym.co.kr/download/catalogue_2019.pdf

2019년 자료라 그런지 DM-D5102Q, DM-D5102QM 제품만 찾아볼 수 있는데, QMS라고 해서 딱히 스펙이 크게 다를 것 같진 않다

카탈로그 중간에 제품군 전체의 spec sheet가 첨부되어 있다

정식 제품 카테고리명은 '주방 거치용 디지털 TV폰'이다 ㅋㅋ 이름 한번 길기도 하다

입력 단자에 H/A(Home Automation) 연동 항목에 RJ-45 485통신이라고 명시되어 있다

RJ-45는 우리가 흔히 LAN용으로 사용하는 UTP케이블을 연결하는 커넥터 이름 (RJ: Registered Jack)

일반 대중에게는 인터넷 커넥터/케이블이라고 불리지만, 인터넷 외에도 다양한 용도로 활용된다 (UTP 케이블은 노이즈 차폐성이 뛰어나 장거리 통신이 가능하다)

https://ko.wikipedia.org/wiki/%EB%A0%88%EC%A7%80%EC%8A%A4%ED%84%B0%EB%93%9C_%EC%9E%AD

 

제품 후면부를 보니 TV용 동축 케이블과 UTP케이블 2개 (1개는 전화, 1개는 H/A 연동)와 220V AC 어댑터용 전원선이 체결되어 있는 것을 확인했다

 

주방 비디오폰의 핵심 기능은

  • 현관문 도어폰의 영상 수신
  • 현관문 도어락 잠금 해제

두가지 기능이다

메일 보내주신 분이 원하는 것도 이 기능들이 수행될 때 월패드와 주고받는 RS-485 패킷의 정체!

도어폰 카메라랑 애플 홈킷 연동할 때 거실 월패드 뜯어서 작업하느라고 고생했는데, 주방 비디오폰에 이런 기능이 있는 줄 알았다면 진작에 여기에서 작업했을 듯! ㅋㅋㅋ

힐스테이트 광교산::도어폰 카메라 - 애플 홈킷 연동 (1)

 

힐스테이트 광교산::도어폰 카메라 - 애플 홈킷 연동 (1)

1. 시스템 분석 현관문 옆에 매립되어 있는 도어폰은 카메라와 마이크가 장착되어 있으며, 영상과 음성이 거실의 월패드로 전송된다 (초인종을 호출했을 때 방문자의 사진이 월패드에 기록된다)

yogyui.tistory.com

2. 신호 측정 준비

H/A 연동용 UTP 케이블 (노란색)을 뽑은 뒤, Y형 UTP 1:2 커플러에 연결하여 한쪽은 비디오폰에, 나머지 한쪽은 케이블 중간 지점을 절단하여 신호를 측정할 수 있게 준비했다

메일 주신 분의 가이드에 따르면, 신호선 중 SC2A/SC2B가 RS-485 신호선으로 추정된다고 한다

SC2A/B라... 이 문자열을 어디선가 봤었는데... 하면서 기억을 더듬어보니~

이사오자마자 거실 월패드 뜯어봤을 때 제품 뒷면에 붙어있는 스티커에 적혀있던 핀아웃 라벨에 적혀있는 것이었다!

힐스테이트 광교산::홈네트워크 월패드 뜯어보기

 

힐스테이트 광교산::홈네트워크 월패드 뜯어보기

며칠전 힐스테이트 광교산 아파트로 이사왔다 (내집마련!) 3일정도 이사짐 정리를 하는데도 끝이 보이지 않는데다 몸살까지 겹쳐서 잠시 쉴 겸 힐스테이트는 어떤 홈네트워크 시스템을 쓰는지

yogyui.tistory.com

SC2A가 UTP 케이블의 5번, SC2B가 UTP 케이블의 4번 신호선인 걸 확인!

https://www.crxconec.com/ko/faq/RJ45-/CRXCONEC-faq-03.html

UTP 케이블의 A/B타입 관계없이 4번과 5번은 각각 파란색, 파란색+흰색선인 것을 참고해서 오실로스코프 2채널 측정 준비 완료!

신호를 주고받지 않는 IDLE 상태에서 SC2A 라인은 +2V 전압 레벨로 floating되어 있고, SC2B 라인은 0V 가까운 바닥 레벨인 것을 확인했다

3. 시리얼 통신 신호 측정

현관 도어폰 관련 명령 시 신호선의 변동이 보여서 캡쳐 성공!

(오실로스코프 프로브 GND로 UTP케이블의 7번-갈색+흰색 선을 물려줘서 잡음이 거의 없는 깨끗한 신호가 잡혔다)

현관 도어폰 비디오 ON 명령
현관 도어락 잠금 해제 명령
현관 도어폰 비디오 OFF 명령

  • 노란색: CH1 (SC2A)
  • 파란색: CH2 (SC2B)
  • 빨간색: CH1 - CH2 (오실로스코프 Math 기능)

아주 미묘하게 파형이 다른 걸로 봐선, 명령마다 서로 다른 패킷이 송·수신되는 것으로 볼 수 있다

시리얼 통신의 Start Bit에 해당하는 녀석의 폭을 측정해보자

Start Bit의 폭이 0.26ms로 측정됐다

Start Bit의 폭이 통신속도(bit rate 혹은 bps)를 결정하게 되는데, 0.26ms를 bps로 환산하면

1 ÷ 0.26ms = 3846.15 bps

두둥...

왜 많은 사람들이 주방 비디오폰의 RS-485 패킷 해석에 어려움을 겪고 있는지 알게됐다...

통상적으로 알려져있는 2400, 4800, 9600 등의 baud rate(보레이트) 값이 아니다!!

(38400이란 값이 드물게 쓰이긴 하지만, 3840이라는 값은 생전 처음 본다 -_-)

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/767765/linux-processor-sdk-am335x-uart-baud-rate

※ baudrate와 bps는 엄밀히 말하면 다른 개념이지만, 홈네트워크에서는 1baud = 1bit로 봐도 무방하기 때문에 동일한 의미로 사용하기로 한다

 

오실로스코프가 성능이 매우 후진 녀석(1Gsps)이라 더 정확한 값을 뽑는 게 무의미해서, 일단 시리얼통신의 baudrate가 3840 수준이라는 것만 알아두자

4. 패킷 캡쳐

EW-11은 커스텀 baudrate를 설정할 수 없어서 (혹은 내가 방법을 몰라서...), USB-to-RS485 컨버터를 랩탑에 연결해서 간단하게 시리얼 패킷을 캡쳐해봤다 (캡쳐 프로그램은 뭐... 평소에 내가 파이썬으로 만들어 쓰던걸로 ㅎㅎ)

EW-11 custom baudrate 어떻게 하는거여.. ㅋㅋ

Baudrate: 3840 / Data Bit: 8 / Stop Bit: 1 / Parity: None

으로 설정한 뒤 시리얼 바이트스트림을 캡쳐해보니 아주아주 의미있는(반가운) 패킷 형태를 볼 수 있었다

  • 현관 도어폰 비디오 스트리밍 시작 명령: 7F B9 00 00 EE
  • 현관 도어락 열림 명령: 7F B4 00 00 EE 7F B8 00 00 EE
  • 도어폰 비디오 스트리밍 종료 명령: 7F BA 00 00 EE

이제껏 힐스테이트 (현대통신) 월패드와 연결된 다양한 디바이스(조명, 에어컨, 난방 등)들의 RS-485 제어 패킷과 유사하게 시작(prefix)이 0x7F, 끝(suffix)이 0xEE인 구조를 가진 것으로 보인다

유사하다고 한 이유는, 월패드의 제어 패킷 prefix는 0xF7이었기 때문~

  • 0xF7: 1111 0111
  • 0x7F: 0111 1111

흐음~~ 뭐지? 괜히 찝찝하다 ㅎㅎ

 

실제로 아이패드로 랩탑에 원격접속한 뒤 [비디오 ON] - [도어락 잠금 해제] 명령을 순차적으로 전달해봤다

패킷 전달 순서: [7F B9 00 00 EE] ☞ [7F B4 00 00 EE]

아주 무난히... 도어락 잠금 해제가 된다... ㅠㅠ

도어폰 연동한다고 괜시리 설쳤다는 사실에 현타...

힐스테이트 광교산::현관 도어락 - 애플 홈킷 + 구글 어시스턴트 연동

 

힐스테이트 광교산::현관 도어락 - 애플 홈킷 + 구글 어시스턴트 연동

거실 월패드에서는 비디오폰을 통화를 하거나, 현관 출입문 도어락을 해제할 수 있다 (문열기) 문열기 버튼을 클릭했을 때, 조명과 아울렛이 연결된 RS-485 포트에서 처음보는 패킷을 캡쳐할 수

yogyui.tistory.com

 

비디오 스트림 ON 명령 시, 월패드에 "서브폰과 도어폰 통화 중 입니다"이라는 메시지가 뜨면서 월패드에는 도어폰 영상이 출력되지 않는다 - 재밌는 점은 패킷으로 명령을 전달해서 '통화 중' 모드로 진입 시 서브폰(주방 비디오폰)에도 영상이 출력되지 않는다는 사실! ㅋㅋㅋ

5. 마무리

주말 작업 내용을 회신드렸는데, 월요일 오전에 빠르게 답장을 보내오셨다

Baudrate 3880~3890에서 안정적으로 동작한다고 한다! 좋은 정보 감사합니다~

 

뿐만 아니라 더욱 감사하게도 다른 기능들의 패킷도 공유해주셨다

오우~ 공동현관문도 주방 비디오폰으로 제어가 가능한 거였나?? 개꿀팁인데?

실제로 7F 5A 00 00 EE 패킷을 송신해보니 

"현관" 항목이 "공동현관" 항목으로 바뀐 화면이 뜨면서 멜로디가 흘러나왔다

공동현관을 호출한 걸로 보이는데, 야심한 시각이라 놀래서 바로 꺼버렸다 ㅋㅋㅋ 추석 연휴 오후에 한번 해봐야지~

아유~ 별말씀을~

의뢰주신 분이 RS-485 및 홈네트워크에 조예가 깊으신 분이라 일이 금방금방 진행된 느낌~

덕분에 존재 여부조차 까먹었던 주방 비디오폰을 동작시켜봤고, 홈 IoT랑 연동할 수 있는 부분에 대한 귀중한 정보도 얻게 된 알찬 주말이었다

 

라즈베리파이 달기엔 약간 부피가 부담스러우니, esp32나 esp8266같이 WiFi 기능이 내재된 MCU(SoC) 보드 하나 구매해서 주방 비디오폰 뒤쪽에 달아놓고 이것저것 연동해봐야겠다! 

 

아무쪼록 주방 비디오폰 연동으로 고통받고 계시는 분들이 이 글을 읽은 뒤에 고통에서 해방되시기를 기원해본다!

끝~!

반응형
Comments