posted by ShinJjang 2018. 9. 4. 22:50

더운 여름이 이제 거의 지나갔지만 이번 여름은 정말 더웠던것 같다. 에어컨이 없으면 어떻게 했을까? 라는 생각을 이번 여름 내내 했다. 하지만 한편으로는 전기세 걱정때문에 틀고도 마음이 편하지 않았다.



그러다 ST까페에서 에어컨 실외기 수냉시키기 글을 보고 예전에 킥스타터에서 본 미스트 장치(아래)가 떠올랐다. 



댓글에도 링크가 있지만 미스트박스는 가격이 너무 비싸다. 그래서 '한번 만들어 보면 어떨까?' 생각하고 실행에 옮겼다. 





1. 미스트 장치 만들기



먼저 미스트 박스를 만들기 위해서 인공적으로 미스트를 만들어야하고 아래와 같은 장치가 필요하다.


     


미스트 장치 : 미스트 노즐과 펌프, 그리고 정수기용 호스와 이음관, 필터, 밸브 등등





그리고 미스트 장치를 컨트롤하기 위해 Wemos D1, 12V 파워서플라이, 5V 릴레이를 이용해서 아래와 같이 만들었다. 





그리고 아래 처럼 구성하였다. 20리터 물통에 첫번째 사진 처럼 장치를 하고 방수를 위해 하이박스에 펌프를 넣었다. 왼쪽은 침실용 미스트 장치 펌프이고 오른쪽은 거실용 미스트 장치 펌프이다.

 




그리고 미스트 노즐을 케이블 타이로 적절한 위치에 배치하였다. 

 


참고로 처음 3장의 사진은 2주전에 1차로 만들었을때 사진이다. 처음에는 노즐 6개로 만들었는데 이번에 12개로 업그레이드하였고 펌프도 60W에서 15W로 낮추어서 다시 만들었다. 노즐은 조금 작은것 같아 늘렸는데 12개는 너무 많은것 같다. 펌프는 60W는 너무 시끄럽고 출력이 높아서 15W로 낮추었는데 이것도 전혀 모자라지 않은것 같다. 





2. 미스트 장치 제어하기


미스트 장치를 만드는것도 중요하지만 제어하는것 또한 중요하다. 제어를 위해서 Wemos D1에 릴레이를 달아 ST에 연결하였다. 



아래 사진 처럼 ST에서 제어하기 위해 Wemos용 DTH를 만들어 등록했다.


DTH를 만들때 미스트 장치에서 미스트를 계속해서 뿌리는 것은 비효율적이라 작동할때 미스트 작동시간과 휴지 시간을 정할수 있도록 하였다.  그리고 ESPeasy를 이용해서 릴레이를 연결한 후 ESP의 IP주소와 릴레이에 연결된 Pin만 설정해주면 된다. 



또한 에어컨의 전원에 따라 미스트 장치가 작동하는 것이 아니라 실외기가 작동 할때만 미스트 장치가 작동하도록 해야한다. 



그래서 처음에는 도어센서를 이용해 실외기의 작동유무 판단하도록 했는데 아기나무집님의 미커넥터가 샤오미 AC Partner의 실시간 전력량을 리포팅하는 것을 이용해서 가상 스위치로 실외기(시각적 편의를 위해)를 만들었다. 그리고 난 후 Web Core를 통하여 실외기가 켜질때만 미스트 장치가 켜지도록 자동화 하였다.





아래 영상을 통해 확인해보면 알겠지만 실외기가 작동할때만 미스트 장치가 켜지고, 실외기가 작동하지 않으면 미스트 장치는 꺼지게된다. 영상에서는 중간에 리모컨을 이용하여 온도를 올려 실외기가 작동하지 않도록 하였다.




아래 영상은 미스트 장치가 작동하는 영상이다. (뒤쪽 공간이 부족하여 촬영 각도가 좋지 못함)






3. 실제 전기 에너지 사용 비교



무엇보다도 전기에너지 절감에 효과가 있는지가 가장 중요하다. 테스트 결과는 아래와 같다. 


먼저 실험실과 같은 통제된 환경에서 테스트되지 못하기 때문에 정확하지 않을수 있다. 

하지만 변인을 최소화하기 위해 외부 온도 변화가 적은 시간대와 방문을 통해 외부인(가족들)의 출입이 없는 시간대를 택했다. 



