일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 힐스테이트 광교산
- SK텔레콤
- Apple
- 홈네트워크
- ConnectedHomeIP
- 코스피
- raspberry pi
- matter
- 미국주식
- MQTT
- RS-485
- 파이썬
- 공모주
- Bestin
- esp32
- homebridge
- 월패드
- 티스토리챌린지
- 현대통신
- 애플
- 나스닥
- 매터
- 국내주식
- Home Assistant
- cluster
- 오블완
- Espressif
- 해외주식
- Python
- 배당
- Today
- Total
목록홈네트워크(IoT)/광교아이파크 (42)
YOGYUI
Bentin 홈네트워크 월패드에서 제어 가능한 디바이스 대부분을 Apple Homekit에 액세서리로 연동하는데 성공했다 주방 및 서재, 침실, 컴퓨터방 조명 On/Off 거실, 침실, 컴퓨터방 난방 On/Off 및 온도 설정 환기(전열교환기) On/Off 및 풍량 설정 가스레인지 밸브 잠금 엘리베이터 호출 거실 조명 On/Off 2020년 12월 초부터 시작해서 2021년 3월까지 대충 4개월정도 걸린 것 같다 (재택근무하는 와중에 짬짬이 시간을 내서 하다보니 생각보다 길어졌다) Raspberry Pi 4도 새걸로 한개 마련하고, USB-Serial 컨버터도 여러개 구매하고 PCB도 제작하다보니 돈이 꽤 많이 들었다 (대략 30만원? ㅠㅠ 다음번 포스팅 때 정확한 금액을 산출해 볼 예정) 돈이 들어서 ..
4. 월패드 장착 월패드를 다시 뜯은 뒤에 제작한 보드를 연결 USB 케이블로 펌웨어를 이리저리 변경하면서 원하는대로 동작하는지 검증 ※ 실험하면서 2가지 큰 문제를 발견했다 [1] 터치패드 입력 라인 관련된 커넥터의 입력단과 출력단이 뒤바뀌었다 터치패드의 TS04 출력단은 J2의 6번 핀으로 나와서, J1의 5번 핀으로 들어가서 월패드로 신호가 인가되어야 한다 이 신호를 내가 만든 보드에서는 DAC 출력 신호를 인가할 지, 원래 터치패드의 신호를 인가할 지를 MUX를 통해 선택하고자 설계하려고 했다 그런데 회로 설계할 때 술기운이 남아서 그랬는지 MUX 스위치의 입력과 출력단을 반대로 설계해버렸다 TMUX1237의 Source 1번 (3번 핀)에는 LCMD_IN이 아니라 LCMD_OUT이 와야 하고, ..
3. Soldering IC칩, 커넥터 등 주문한 부품들이 모두 도착했다 대략 2주 정도 소요된 듯 (미국 텍사스 폭설로 인해 많이 지연됐다 ㅠ) 재빠르게 납땜을 해보자 1시간 정도 걸린거같다 너무 좁은 사이즈에 우겨넣다보니 손으로 납땜하는게 좀 까다롭긴 했지만...나름 빠르게 끝낸 것 같다 USB 현미경으로 IC 납땜도 확인해주자 (CP2102같은 QFN 패키지는 특히 수납시에 리드에 솔더가 안묻는 경우가 간혹 발생한다) 아니나다를까 CP2102 리드 한개가 제대로 납땜되지 않아서 금방 보강해줬다 잔여물 세척까지 해주자 (Flux 제거) 결과는!!! CP2102 USB-Serial 컨버터가 잘 작동하는지부터 확인해보자 COM PORT (COM3)가 제대로 잡힌다 테스트 코드 몇개 짜서 제대로 펌웨어가 ..
2. Design 미국 텍사스에 폭설이 와서 배송이 많이 지연될 것 같다는 연락을 받았다 마냥 기다리자니 뭔가 허전에서 회로 설계랑 PCB Artwork까지 미리 해두기로 결심 Bestin Wallpad 분해 후 동작 분석 결과, 거실 조명 제어를 위해 필요한 기능을 정리하면 다음과 같다 Micro Controller Unit (2 Port 이상의 GPIO 필요) 네트워크 연결 (best: 무선, WiFi) 월패드의 터치 패널도 기존과 동일하게 동작해야 함 (중요) 조명 상태 변경을 위한 Analog Voltage 출력 벽 내부에 장착될 수 있도록 PCB Dimension 최소화 비용 최소화 위 요구사항들을 토대로 필요한 IC들을 선정해봤다 IC Description ESP8266-12 (E or F) ..
1. Prepare 침실, 주방, 서재 등 소형 월패드로 제어 가능한 조명들은 모두 Home Network Gateway에 연결되어 있는 RS-485 통신선을 후킹하여 외부에서 접근이 가능한데, 거실 조명은 아무리 찾아봐도 게이트웨이에서는 달리 제어할 수 있는 방법을 찾을 수가 없다 어떤 구조로 제어가 되는지 알아보기 위해 월패드를 분리해봤다 예상한대로 벽면 안쪽에는 릴레이 모듈이 장착되어있다 최대 5개 조명까지 개별로 제어 가능하고, 조명 1-2번은 3로(three way) 스위치로 2 spot에서 제어할 수 있고 조명 3-5번은 단로 및 3로 겸용으로 사용할 수 있다 모듈 상단 Common 라인에는 AC 220V 라인 중 하나 (L인지 N인지 굳이 확인은 안해봤다)가 연결되어 있고 L1과 L2에 각각..
4. Homebridge 애플 홈킷에는 엘리베이터와 관련된 액세서리가 별도로 존재하는 것 같지는 않다 (검색 능력의 한계...) npm 액세서리 패키지 하나 개발할까 하다가 귀차니즘이 발동해서 그냥 MQTT 기반 '스위치'로 구현하기로 결심했다 엘리베이터 도착 시 아이폰으로 알림 기능을 구현하기 위해 '인체 감지 센서' 기능도 함께 구현하면 좋을 것 같다 { "accessory": "mqttthing", "type": "switch", "name": "Elevator Down (MQTT)", "url": "mqtt:://localhost:1883", "username": "yogyui", "password": "12345678", "topics": { "getOn": { "topic": "home/ipa..
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 패널 (터치는 안됨)에는 날씨 및 현재 시간이 디스플레이된다 아래 제어 패널들로는 집안 전체 조명 소등/점등 기능 및 가스 잠그기 및 엘리베이터 상행/하행 호출이 가능하다 그리고, 평소에는 꺼져있다가 사람이 근처에 지나가면 디스플레이가 켜지는 걸로 봐서는 모션 센서가 탑재된 것으로 보인다 엘리베이터 호출은 거실의 메인 월패드로도 가능하며 소형 월패드와 상호작용한다 (현재 엘리베이터 층수 표시) 엘리베이터가 우리집 층수에 도착하면 메인 월패드와 소형 월패드 모두 "엘리베이터가 도착하였습니다"라고 안내 음성이 방송된다 엘리베이터도 홈킷으로 호출해보고 싶어 홈네트워크 게이트웨이 배전반을 이리저리 만지면서 ..
[3] 동작 확인 'CLOSE' 명령 수행 밸브가 움직이고 있을 때 (state=2) 액세서리는 'CLOSED' 상태로 표기 'OPEN' 명령 시 바로 'CLOSED' 상태로 복귀 (listening port response) 외부 제어로 상태 변경 시 액세서리에 반영 반쪽짜리 액세서리이긴 하지만... 영 쓰잘데기없어 보이진 않는다 BUT!! '외출' 모드에 가스 잠그기 액션을 추가하고자 했는데, 액세서리 추가 탭에서 볼 수가 없다 잘못 만든 플러그인인가? TODO: 소스코드 좀 봐야겠다 (일단 아쉬운 대로) 끝! [시리즈 링크] 광교아이파크::가스 Apple 홈킷 연동 (1) 광교아이파크::가스 Apple 홈킷 연동 (2) 광교아이파크::가스 Apple 홈킷 연동 (3)
[2] Homebridge 연동 1. Homebridge Plug-in 설치 homebridge 플러그인 'valve' 키워드로 검색 후 @tommrodrigues의 homebridge-web-valve 플러그인 설치 (환기 때 사용한 web-fan 플러그인 개발자, API가 유사하여 선택) https://www.npmjs.com/package/homebridge-web-valve homebridge-web-valve Homebridge plugin for a web-based valve www.npmjs.com 환기와 유사하게 홈브릿지 액세서리 추가 { "accessory": "WebValve", "name": "Kitchen Gas Valve", "apiroute": "http://localhost:..
[1] Prepare 주방 가스레인지 옆 도시가스관을 보니 전자식 도시가스 개폐장치(신우전자, SV-20H)가 설치되어 있다 수동식 개폐기가 기존 가스관에 있어서 이중으로 차단...이 되고 있다 차단기 상단에 있는 컨트롤러에 연결되어 있는 flat cable을 쫓아가니 레이지 후드 상단 수납함에 있는 홈네트워크 통신 모듈 발견 모듈 이름은 '주거용주방자동소화장치(제어부,옥내용)'이고, 역시나 신우전자의 AFE-1020E 모델이다 (관련 링크) 모듈 아래에 소화제가 담긴 통이 있는걸보니, 화재 감지 시 자동으로 소화 기능이 동작하도록 설계된 것 같다 (테스트를 위해 불을 질러볼 수는 없으니...그냥 그런걸로) 역시나... 통신모듈의 프로토콜 명세서는 검색이 힘들었다 Home Network Gateway의 ..
[3] 동작 확인 Home App에 의한 환기 시스템 제어 외부 제어에 의한 상태 변경 시 갱신 풍량 설정 UX 반응 (3구간으로 나누어져서 각각 미풍, 약풍, 강풍에 대응) 조작해보니 풍량 조절 UX가 마음에 들지는 않는다. 버튼 형식으로 풍량 조절할 수 있는 플러그인이 있으면 갈아타야겠다 (애초에 0~100단계 지원되는 Fan 하드웨어가 있기는 한가? 실링팬?) 제조사 광고를 보면 24시간 풀가동하는게 집안 공기질을 위해 좋다고 한다 (소비전력 37W라 전기료도 얼마 안든다고 주장) 그런데 풍량을 미풍으로 설정해둬도 각 방마다 설치되어 있는 환기구가 작동할 때 약간의 저주파 진동음이 귀에 거슬릴 때가 있다 (특히 수면 시) 조금이나마 전기도 아낄겸, 집에 공기청정기도 빵빵하게 많이 돌아가고 있으니 야..
[2] Homebridge 설정 1. Homebridge 플러그인 설치 플러그인 검색 키워드로 ventilation/ventilate로 검색해보니 적당한 결과가 없어서 일반 선풍기처럼 사용하고자 Fan 키워드로 검색, @Tommorodrigues의 homebridge-web-fab 플러그인을 발견 https://github.com/Tommrodrigues/homebridge-web-fan Tommrodrigues/homebridge-web-fan Homebridge plugin for a web-based fan. Contribute to Tommrodrigues/homebridge-web-fan development by creating an account on GitHub. github.com (난방..
[1] Prepare 다용도실 천장에 설치된 환기장치 스티커 확대해보니 Bestin 제품 (아이파크 시공사 = HDC, Bestin = HDC아이콘트롤스 브랜드) 단지 내 홈네트워크 구축 위해 자체 제작하는 라인업이 있네 (아무래도 외부 업체 제품 사용하면 통신 프로토콜 변환 어댑터가 필요할테니) 제품 카테고리가 단순히 '환기' 장치가 아니라 '전열교환기'로 표기되어 있다 bestin.icontrols.co.kr/product/summary2_2.asp BESTIN 베스트인, 아이콘트롤스 bestin.icontrols.co.kr 전열교환기라는 단어 자체가 생소해서 검색 좀 해봤다 en.wikipedia.org/wiki/Energy_recovery_ventilation Energy recovery vent..