이전 글에서 ESP8266을 이용해 CO2센서를 만들고 ST에 장치로 등록하고 Homebridge-Smartthings를 이용해서 Homekit에 등록하였다. 하지만 가끔 ST의 장치DTH에 runin함수 오류로 센서값을 불러오지 못하는 경우가 있는데 이 경우 당연히 홈킷에서도 그 값이 반영되지 않는다.
그래서 ESP8266에서 홈킷으로 바로 정보를 전달할 수있는 방법을 찾아보다 UDP-JSON플러그인을 알게되었다. 홈브릿지에서 UDP통신으로 올라오는 값들을 캐치해서 홈킷 장치에 그 값을 반영할 수 있게 해주는 플러그 인이다. 그래서 이 플러그인을 참조해서 센서별로 홈브릿지용 플러그인을 만들었다.
아래 설명은 이전 글에서 ESP8266을 이용해 CO2센서를 만들가 수행되어있다는 가정하에 진행된다.
1. ESP Easy UDP설정하기
먼저 Controllers로 이동하여 Edit를 클릭하여 Protocol을 Generic UDP로 선택한 후 아래 처럼 세팅하면 된다.
Locate Controller: Use IP address를 선택
Controller IP: 홈브릿지가 설치된 라즈베리 Pi나 시놀로지 나스의 로컬 IP입력(당연한 이야기지만 ESP8266이나 홈브릿지가 설치된 서버는 고정 IP로 설정후에 작업하는게 좋다)
Controller Port: 다른 장치들과 겹치지 않도록 UDP포트를 설정하면된다. 이 포트는 홈브릿지 Config파일과 설정이 같아야 한다.
Controller Publish: 센서와 홈브릿지 플러그인별로 정형화된 형태로 그대로 넣어야 한다.
- CO2센서
2. homebridge config.json파일 설정하기
ESP Easy설정이 끝나면 먼저 config.json파일의 "accessories" 항목에 아래와 같이 추가하면 된다. 센서별로 추가하면 되며 현재는 CO2센서, 조도센서, 온습도센서에 대한 플러그인만 있으며 아래와 같이 설정하면 된다.
- CO2센서
"name": 원하는 장치명 설정 - 필수 설정
"temperatureOn": true이면 온도 장치를 홈킷에 추가, false이면 추가하지 않음 - 선택 설정(기본 true)
"carbonDioxideSet": 홈킷에서 이산화탄소 비정상 경고메세지 기준 농도값 설정 - 선택 설정(기본 1200)
"listen_port": UDP통신 포트 설정값으로 ESP Easy의 설정과 같아야 한다. - 선택 설정(기본 8268)
"accessories": [
{
"accessory": "ESPCO2",
"name": "Jusensor",
}
]
OR
"accessories": [
{
"accessory": "ESPCO2",
"name": "Jusensor",
"temperatureOn": false,
"carbonDioxideSet": 1300,
"listen_port": 8267
}
]
조도 센서는 별다른 설정을 할 필요는 없다.
"name": 원하는 장치명 설정 - 필수 설정
"listen_port": UDP통신 포트 설정값으로 ESP Easy의 설정과 같아야 한다. - 선택 설정(기본 8269)
"accessories": [
{
"accessory": "ESPLUX",
"name": "Julux"
}
]
조도 센서는 별다른 설정을 할 필요는 없다.
"name": 원하는 장치명 설정 - 필수 설정
"listen_port": UDP통신 포트 설정값으로 ESP Easy의 설정과 같아야 한다. - 선택 설정(기본 8266)
"accessories": [
{
"accessory": "ESPTH",
"name": "ESPSen"
}
]
3. 홈브릿지 플러그인 설치하기
도커를 이용할 경우
install.sh 파일(플러그인 설치 주소 파일)에 아래의 주소를 추가하면 된다.
npm install -g shin4299/homebridge-esp-co2
npm install -g shin4299/homebridge-esp-lux
npm install -g shin4299/homebridge-esp-th
라즈베리 파이를 이용할 경우
아래의 주소를 이용하여 설치하면된다. 라즈베리의 경우 직접해보지 않아 정확하지 않음
CO2 센서
npm install -g https://github.com/shin4299/homebridge-esp-co2
npm install -g https://github.com/shin4299/homebridge-esp-lux
npm install -g https://github.com/shin4299/homebridge-esp-th
4. Homekit 적용 화면
홈킷에 적용하면 아래와 같이 장치가 등록된다.
'ESP for IOT open' 카테고리의 다른 글
ESPEasy 커스텀 펌웨어 만들기 (0) | 2018.09.11 |
---|---|
ESP8266, Wemos, NodeMCU 플래쉬 초기화하기 (0) | 2018.09.11 |
ESP로 ST용 이산화탄소 조도 센서 만들기 (13) | 2018.05.01 |
ESP8266으로 IOT 시작하기 2 - ESP Easy설치 (4) | 2018.04.29 |
ESP8266으로 IOT 시작하기 1 - 필요한것들 (1) | 2018.04.28 |