아래 두장의 사진을 통해 테스트 시간대에 실외와 실내의 온도변화 그래프이고 거의 변화가 없음을 알 수 있다. 




아래는 미스트 장치를 켜지 않았을때 에어컨의 전력 소비량그래프이다.



아래는 미스트 장치를 작동 시켰을때 에어컨의 소비전력량 그래프이다.



아래는 시각적으로 파악하기 쉽도록 포토샵을 이용하여 두개의 그래프를 중첩하였다. 



프로그램에서 구간의 소비전력량을 구해 주지 않기때문에 위의 그래프를 픽셀단위로 계산하여 면적값을 구하여 전력량을 비교하였다. 

면적값을 일일이 계산하고 더한 값을 종이에 적어두었는데(2주전에) 모르고 버려버렸다. 그래서 결과 값만 알고있다.



미스트 장치를 사용하지 않을때 전기 소비량을 100이라 하면


미스트 장치를 사용할때 전기 소비량은 80이었다.


하지만 미스트 장치(60W)를 사용함으로써 발생하는 전기 소비량이 2였다. 하지만 지금은 15W 펌프로 교체하였기 때문에 0.5로 줄었다. 



따라서 결론적으로 19.5%의 전기 에너지 절감효과가 있었다. 



미스트 박스에서는 20~30%의 에너지 절감효과를 볼수있다고 말한다. 실제로 실험 시간대가 새벽이고 물의 기화열 효과가 적은것을 감안하면 한 낮에는 더 큰 효과가 있을것이라 생각된다.


차후에 추가 테스트를 하게되면 결과를 추가하도록 하겠다.

댓글을 달아 주세요

  1. mr.sung 2019.01.19 04:14  Addr  Edit/Del  Reply

    esp easy로 4 relay module 연결어찌하나요..

  2. mr.sung 2019.01.19 04:15  Addr  Edit/Del  Reply

    esp easy를 외부에서 접속할수있게하는 방법있나요?

posted by ShinJjang 2018. 5. 22. 17:11

종전에 스마트홈 까페에 올렸던 샤오미 커튼 DTH 이다. 


  •  오픈, 클로즈시 완료타이밍에 맞춰 정확하게 상태반영 인식
  •  수동으로 커튼 조작시에도 ST에 상태 반영
  •  홈킷에서 쉐이드로 인식하여 '열어', '닫아' 등의 명령으로 조작 가능
  •  ST와 홈킷 거의? 완벽 싱크
  •  커튼 열림정도를 1퍼센트 단위로 조절 가능
  •  현재 커튼의 열림상태에따라 Open, Partialy Open, Closed의 세가지 상태로 표시


Smartthings App








Smartthings App 작동영상 



Homekit 작동영상 



Smartthings App  & Homekit 




XiaomiCurtainDTH_V.1.1 (1).txt




댓글을 달아 주세요

posted by ShinJjang 2018. 5. 14. 23:51

이전 글에서 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 파일(플러그인 설치 주소 파일)에 아래의 주소를 추가하면 된다. 


  • CO2 센서
  • 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 적용 화면


    홈킷에 적용하면 아래와 같이 장치가 등록된다. 


    댓글을 달아 주세요

    1. Makelism 2018.05.22 07:06 신고  Addr  Edit/Del  Reply

      이거 따라할 생각하니 설레네요.
      UV 센서 오면 빨리 세팅해야겠어요.

    2. 고야한 2019.06.05 20:45  Addr  Edit/Del  Reply

      안녕하세요
      덕분에 쉽게 센서를 연결하였는데, 홈앱에서 이산화탄소 수치를 불러오지 못하는데 이유가 뭔지 알 수 있을까요??
      블로그를 보고 MH-19와 TSL 조도센서를 이용해서 만들어서 연결하엿는데 조도센서의 경우 값을 정확히 불러오는데 이산화 탄소와 온도 센서의 경우에는 값을 불러오지 못하는데 어느부분이 오류인지 알고싶어요!
      꼭 해결하고싶어요!!

      • ShinJjang 2019.06.14 11:49 신고  Addr  Edit/Del

        espeasy에서는 값이 뜨는데 홈킷앱에서 뜨지 않는거라면 espeasy에 controller설정에서 포트가 8286으로 되어있는지 그리고 publish 내용이 같은지 확인해보세요.