HA+ESP8266+CC2530+CC2591 = Zigbee2Mqtt
home assistant 에서 zigbee2mqtt 를 사용중이다.
zigbee 장치는 보통 전용 브랜드의 게이트웨이나 브릿지에 연결된다 (휴 브릿지, 트로드프리 게이트웨이 등)
당연히 다른 회사 장비들 끼리는 호환이 제대로 되지 않고 브릿지도 비싸다.
Home assistant 를 꾸미고 범용으로 사용할 수 있는 zigbee coordinator 를 사용하는 방법이 몇가지 있는데 지원하는 장치가 많은 방식으로 가장 유명한게 ZHA와 Zigbee2mqtt 가 있다.
이번에 꾸민 HA+ESP8266+CC2530+CC2591 의 대략적인 동작 형태를 먼저 설명해보자면 아래와 같다.
동작 형태 HA+ESP8266+CC2530+CC2591
- Coordinator (CC2530+CC2591)를 serial 로 ESP8266 에 연결
- ESP8266 은 tcp serial server 로 동작
- zigbee2mqtt 는 hass.io 애드온으로 동작, ESP8266 tcp 서버에서 데이터 받아서 mqtt 서버로 보내줌
- hass.io 에 설치한 mqtt broker(서버) 에서 수신
- Home asssitant 통합구성요소에서 mqtt 장치 확인 및 사용
+ zigbee 장치 coordinator 와 페어링. zigbee2mqtt 프론트 페이지에서 페어링 모드 설정 및 결과 확인 가능
보통 CC2531 을 USB에 꽃아서 사용하는데 위와 같이 진행 한 이유는 NAS는 신발장 안에 있어서 zigbee 장치를 사용하 는 위치가 너무 멀어서다. 이렇게 esp8266과 합체하면 wifi로 연결되니 멀리 던져놓아도 된다. 그리고 CC2530+CC2591 이 무선 신호 증폭이 되어서 사용 가능 범위가 훨씬 넓다. (대략 2~3배)
생각보다 해야 할 일들이 많다.
준비물
- CC2530+CC2591 : 알리 익스프레스에서 구입 (약 8$ + 배송비 2$)
- ESP8266 또는 ESP32 구입 : ESP32가 더 좋긴 한데 집에 굴러다니는 wemos d1 mini(esp8266) 사용. (약 2$ + 배송비 0~2$)
- 점퍼 케이블, 인두와 납 : ESP8266 핀이 납땜 안되있을 경우 납땜이 필요하다.
- CC 디버거 또는 라즈베리파이 또는 ESP8266 : CC2530 에 펌웨어를 넣기 위해 필요하다. 나는 라즈베리파이 사용
진행방법
- 라즈베리파이로 펌웨어를 넣어준다.
아래와 같이 연결해줘야 한다. 핀맵 그림을 참조하자.
Raspberry Pi CC2531
GND GND
Pin 38 DD
Pin 36 DC
Pin 35 RST
- ESP8266 펌웨어를 TASMOTA ZBbridge 버전으로 넣어준다. (이 버전만 tcp server 사용 가능하다)
아래 사이트에서 tasmota-zbbridge.bin.gz 를 받아서 라이팅 하면 된다.
http://ota.tasmota.com/tasmota/release/ - 라이팅은 https://github.com/tasmota/tasmotizer 를 설치하고 esp8266(wemos d1 mini) 를 usb로 연결하고 바로 라이팅 하면 된다.
- wemos d1 mini가 재부팅 되면 wifi 로 TASMOTA 에 접속한 후 사용할 와이파이 SSID 와 비밀번호를 넣어준다.
그리고 재부팅 되는데 config에서 module 설정, General(18)로 재빨리 바꾸고 저장해준다.
1분쯤 지나면 wemos d1 mini가 초기화된다. zigbee 장치가 아니라서 그런 듯 싶다. - wemos d1 mini 와 CC2531을 연결해준다
여기서는 wemos d1 mini 의 D7, D8 을 TX RX 로 활용하였다.ESP8266 CC2530 3v3 VCC GND GND TX P02 RX P03 GND P20
- TASMOTA 설정
라이팅된 wemos d1 mini의 TASMOTA 로 접속해서 "Configuration", "configure Module" 에서 Rx, Tx pin을 맞게 지정해준다.
그리고 Tasmota 메인 화면에서 Console 로 들어가서 아래와 같이 입력해놓자. Rule1 ON System#Boot do TCPStart 8888 endon Rule1 1
- 이제 Zigbee2mqtt 의 configuration.yaml 파일을 열어서 해당 wemos d1 mini 에 연결되도록 ip와 포트를 지정해준다.
serial: port: 'tcp://192.168.2.13:20108'
이상하게도 Wemos d1 mini는 espeasy 에서 잘 안되더라....
기본 rx, tx pin을 사용해도 안되서 TASMOTA 로 진행했다.
이제 원하는 장소에서 usb 전원만 공급하면 원격 zigbee2mqtt 코디네이터로 사용하면 된다.
참조 링크 : https://www.zigbee2mqtt.io/information/connecting_cc2530.html
'집 꾸미기 > 스마트한 집' 카테고리의 다른 글
아파트 월패드 에너지 사용량 크롤링 후 HA 연동 방법 - 현대통신 (0) | 2023.03.07 |
---|---|
usb 선풍기를 스마트 선풍기로 개조하기 (0) | 2021.03.28 |
home assistant sql 사용하기 (0) | 2021.01.18 |
다원 WIFI 스마트 플러그 로컬화 시키기 (Home Assistant) (0) | 2020.11.10 |
타임랙 - 화장실 환풍기 10분 더 켜져있게 만들기 (0) | 2020.10.20 |