cvnet 월패드를 제어하기 위해서 하드웨어 설치를 마쳤습니다.
보통 월패드는 집안의 각종 기기와 rs485 통신을 합니다.
485는 편리함 때문에 일반적으로 케이블 두가닥에 여러 기기를 병렬로 연결하여 통신하는데 이런 방식을 멀티드랍이라고 합니다. 마스터에서 명령을 내리면 연결된 모든 슬레이브에서 그 명령을 받습니다. 동시에 응답하면 마스터에서 데이터를 해석할 수가 없기 때문에 보통 통신 프로토콜에 대상 기기의 아이디를 꼭 지정합니다. 마스터에서 명령을 보낼 때 특정 기기를 정해서 보내는 거죠. 그럼 모든 슬레이브에서 그 명령을 수신하지만 특정 아이디에 해당하는 슬레이브만 응답을 하는 구조입니다.
20여년 전에 회사에서 485 통신을 하는 프로젝트를 수행한 경험이 있습니다.
(구)도시철도공사의 지하철 5호선 구간 중 한강 하부를 지나는 구간 몇 곳의 터널의 상태를 모니터링 하는 프로젝트였는데 각종 센서로부터 취득한 값을 485 통신으로 센터에서 수집하였습니다. 이때 현장의 산업용 컴퓨터와 연결된 센서의 데이터와 산업용 컴퓨터를 원격 관리하기 위해서 통신 프로토콜을 설계하고 프로그램을 개발하여 운영하였습니다. 뭔가 문제가 생기면 터널 안으로 들어가야 되는데 지하철 운행이 중지된 후인 심야 시간에만 들어갈 수 있어서 최대한 원격으로 관리하기 위해서 산업용 컴퓨터에 있는 각종 프로그램을 실행하고 결과를 수신하는 등의 기능을 최대 중점으로 고려하여 개발했었습니다. 제 기억으로는 구축 후 8년 이상 문제없이 운영했었습니다.
20여년 전에 사용해던 485 통신을 다시 한 번 사용하는 기회가 왔네요.
월패드와 각종 기기의 명령 중간에서 수신하고 보내기 위해서 485 라인에 EW11을 연결합니다. EW11은 TCP/UDP Server/Client, HTTP, WebSocket, MQTT, Telnet 등의 프로토콜을 지원하며 집안에 연결된 PC 등에서 485 신호를 제어할 수 있습니다.
월패드의 기판 rs485 단자에 연결해도 되지만 월패드 분리하기가 번거롭고해서 유지관리를 위해서 외부 라인을 찾았습니다. 저희 집은 싱크대 아래에 난방 제어 기기와 연결된 케이블이 있어서 거기에 연결했습니다.
EW11 연결하고 각종 설정 후 시리얼 통신 프로그램으로 데이터가 제대로 올라오는지 확인했습니다.
cvnet 월패드는 통신 패킷이 0xF7로 시작해서 0xAA로 종료됩니다.
아래는 HomeAssistant에 애드온을 설치해서 수신한 데이터입니다.
이 애드온은 HA에서 기기별로 자동 인식 되는 것이 아니라서 불편하여 조금씩 시간내서 프로그램을 개발해야 되겠습니다.