일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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텔레콤
- raspberry pi
- matter
- Home Assistant
- 매터
- cluster
- 오블완
- 공모주
- homebridge
- RS-485
- 힐스테이트 광교산
- Espressif
- 현대통신
- 배당
- Python
- 해외주식
- Bestin
- 홈네트워크
- esp32
- 미국주식
- 나스닥
- ConnectedHomeIP
- 티스토리챌린지
- 월패드
- 코스피
- 파이썬
- 애플
- 국내주식
- MQTT
- Apple
- Today
- Total
목록MQTT (17)
YOGYUI
현대통신 RS-485 연동코드: 엘리베이터 호기별 층수 및 이동방향 표시 엔티티 추가 (홈어시스턴트) 엘리베이터와 관련된 요구사항이 아래와 같이 추가되었다 요구사항: 엘리베이터의 층수 및 이동 방향을 HA에서 확인 어차피 엘리베이터 호출 후 RS-485 패킷에서 확인할 수 있는 층수랑 방향은 기존 코드에서도 모니터링할 수 있는데, HA랑 별도로 연동해두진 않았었다 이번 기회에 엘리베이터 호출 후 각 호기별 층수와 이동방향을 표기하는 HA 엔티티를 자동으로 추가하도록 코드를 조금 수정해봤다 commit id: f2b6efc600b4e691f549a97a6df91728a1a997da https://github.com/YOGYUI/HomeNetwork/commit/f2b6efc600b4e691f549a97a6..
지난 3월 20일, 현대통신 RS-485 코드가 적용된 HA 애드온 베타 버전을 출시하였으니, 편하게 애드온으로 사용하고자 하는 유저는 아래 링크 참고 Home Assistant add-on 베타버전 릴리즈 (이 글이 생각보다 유입이 많네...) 2023년 막바지에 HAOS에서 내가 깃허브(GitHub)에 올려둔 힐스테이트 광교산 소스코드(현대통신 HDHN-2000 월패드 RS485 연동)를 HAOS가 설치된 SBC/NUC에서 실행하는 방법에 대한 문의가 3건 가량 들어왔다 (간간히 블로그 방문자분들께서 직접 시도해보는 경우가 있는 것 같다~ wow) HAOS는 거의 사용해본 적이 없기 때문에, 이번 기회에 직접 설치하고 다뤄보면서 내 코드를 설정하고 실행하는 방법에 대해 간략히 정리해 포스팅하도록 한다..
Hyundai HT Wallpad - Automatic discover RS-485 devices and support Home Assistant MQTT discovery 지난주, 현대통신 월패드의 RS-485 연동 소스코드의 패킷 파서 클래스를 일원화하는 작업을 진행했다 현대통신 월패드 RS-485 연동 소스코드(python) 개선 작업 현대통신 월패드 RS-485 연동 소스코드(python) 개선 작업 Hyundai Wallpad RS-485 Python Source Code Enhancement 지난주 목요일 (6월 15일) 힐스테이트 소스코드 관련 지원 요청 이메일을 받았다 소스코드가 워낙에 조악하게 기능 구현에만 충실하게 짜놨다보니 디버 yogyui.tistory.com 지원 요청하신 유저분께..
싱크대 절수페달 IoT 연동 마지막 단계! 매주 아주 유용하게 쓰고 있는 LG전자의 물걸레 로봇청소기 코드제로 M9을 홈네트워크와 연동시켜보자 [목표] 로봇청소기가 청소중일 때, 싱크대 수전에 물이 흐를 경우 일정 시간이 지나면 수전 밸브가 자동으로 닫히도록 기능 구현 (물낭비 방지) 싱크대 절수 페달 및 수전은 아래 글과 같이 IoT 환경을 구축해뒀다 힐스테이트 광교산::싱크대 절수페달 IoT 연동하기 힐스테이트 광교산::싱크대 절수페달 IoT 연동하기 - Final 9. PCB 제작 지난주 수요일에 주문한 부품과 PCB가 어제(09/29) 모두 도착했다 (너무 오래 걸려 ㅠㅠ) 야무지게 납땜해주자 CP2102같은 IC들은 손으로 납땜할 때 냉납 발생이 잦으니 광학 검사는 필수! yogyui.tisto..
Access LG ThinQ API using Python 지난 글에서 Homebridge에 LG ThinQ 디바이스를 연동하는 방법에 대해 알아본 바 있다 Homebridge - LG ThinQ 연동하기 (애플 홈 연동) Homebridge - LG ThinQ 연동하기 (애플 홈 연동) Homebridge의 verified된 플러그인 중에 LG전자 ThinQ 앱과 연동할 수 있는 플러그인이 있길래 설치 및 사용 후기를 남겨본다 1. 플러그인 설치 플러그인 검색창에서 'ThinQ' 키워드를 입력한 뒤, Homebridge L yogyui.tistory.com 안타깝게도 내가 원하는 '로봇청소기'는 애플 홈킷의 Native 액세서리가 없어서 연동이 불가능했다 (짜증...) 결국 플러그인 소스코드를 깃허브에..
9. PCB 제작 지난주 수요일에 주문한 부품과 PCB가 어제(09/29) 모두 도착했다 (너무 오래 걸려 ㅠㅠ) 야무지게 납땜해주자 CP2102같은 IC들은 손으로 납땜할 때 냉납 발생이 잦으니 광학 검사는 필수! 인두기 팁을 좀 더 섬세한 걸로 바꿔야할 텐데... 매번 납땜할 때마다 생각만 하고 실천은 하지 못하는 중 ㅎㅎ 납땜 + 검사 + 클리닝 전체 과정에 대략 1시간 정도 소요됐다 나이를 먹어갈 수록 납땜 작업 속도가 느려진다 ㅠ 가로 5cm, 세로 4.3cm 크기로 손바닥에 착 감기는 귀여운 크기 저항, 캐패시터를 1005 사이즈로 바꾸고 커넥터 위치를 최적화하면 4cm X 4cm 정도로 줄일 수는 있을 것 같다 (시도해보진 않겠지만~) JATA 본체와 절수 페달에 장착된 JST 커넥터를 Mo..
7. MQTT 연동 프로토타이핑 (EPS32) WiFi가 내장된 MCU를 뭘 쓸까 10초쯤 고민하다가, 그냥 쓰기 쉬운 ESP-32를 쓰기로 결정! (집에 devkit이 서너개 굴러다니고 있어서 프로토타이핑 비용이 안든다는게 가장 큰 선정이유 ㅋㅋ) 프로토타이핑 schematic은 아래와 같이 구성해봤다 (초창기 설계에 릴레이가 추가됐는데, 추가 이유는 아래 세부항목에 기술) 릴레이(Relay)의 Common에 JATA 본체 커넥터와 연결하고, NC(Normal Close)에 풋스위치 케이블 연결 - 릴레이가 작동중이지 않을 때 기존과 동일하게 JATA 본체와 풋스위치가 연결되어 있는 효과 - MCU가 작동중이지 않을 때 (전원 비인가 등)도 절수페달은 정상동작 가능 릴레이 NO(Normal Open)에..
내가 구현한 Bentin 홈네트워크 - Homebridge 연동 시스템은 모든 디바이스(액세서리)가 MQTT토픽 발행/구독 메커니즘으로 동작한다 Homebridge와 유사하게 Home Assistant(HA)도 MQTT로 동작하는 디바이스를 손쉽게 추가할 수 있다 모든 작업은 configuration.yaml 설정파일을 수정하는 것이므로, VSCode 등을 통해 외부 기기(랩탑 등)에서 SSH로 접속해 작업하는게 편하다 HA 최초 설정 시에는 설정 파일의 소유자가 root로만 구성되어 있기 때문에 외부에서 수정 후 저장할 수 없으므로 이를 바꿔줘야 한다 sudo chown pi configuration.yaml sudo chmod g+w configuration.yaml 1. MQTT 설정 다음 스크립트..
며칠전에 공공데이터포털에서 Open API로 대기오염정보를 가져오는 글을 포스트했다 공공데이터포털::대기오염정보 조회 (REST API) 3600: call_api = True else: call_api = False if call_api: url_base = "http://apis.data.go.kr/B552584/ArpltnInforInqireSvc" url_spec = "getMsrstnAcctoRltmMesureDnsty" url = url_base + "/" + url_spec api_key_decode = requests.utils.unquote(self._api_key, encoding='utf-8') params = { "serviceKey": api_key_decode, "returnTy..
전원 콘센트 관련 Homebridge 액세서리는 다른 액세서리들과 마찬가지로 Mqttting 플러그인을 사용해 구현하기로 했다 https://github.com/arachnetech/homebridge-mqttthing#readme GitHub - arachnetech/homebridge-mqttthing: A plugin for Homebridge allowing the integration of many different accessory types us A plugin for Homebridge allowing the integration of many different accessory types using MQTT. - GitHub - arachnetech/homebridge-mqttthing:..
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이 와야 하고, ..
1. Hardware 중국 Kuongshun Electronic사에서 제작한 AM2302 온습도 센서가 장착된 모듈 (DFRobot, Adafruit, Sparkfun 등 다양한 서드파티에서 만든 모듈이 있으니 입맛대로 골라 사면 된다) DFRobot 공식 소개 페이지: SKU:SEN0137 DHT22이라는 이름으로도 널리 알려져있으며(DHT는 Digital Humidity and Temperature의 약자), 아두이노 입문자가 아마도 가장 먼저 접하게 되는 센서 중 하나 (워낙에 저렴하다보니 왠만한 Starter Kit에는 기본으로 포함되어 있는 것 같다) SPI나 I2C가 아닌 1-line digital 데이터 통신 방식이기 때문에 코딩 입문자를 위한 도전과제로도 적당하다 DHT22/AM2302 데..
ESP8266 WiFi Module에서 MQTT 프로토콜로 메시지를 구독(subscribe) 및 발행(publish)해보자 (Arduino IDE 기반) MQTT broker(mosquitto)는 현재 라즈베리파이에서 구동중이다 (자세한 내용은 링크를 참고) ※ 본 포스팅에서는 GPIO에 연결된 LED 한개를 On/Off하는 단순한 예시를 다룬다 1. 라이브러리 설치 라이브러리 매니저에서 "PubSubClient"를 검색 후 설치 (PubSubClinet API 문서 링크) [옵션] EspMQTTClient: PubSubClient 라이브러리를 기반으로 구현한 ESP8266/ESP32에 특화된 라이브러리 ESP기반 MQTT 사용시 코드 간소화가 가능하다 라이브러리 포함하기 - PubSubClient 항목..
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..