posted by ShinJjang 2019. 5. 21. 00:46

우리나라 주택의 전등 스위치는 대부분 Load선과 부하선으로 이루어진 2선식이다. 

하지만 전력을 필요로한 IOT스위치의 경우 대부분 3선식이다. 그래서 3선식의 IOT스위치를 설치하기 위해서는 별도로 중성선 시공을 해야만 한다. 

 

우리나라 제품중에 이젝스의 경우 Zigbee방식의 2선식 스위치를 보유하고 있다. 하지만 이제품의 경우 몇가지 단점이 있다. 

1. 가격이 비싸다.

2. 최소 30w 이상의 부하가 연결되어야 한다.

필자의 경우 거실과 큰방을 제외하면 대부분 LED등으로 30W 미만이다. 

3. 스위치 버튼이 정전 터치식이다.

물론 터치식 버튼을 선호하는 사람들도 있겠지만 스위치는 손의 감각만으로 켜고 끄는것이 익숙할 뿐만 아니라 편하다. 

4. 버튼을 표시하는 LED

손의 감각만으로 켜고 끄는 것이 힘들기 때문에 정전터치식 스위치는 소등시 위치를 표시하기 위한 LED가 반드시 존재한다. 하지만 빛에 민감한 경우 이 빛이 상당히 거슬린다.

 

2선식 중국 제품들 중에 가격적인 부분의 단점을 해결한 스위치는 몇가지 존재한다. 하지만 위의 단점을 모두 해결한 스위치는 필자가 알기로는 Xiaom Aqara Wall Switch가 유일하다. 

 

 

하지만 문제는 스위치 규격이 다르다는 것이다. 중국의 경우 스위치 사이즈는 86mm X 86mm이다. 

 

사실 필자의 경우 샤오미 벽 스위치를 2년 전에 구입하여 설치하였는데 벽을 깍아 내거나, 86mm박스를 구입하여 노출하여 설치하거나, 나무를 덧대어 설치하였다.

 

그러다 어제 갑자기 무슨 바람이 불었는지 최소 높이로 샤오미 벽스위치를 설치할수 있도록 변화 박스를 3D로 모델링한 후에 3D 프린터로 출력하였다. 

 

우측은 어제 뽑은 V1이고 좌측은 오늘 수정해서 뽑은 V2이다.

우리나라 박스는 세로로 길기 때문에 벽에 고정하는 나사홈을 슬라이드식으로 만들었다. 아래 설치 동영상을 보면 쉽게 이해가 갈것이다.

설치 동영상

설치 사진

 

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%의 에너지 절감효과를 볼수있다고 말한다. 실제로 실험 시간대가 새벽이고 물의 기화열 효과가 적은것을 감안하면 한 낮에는 더 큰 효과가 있을것이라 생각된다.


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

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. 1. 00:15

ESPCO2_DTH.txt

0. 시작하기 전에


ESP8266을 이용하여 처음 만든건 이산화탄소 농도 측정기이다. 


 사실 Netatmo를 사용하여 이산화탄소농도를 측정해보기 전에는 이산화탄소농도에 대해 중요하게 생각하지 않았다. 

(Netatmo에 대한 자세한 내용은 Makelism님의 글을 참조하면 좋다)



 왜냐하면 우리집은 단독 주택이고 침실에는 4짝으로된 아주 큰 창이 있고 창문을 닫아도 틈이 생각보다 많기 때문에 이산화탄소 농도가 높지 않을것이라고 생각했다. 하지만 Netatmo를 처음 설치하고 내 생각이 아주 잘못되었음을 알게되었다. 


대기중의 이산화탄소농도는 400ppm정도인데 이산화탄소 농도에 따라 아래와 같은 신체 영향을 유발할 수 있다고 한다. 


농도(ppm)

영   향

~450

  건강한 환기 관리가 된 레벨

~700

  장시간 있어도 건강에 문제가 없는 실내 레벨

~1000

  건강 피해는 없지만 불쾌감을 느끼는 사람이 있는 레벨

~2000

  졸림을 느끼는 등 컨디션 변화가 나오는 레벨

~3000

  어깨 결림이나 두통을 느끼는 사람이 있는 등 건강 피해가 생기기 시작하는 레벨

3000~

  두통, 현기증 등의 증상이 나오고, 장시간으로는 건강을 해치는 레벨

*우리나라의 경우 실내환기조건을 1000ppm으로 권고하고 있음


 실제로 침실을 장시간 비웠을때 400ppm 초반으로 낮아지는데 밤에 퇴근후 아내와 함께 방으로 들어가면 창문을 닫아 놓을 경우 불과 30분이면 1200ppm을 넘어서고 잠시후면 1500ppm을 넘어선다. 


 종전에 자고 일어나면 머리가 아픈경우가 종종있고 자고 일어나도 피곤함이 계속 남아있는 느낌이 많았는데 그것이 이산화탄소 농도때문이라고는 전혀 상상하지 못했다. Netatmo를 통해 환기의 중요성을 알고는 창문을 10Cm~20Cm는 항상 열어 놓는다. 그렇게 하면 침실의 이산화탄소 농도가 800ppm내외로 유지된다. 하지만 조금있으면 여름이라 다른 대안을 마련중이다.


 아무튼 실내의 이산화탄소농도를 적절하게 유지하는것은 요즘 이슈가 되는 미세먼지 만큼 중요하다. 그래서 아이들 방에도 이산화탄소 센서를 두고 싶은 마음에 Netatmo 추가 모듈을 구입할까 고민했지만 가격도 비싸고($79-약 9만원/+배송비) 연결성의 문제때문에 고민하고 있다 ST까페의 af님의 글을 통해 ESP8266으로 직접 만들어 보기로 했다. 



아래의 내용을 따르기 전에 먼저 이전에 작성된 아래의 두 글의 내용을 알고 있거나 선행하여야 한다.

ESP8266으로 IOT 시작하기 1 - 필요한것들

ESP8266으로 IOT 시작하기 2 -ESP Easy 설치하기



ST용 센서를 만들기 위한 전체적인 과정은 처음 접하면 어려워 보이지만 사실 아주 간단하다. 좀더 이해를 돕기 위해 전체과정을 요약해보면 다음과 같아. 


ESP8266에 펌웨어설치 - ESP Easy 설정 - ESP8266에 센서연결 - ST에 DTH설치 및 장치생성 - STapp에서 장치 연결




1. ESP Easy 디바이스 설정하기 


ESP Easy를 이용하면 펌웨어에서 지원하는 장치들은 아주 쉽게 연결하고 사용할 수 있다. ESP Easy에 접속하여 Device항목에서 장치를 선택하면 아래 사진 처럼 장치 이름 옆에 "?"가 있고 "?"를 클릭하면 해당 장치와 연결방법등 자세한 내용을 확인할 수 있다. 



1-1. 이산화탄소 센서 설정하기


먼저 이산화탄소 센서를 연결하기 위한 정보를 확인해 보자. Device에서 Gases-CO2 MH-Z19를 선택하면 아래와 같은 화면을 볼수있다.

그럼 위와 같이 설정을 한다. 1st GPIO와 2nd GPIO는 아래 센서의 TX, RX와 연결할 핀을 선택하는 부분이다. 위 처럼 선택하면 된다. 그리고 아래 이산화탄소 센서의 Tx, Rx부분에 연결하면 된다.  

아래로 스크롤하여 아래부분 처럼 설정하면된다. 


참고로 Formula부분은 센서의 값을 보정하는 수식을 넣을수 있는 곳이다. 예를 들어 이산화탄소농도가 대기중에 노출했을때 450ppm이 나온다면 이값을 0.9를 곱하거나 50을 빼서 400ppm으로 맞추어 줄수있다. 




1-2. 조도 센서 설정하기


이산화탄소외에 조도센서도 필요하여 조도센서도 연결하였다. 조도센서가 있다면 아래와 같이 설정하면 된다. 



조도 센서의 경우 작동 전압이 3.3V이기 때문에 
VCC는 ESP8266의 3.3V 핀에 연결하고 
GND는 ESP8266의 GND핀에 연결하면 된다. 그리고 
SCL은 ESP8266의 D1핀에 연결하고
SDA는 ESP8266의 D2핀에 연결하면 된다. 



위와 같이 설정하고 Close를 누르고 나오면 아래와 같이 두개의 장치가 등록된 화면을 볼 수 있다. 




2. 브레드보드에 ESP와 센서 연결하기 


 브레드보드를 이용하여 ESP8266과 장치를 연결하기위한 가장 흔한 방법은 점프 선을 이용하는 것이다. 점프선은 보통 이전 글에서 소개한 두종류가 가장 많이 쓰이는데 조도센서와 이산화탄소는 서로 다른 점프선을 이용하여 연결하여 보았다.


 브레드보드는 아래 첫번째 사진의 설명처럼 가로 5칸이 서로 연결되어있다. 그래서 같은 5칸안에 핀이 꽂히면 점프선을 이용하여 연결해 줄 필요가 없다. 하지만 대부분 다른 곳에 연결되기 때문에 점프선을 이용하여 아래처럼 연결해주어야한다. 

  

 위 사진처럼 조도 센서를 연결하는데 사용한 점프선의 경우 장치를 연결하기 전에 핀번호를 확인하고 미리 꽂아서 사용하는데 깔끔하게 설치할 수 있는 장점이 있다.


  

 아래 사진처럼 이산화탄소센서를 연결한 점프선은 공간을 많이 차지하지만 장치를 미리 배치한 후에 핀을 연결할 수 있기때문에 설치하기가 편한 장점이 있다. 


  



 아래처럼 ESP8266에 OLED 디스플레이를 연결하여 센서에서 측정된 값이나 할당 받은 IP주소등을 직접확인 할 수도 있다. 아니면 LED를 이용하여 특정 농도이상일때 점등하여 상태를 표시할수도 있다.





3. ST와 연결하기



3-1. ST IDE사이트에 장치 추가하기


 ST와 연결은 첨부된 DTH를 다운로드하여 IDE사이트에 추가한 후 아래처럼 My Device항목에서 원하는 이름으로 장치를 추가해주면 된다. 




3-2. ST app에서 ESP8266 연결하기


IDE사이트에서 추가한 장치에 들어가면 아래와 같은 화면을 볼 수 있다. 그럼 우측 상단의 톱니모양의 설정 버튼을 누르면 오른쪽 화면이 나오는데 여기서 ESP8266이 할당받은 IP주소(192.168.31.81)을 입력하고 CO2업데이트 주기를 설정해준다음 Save를 눌러준다. 




설정해주면 아래처럼 측정값들을 ST에서 불러오는 것을 확인할 수 있다.



4. 기성 제품과 비교하기 


4-1. Netatmo와 ESP8266의 이산화탄소 측정결과 비교


 두 말할 필요가 없다. 아래 비교 결과를 보자.  같은 시간대에 어플에 표시된 수치를 비교한 것이다. 평균적으로 ESP8266용 이산화탄소 센서의 농도가 조금더 높다. 어느값이 더 정확한지는 알수가 없다. ㅠㅠ 그리고 ESP8266의 경우 측정값을 임의로 보정해 줄수 있다.




아래의 그래프는 측정값을 그래프로 비교한 것이다. 시각적으로 좀더 비교가 쉬울것 같다. ESP8266의 경우 데이터를 Ubitos에 업로드하여 그래프로 시각화한 것이고 Netatmo의 경우 아이폰에서 가로모드로 변경하였을때 제공하는 그래프를 여러장 캡쳐하여 포토샵을 이용하여 붙인 후 두개의 그래프를 겹친것이다.


사실 어떤 장치가 더 정확한지 알수는 없지만 농도의 증가와 감소를 비교해보면, 그리고 나와 아내의 출입 시간등을 고려해보면 둘다 높은 신뢰도를 보여주는 것으로 유추할 수 있다. 



4-2. 조도 센서 비교하기


 사실 Smartthings를 사용하면 다양한 센서류를 사용가능하다는 장점이 있지만 사실 만족스러운 조도센서를 찾기는 쉽지않다. 왜냐하면 첫째는 리포팅 주기이다. 대부분 조도센서를 포함한 장치들이 조도 리포팅 주기가 빠르지 않은 경우가 많거나 미세한 변화에는 수치가 바뀌지 않거나 리포팅하지 않는 경우가 대부분이다. 


 그리고 두번째는 조도 센서를 이용하여 자동화 하려다 포기한 이유이기도 한데, 바로 저조도에서 분별력이 없다는 것이었다. 

 조금 어두우면 조도값이 무조건 '0'이다. 그래서 휴 취침등이 켜져있으나 꺼져있으나 조도값이 '0'이기 때문에 자동화 자체가 불가능하다. 그럼 ESP8266의 조도 센서는 어떨까? 그래서 에이온 멀티센서의 조도값과 비교해보았다. 비교환경은 아래 사진처럼 침대 헤드보드 위, 휴 벌브 아래에 위치 시켜 휴의 밝기에 따라 변화되는 값을 측정해 보았다. 조도 센서는 최대한 비슷한 위치에 두고 테스트 하였다.




그 결과는 아래 사진을 보면 바로 비교가 될것 같다. 결론 부터 말하면 저조도에서의 분별력은 기성제품보다 훨씬 뛰어나다. 




아래는 휴에서 밝기가 가장 낮은 상태이며 사진은 실제 눈으로 봤을때보다 약간 밝은? 거의 비슷한 정도이다. 에이온 센서의 경우 벌써 조도가 '0'이지만 ESP센서의 경우 3.4lux값이다. 


아래 사진은 방에 모든 등이 꺼진 상태이며 맞은편 벽에 TV가 켜져 있는 상태이다. 에이온은 '0'이지만 ESP센서의 경우 '0.9'의 값으로 빛을 감지한다. 


위의 상태에서 손으로 ESP센서부위를 1Cm정도 위에서 덮으면 조도값이 '0'으로 바뀐다. 




5. 홈킷과 연동


당연히 homebridge-smartthings를 이용하여 홈킷과 연동이 가능하도록 DTH를 만들었다. 홈킷에서는 CO2센서, 온도센서, 조도센서의 3가지 장치로 표시된다. 


홈킷에서는 1200ppm이상이면 경고알림이 뜬다. 




6. 알아야할 것 들


1. ESP8266은 상당히 안정적으로 작동한다. 하지만 WiFi기반이기 때문에 WiFi네트워크에 문제가 있거나 연결이 끊어지면 ST에서 정보를 가져올 수 없다. 


2. ESP8266에서 ST로 정보를 보내는 방식이 안정적이고 좋으나 내가 그 정도의 실력이 되지 않아 현재는 ST에서 ESP8266의 json값을 가져와 상태를 반영하는 방식이다. 그런데 ST의 DTH의 시간 함수 run이 정상적으로 작동하지 않을때가 있는데 그러면 데이터를 가져오지 않을수도 있다.그때는 refresh를 해주어야 한다. 물론 이런 경우는 아주 드물긴하다. 


3. 이산화탄소 센서는 캘리브레이션(보정)이 필요하다. (co2meter.com참조)


3-1. 신선한 야외공기에 장시간 노출하여 이 때값이 400ppm이 되도록 보정하는 방법

이는 주1회나 월1회 정도 신선한 공기에 노출하여 보정해주면 된다.


3-2. ABC (Automatic Baseline Calibration)을 이용하는 방법

 이는 위의 ESP Easy의 이산화탄소센서 설정페이지의 ABC항목에서 선택해주면 된다.

ABC방법은 일반적인 가정 처럼 주기적으로 사람이 없어서 센서가 이산화탄소 농도가 400ppm 인 신선한 공기에 노출된다는 가정하에 센서가 스스로 보정하는 방식이다. 이 방식은 며칠에 한번씩 신선한 공기에 노출된다는 전제하에 별다른 교정이 필요하지 않다.


4. 이산화탄소 농도를 아는것도 중요하지만 농도를 낮추는 방법이 더 중요하다.

이산화탄소 농도가 실내공기질을 평가하는 중요한 요소중의 하나지만 농도가 높을때 낮추는 방법은 일반가정에서는 실외공기를 유입하는 방법이 유일한 방법이다. 


 하지만 창문을 열어 환기를 시키는 것은 또 다른 공기질 저하를 가져온다. 거주지의 주변환경에 따라 다르겠지만 가장 큰 것은 미세먼지이다. 요즘은 꽃가루도 한몫한다. 


그래서 가장 좋은 방법은 전열교환기를 이용하여 필터링된 외부 공기를 실내 공기와 교환해주는 것이다. 최근에 지어진 아파트들은 대부분 전열교환기가 설치되어있는데 많은 사람들이 어떤 용도인지 모르거나 전기가 든다는 이유로 사용하지 않는 경우가 대부분이다. 


나처럼 전열교환기가 설치되어있지 않은 노후한 단독주택은 사실 창문을 여는 방법외에는 딱히 방법이 없다. 그러던 차에 ST까페의 플루님께서 샤오미 공기청정기를 이용해서 외부공기를 필터링하여 유입하는 DIY 도구를 소개해 주셔서 구매를 했는데 기대만큼 효과가 있었으면 좋겠다.


 


7. 다음 프로젝트


위의 장치들을 이용하여 아이들방에 놓을수 있도록 케이스를 만드는것과 아이들이 시각적으로 알수있게 하는것이다. 

posted by ShinJjang 2018. 1. 28. 20:13

0. 시작하며

우리집에 있는 전자제품들은 대부분 iot라는 개념이 없던 시절에 나온 제품들이다. 가전의 경우 대부분 10년 이상되었다. 이런 오래된 가전들의 작동상태를 판단할수있는 방법은 현재 크게 아래와 같은 3가지이다.


1. iot 아울렛(소켓)을 이용하여 작동시 전력과 작동하지 않을때 대기전력의 차이를 통해 전원상태를 알수있는 방법

2. TV나 컴퓨터 처럼 USB전원이 있는 제품의 경우 USB에 들어오는 전원을 도어센서와 연결하여 트리거로 이용하는 방법 - 링크 -

3. 에어컨처럼 작동시 하드웨어적으로 이동(송풍구 도어열림닫힘)이있는 제품의 경우 도어센서를 이용하여 전원상태를 알수있는 방법


1번의 경우 소켓이 추가되어 외형적으로 부피를 많이 차지한다. 그리고 대기전력이 거의 없는 세탁기와 같은 제품은 굳이 비싼 플러그를 꽂아두는 것은 의미가 없다. 그리고 무엇보다 세탁기의 경우 플러그가 오작동하면 곤란한 일이 발생하기도 한다.

2,3번의 경우 사용할수 있는 제품이 제한적이고 요즘 나오는 무풍에어컨의 경우 움직이는 도어가 없어 3번이 적용이 불가능하다.


현재 본인의 경우 1, 2, 3을 모두 쓰고 있는데 세탁기의 경우 위의 3가지 중 쓸수있는 방법은 1번 밖에 없는데 위에서 언급한 이유로 사용하지 않고 있었다. 

세탁기의 경우 아내가 돌리고 나면 대부분의 경우 끝났는지 확인하는 것은 나의 몫이다. 그래서 새로운 트리거가 필요하다는 생각을 하다 새롭게 만들어 보았다.


1. 준비물




ㄱ. 조도 릴레이 모듈

ㄴ. 샤오미 도어 센서

ㄷ. USB전원 케이블

ㄹ. 3D프린터한 모듈용박스와 조도센서용 캡(위사진의 박스와 캡은 V.2이고 아래 실제 설치된것은 V.1이라 조금 다르다)

ㅁ. 납땜을 위한 기본 도구들


2. 원리

조도센서를 이용하여 전자제품의 전원 표시 LED의 빛을 감지하여 전자제품의 전원 ON/OFF를 판단하는 원리이다.


전자제품 전원ON -> LED켜짐 -> 조도릴레이 모듈 OFF -> 도어센서 상태 변화 -> ST에 트리거로 작동



3. 센서 캡 씌우기

조도센서 릴레이 모듈은 다이얼을 이용해 작동 역치 밝기를 세팅할수있는데 외부 빛의 영향을 막기 위해 아래와 같은 캡을 만들어 씌웠고 전자제품 부착은 양면테이프를 붙여서 이용하면 된다.


4. 도어 센서연결하기

두가닥의 선을 이용하여 릴레이에 연결한 후 도어센서에 연결한다. 도어센서 작업은 다음 링크를 참조하면 된다.


5. 전자제품에 설치하기

모듈에 USB케이블을 이용해서 전원을 공급한 후 적정한 곳에 부착하여 위 우측사진에 보이는 '+'모양의 다이얼을 이용하여 작동여부를 확인하며 역치 밝기를 적절하게 조절한다.

그리고 모율박스도 보이지 않는 곳에 적절하게 붙인다. 


6. 작동 영상



작동 확인 후 웹코어를 이용해서 문자 알림과 구글미니 음성 알림을 설정하여 마무리 하였다.


posted by ShinJjang 2017. 12. 12. 00:54

스마트싱스의 아울렛류(소켓, 플러그, 콘센트 등)를 Homebridge를 이용하여 홈킷에 등록하면 해당 장치가 스위치로 나온다. 만약 전력량이 리포팅되는 DTH의 경우는 스위치와 콘센트로 2개의 장치로 등록된다. 하지만 홈킷에 등록된 콘센트는 상태반영도 안될뿐 아니라 실제 장치를 제어할 수도 없다. 


물론 홈킷에서 그냥 스위치로 사용하여 장치를 제어하면 되지만 그러면 내 마음이 편하지 않다. 왠지 콘센트로 등록하고 제어해야 마음에 들것 같다. 사실 아래 화면처럼 홈킷에 있는 장치 모양들이 다양해야 장치를 구분하기도 쉽고 보기에도 좋다. 그리고 무엇보다 내 마음을 즐겁고 편하게 한다. 아마 홈킷을 사용하는 대부분의 사용자가 비슷한 마음일것 같다. 그래서 또 어떻게 되지 않을까 하고 homebridge-smartthings를 들여다 봤다. 


코드에 대해 아는거라곤 If, else if밖에 없어 잘은 모르지만 코드상 DTH수정으로는 홈킷에서 콘센트로 제어하는것이 불가능하다는건 알겠더라. 그래서 코드를 살짝 바꿔서 내 나스의 해당파일을 찾아 수정한 파일로 교체했다. 파일하나 교체하는데 3시간 걸렸다. 왜냐하면 숨겨진 파일을 SSH로 접속해서 찾아내고 교체하는 작업을 해본적이 없어 여기저기 찾고 물어본다고 3시간이 걸렸다. 


과연 될까라는 설레이는 마음으로 도커 홈브릿지 이미지를 재시작했다... 이런 젠장. 도커를 사용하면 이미지를 재시작할때 마다 새로 플러그인을 받아 설치하다보니 교체한 파일이 다시 원상복구되어버렸다. ㅠㅠ 3시간에 걸친 파일교체가 의미없게 되버렸다. 


그래서 정말 혹시나해서  github에서 homebridge-smartthings를 fork해서 내 계정으로 가져와 해당 코드부분을 수정하여 

플러그인 주소에 내 아이디를 넣었더니 세상에... 수정된 파일이 설치되는게 아닌가? 스스로 대박을 외치며 홈킷을 열었더니 아래 사진처럼 ST에 등록된 Outlet이 콘센트 하나로 등록될 뿐만 아니라 제어까지 되는걸 확인했다. 무모한 도전이 성공할때의 즐거움과 만족감이 좋은것 같다. 

추가로 펌프를 수도꼭지로 바꾸고 싶어서 도전했지만 실패했다. 가장 큰 문제는 홈브릿지 자체에 수도에 대한 정보가 없다는 것이다. 아쉬운 마음을 뒤로한채 접을수 밖에 없었다.



홈킷에 콘센트로 등록하는 방법


1. DTH수정

먼저 어떤 장치(플러그나 아울렛, 스마트 소켓, 스위치류, HA와 연동된 샤오미 멀티탭 등)도 상관없다.   스위치 형태로 ON/OFF 되는 장치면 된다. 

먼저 아래 처럼 IDE사이트에서 MY Device Handler로 이동하여 원하는 DTH를 클릭하여 코드 페이지로 이동한다.

그리고 사진에 체크박스된 것 처럼 command "Outlet"을 추가한다.


2. HomeBridge Plug-in 수정하기


- 라즈베리 파이에 HomeBridge가 설치된 경우 아래의 주소를 이용하여 homebridge-smartthings플러그인 설치 및 홈브릿지 재시작

npm install -g shin4299/homebridge-smartthings


- 도커에 HomeBridge가 설치된 경우는 istall.sh파일을 열어 아래 주소를 추가한 후에 이미지 재시작

npm install -g shin4299/homebridge-smartthings


3. 홈킷을 열어 확인한 후 기쁜 마음으로 사용^^

위의 간단한 과정이 끝나면 아래 영상에서 보듯이 콘센트로 등록되고 제어도 가능하다.




posted by ShinJjang 2017. 9. 1. 01:17

팝콘이펙트에 대해 알다.


까페에서 아래의 글을 보았다. 

ST의 딜레이 현상 (일명 팝콘 이펙트) 관련   -   http://cafe.naver.com/stsmarthome/469


요약하면 Smartthings(이하 ST)에서 Hue Hub에 연결된 Hue 전구들을 동시에 제어할 때 전구들이 동시에 켜지는것이 아니라 순차적으로 켜지거나 꺼진다(팝콘이펙트)는 이야기이다. 


나의 경우 주등은 샤오미 wall스위치를 이용, 보조등과 알림등으로 휴벌브와 샤오미 전구를 사용하고 있다.

또한 휴벌브는 3개 밖에 없고 휴허브용 스위치나, 시리의 모드와 자동화를 통해 천장등(샤오미 월스위치)과 벽등(휴벌브)을 관리하다보니 까페에서 말하는 팝콘이펙트를 경험해보지 못했다. 


그래서 까페에서 말하는 경우 처럼 코어에서 전구 두 개를 선택하여 자동화해보니 정말 순차적으로 켜지고 순차적으로 꺼지는 것을 알게되었고 더 많은 전구를 자동화 한다면 정말 당황스러울것 같다는 생각이 들었다. 



팝콘이펙트 없이 여러개의 휴 벌브 제어하기


다행히도 ST로 여러개의 휴 벌브들을 팝콘현상없이 제어가 가능하다. 방법은 ST 스마트 어플인 Hue B Smart App를 사용하는 방법이다. 코어나 다른 자동화 어플을 통해 2개의 벌브를 자동화할때 

1. 기존의 방식대로 코어에서 휴벌브 두개를 선택하여 자동화 할때와 

2. Hue B Smart App로 Things로 그룹을 등록한 후 그룹을 이용하여 자동화 했을때

의 차이는 아래의 영상과 같다. 


1. 기존의 방식


2. Hue B Smart App를 통한 그룹제어



Hue B Smart 설치 및 세팅


1. 먼저 ST 등록된 휴벌브와 휴허브를 모두 삭제 한다. 

2. IDE 사이트에서 Smart App탭에서 Settings를 클릭하여 새로운 저장소를 아래와 같이 등록한다


    Owner: tmleafs Name : Hue_B_Smart




3. IDE사이트에서 Update from Repo를 통해 Smart App와 Device Handler를 등록한다.


3-1. My SmartApps 탭에서 Update from Repo에서 Hue_B_Smart 를 선택한 후 아래와 같이 체크한 후 Execute Update를 클릭한다.

3-2. My Device Handlers 탭에서 Update from Repo에서 Hue_B_Smart 를 선택한 후 아래와 같이 체크한 후 Execute Update를 클릭한다.(나는 Lux Bulb가 없기때문에 아래 두개를 체크해제했다.)

4. ST App에서 "+ Add a Thing"를 클릭하여 휴 허브를 검색하면 자동으로 휴허브가 등록되면서 위에서 등록한 DH로 등록된다. 

5. Hue B Smart 어플에서 Bulb와 필요한 Scene, Group을 등록한다. 

      


6. 위와 같이 필요한 벌브와 그룹, 장면을 등록하면 아래와 같이 ST허브에 개별 DH를 가진 Thing(Device)로 등록된다.

아래 그림처럼 벌브와 그룹은 전구처럼 ON/OFF로 동작하며 장면들은 PUSH로 동작하도록 등록된다. 

   



7. 위와 같이 등록하고 나면 Core에서 Piston등록할때 Action에서 아래와같이 그룹을 선택할 수 있으며 그룹을 선택하여 자동화하면 그룹으로 묶여있는 전구들이 팝콘이펙트 없이 동시에 제어가 가능하다. 


Hue B Smart APP사용시 알아둬야할 것들


1. Hue B Smart APP와 전용 DH를 통하더라도 개별 전구를 선택하여 자동화할 경우 기존처럼 팝콘현상이 일어난다.

2. Group 설정은 ST가 아니라 Hue 어플에서 등록된 방을 기준으로 그룹이 만들어 진다. 하여 그룹은 Hue 어플을 통해 설정해야한다.

3. 반드시 기존에 등록된 휴브릿지와 휴전구를 ST허브에서 삭제(IDE또는 ST App에서 삭제)한 후에 설치해야 한다.

4. 기존의 자동화된 피스톤의 condition이나 action에 등록된 휴벌브들은 사라지므로 다시 등록해야 한다.








posted by ShinJjang 2017. 8. 20. 04:37

샤오미 Water Sensor 구입

Xiaomi water sensor.txt


샤오미 센서는 가성비도 좋고 SmartThings와 연결도 잘된다. 어떤 분들은 샤오미센서가 ST와 연결이 불안하기도 하다지만 나의 경우는 한번도 연결이 끊어진적은 없는것 같다. 센서도 오작동하는 경우가 없었던것 같다. 샤오미 버튼이 가끔 오작동하기는 하지만 센서류는 아주 만족스럽다. 


샤오미 Water Sensor는 샤오미에서 펀딩할때 부터 알고 있었지만 굳이 필요할까? 라는 생각에 관심 밖에 있었다. 그러다 여름이 시작되고 풀장이나 물탱크에 활용할 수 있지 않을까? 라는 생각에 Gear Best에서 주문했다. 


가격은 하나당 20000만원 정도이다. 알리에서는 좀더 저렴하게 파는 판매자도 있지만 배송기간을 고려해 기어베스트로 했다. 

기어베스트는 배송출고 후 빠르면 4~5일 만에 오기때문에 비슷한 가격이면 알리보다 기어베스트가 훨씬 좋다. 이번에도 8월 15일에 출고해서 19일날 받았다. 물론 주문은 사전 주문형태였기때문에 훨씬 전에 주문했다.


https://www.gearbest.com/home-smart-improvements/pp_668897.html



샤오미 Water Sensor 외관


기어베스트에서 물건을 받으면 대부분 아래와 같다. 꼭 중고제품을 받는 기분이다. 그리고 기어베스트는 검수때문인지 밀봉 씰이 잘려있는 경우가 많은데 그래서 더욱 중고인가? 하는 의심이 든다. 그러나 이번 Water Sensor는 그렇지 않다. 



박스에서 꺼내면 아래와 같다. 생긴건 내가 좋아하는 호빵같이 생겼다.


처음에 리셋 스위치를 한참을 찾았다. 바늘구멍도 없고 다른 아카라 센스에 있는 작은 단추버튼도 없다. 

샤오미 Water Sensor는 IP67 방진방수 기능을 가지고 있다 보니 리셋 스위치가 다른 방식으로 되어있다. 외장재가 딱딱한 플라스틱이 아니라 고무와 플라스틱의 중간정도의 재질이다. 말랑말랑하다. 그래서 물방울 프린팅 부분을 3초 정도 꼭 누르면 아래와 같이 파란불이 깜빡인다. 


샤오미 Water Sensor의 아래부분을 보면 물을 감지하는 2개의 금속 센서가 있고 가운데 베터리 교체를 위한 캡이 있다.


베터리는 CR2032 사이즈가 들어가며 베터리 덮개부분은 방수방진때문인지 2바퀴를 돌려 잠그게 되어있고 아래에는 고무 씰이 있다. 


아래는 설명서에 나와있는 샤오미 Water Sensor의 사양이다. 



SmartThings에 연결


Smartthings App에서 기기추가를 하면 화면에 뜨지 않는다. 그래서 로그에 올라온 Network ID로 수동등록을 하는데 자꾸 에러가 나서 보니 기기목록에 things로 자동으로 등록이 되어있었다.


하지만 아직 샤오미 water sensor용 정식 DH가 없다. 


사실 처음 주문할때 샤오미 도어센서와 연동되지 않을까? 라는 기대로 주문을 했다. 그러나 아래 댓글을 보면 알겠지만 연동되지 않는다.


http://cafe.naver.com/stsmarthome/373


그래도 혹시나 하는 마음에 DH를 샤오미 도어센서로 설정해 보았지만 작동되지 않았다. ㅠㅠ


누수센서는 연기센서와 작동이 비슷할거라는 생각에 Xiaomi Honeywell Smoke Detector용 DH로 설정하니 작동이 되었다. 이상태로 그냥 써도 되지만 이왕이면 누수 센서로 인식되게하고 싶어 DH를 마음대로 바꾸었다.


DH는 전혀 모르지만 Smoke Detector용 DH 코드 내용의 글자를 조금 바꾸었다. 몇번의 수정을 거쳐 아래와 같이 사용하는데 아무문제 없게 되었다.


영상을 찍는 동안 아내가 드라마를 보고 있어서 드라마 OST가 배경음악으로 흘러나온다.^^;


위 영상은 DH를 완전히 수정하기 전이다. 완전 수정된 화면에서 Dry와 Wet은 아래 사진과 같다. 





스마트싱스 Smart Home Monitor 설정 및 테스트


SmartThings App의 Dashboard에서 스마트 홈 모니터 설정에 들어가면 누수 항목이 있다. 누수 항목으로 들어가면 경보옵션과 액션들을 설정할 수 있다. 



일단 SMS와 푸시만 설정해 보았다.



샤오미 워터 센서를 접시에 담그면 3~5초 정도 후에 누수를 감지하고 설정한 옵션사항을 실행하게 된다. 


센서가 Wet에서 Dry로 바뀌어도 경보를 해제하기 전까지는 스마트홈 모니터에서는 누수정보가 떠있게된다.



누수가되면 설정한 것 처럼 푸쉬알림이 온다. 



문자도 온다. 그런데 두번 테스트 했는데 첫번째는 아래와 같은 전화번호에서 문자가 오고 두번째는 발신지가 미국이다. 



그런데 문자 비용은 누가 지불하는 걸까?? 



이제 샤오미 워터 센서를 어디에 사용할 지 결정하는 일 만 남았다. 어디에 사용하는게 좋을까? 

지금 당장은 흔한 용도인 1.싱크대 아래 누수 체크용과 2.물탱크 수위센서용으로 사용하는 것인데 1은 사실 크게 필요는 없다. 

2의 경우는 옥상 물탱크까지 ST허브와 통신이 가능할지 의문이다. 고민을 해봐야겠다. 




Xiaomi Water Sensor DTH(DH)


Xiaomi Water Sensor DTH(DH)는 코드를 첨부파일을 확인하세요. 

당연히 아시겠지만 My Device Handlers에서 '+Create New Device Handler' 클릭후 'From Code'탭으로 이동후 첨부파일의 코드를 복사한 후에 붙여넣기하고 저장하면 된다. 













posted by ShinJjang 2017. 5. 25. 03:29

우리집은 단독주택이고 지은지 25년이 다되었다. 오래된 집이라 욕실에 그 흔한 환풍기 조차 없어 직접 환풍기를 달았다. 환풍기를 달아도(너무 작은 놈을 달았다) 환기가 잘되지 않아 샤워하고 나면 욕실전체의 벽과 천장에 물방울이 맺혀있다. 그래서 항상 습하고 곰팡이가 생기기 쉽다. 


욕실 선반(미닫이 문이 달린)에 수건을 보관하는데 나뿐만 아니라 특히 아이들과 아내가 선반을 열어둔 채로 샤워를 하거나 샤워후 선반을 열어 두고 나오는 경우가 허다하다. 그렇다 보니 수건도 눅눅해지고 선반 안에도 곰팡이가 생겨 수건에 냄새가 난 경우도 있다. 


항상 조심하라고 말을 하지만 소귀에 경읽기다. 그래서 선반 문을 열어놓고 닫지 않는 경우 자동으로 알려줄 수있는 장치가 필요하다는 생각을 했다. 


처음에는 전구를 이용하는 방법을 생각했지만 시각적인 부분은 보지않거나 무시하기가 쉽다. 그래서 뭔가 자극적인 경고가 필요하다. 그래서 소리를 발생시키는 장치가 필요하다는 생각을 했다. 그리고 저렴하고 사용이 편해야 한다.



1. 필요한 부품


ㄱ. 연속음이 나는 부저(Buzzer) - 소리를 발생할 핵심 부품이다. 가격은 1400원이다. 3V에 작동한다. 하지만 나는 남아도는 5V USB 충전기와 함께 사용할 계획으로 주문했다. 알림용 부저를 만드는데 유일하게 구매한 제품이다.


     



ㄴ. 남아도는 USB충전기 - 책장을 뒤져 2G폰용 충전기를 발견했다. 분해한후 부저를 연결해보니 잘 작동한다. 그런데 부저와의 조합을 생각하니 외모가 마음에 들지 않는다. 부피도 너무 크다. 



그래서 다시 책장을 뒤져 사용하지 않는 아이폰용 충전기를 발견했다. 호주용 충전기인데 샤오미 플러그와 연결할 것이기 때문에 오히려 잘되었다. 



ㄷ. 고장난 USB충전용 케이블 - 얼마전에 단선이 된건지 고장난 아이폰용 라이트닝 케이블이 생겼는데 버리지 않기를 잘했다. 끝부분만 잘라서 분해했다. 하얀캡 부분을 처음에는 사용할 생각이 없어 막 잘랐다. 







2. 만들고 테스트 하기


일단 부저의 선을 사용할 만큼만 남기고 잘라낸 후 USB 단자에 납땜으로 연결했다. USB단자는 4개의 핀으로 되어있는데 인터넷을 찾아보니 양끝 2개의 단자가 전원이다. 그래서 양끝에 납땜했다. 하나는 옆에 핀과 함께 납땜이 되었지만 상관없다. 


아래와 같이 연결한 후 전원을 연결하니 정상적으로 작동한다. 소리가 꽤 크다. 


USB핀 부분에 캡을 씌워 강력본드로 붙인후 부저를 아래와 같이 붙였다. 부저 크기는 USB핀 보다 약간 크다. 아주 작다.

   


USB충전기에 연결한 모습이다.



아래 사진은 스마트싱스에 연결된 샤오미 스마트 플러그에 꽂은 모습이다.




3. 실제 설치 및 적용


제작한 경고음 플러그는 아래와 같이 욕실 선반 도어 센서와 연동되어 작동이 된다. 





CoRE를 이용하여 아래와 같이 자동화 하였다. 


선반 문이 열림 -> 20초 후에 경고음을 1초간 발생 -> 10초간 대기 후 10초간 경고음 발생

위 과정 중에 언제든 문을 닫으면 Piston은 종료된다.  




아래는 실제 작동 영상이다. 소리가 꽤 시끄럽다. 깜짝 놀라 문을 안 닫을수 없다. 


**주의하세요. 22초쯤 부저음이  꽤 크게 날수도 있습니다.




4. 결론


집에 있는 부품을 활용하면 1400원이라는 저렴한 비용으로 홈자동화에 활용할 수 있는 알림용 부저를 만들수있다.


나는 욕실 선반 열림 경고용으로 만들었지만 다른 자동화 디바이스와 연동하면 다양한 활용이 가능하다. 

1. 방범용으로도 사용가능하다. 외부침입알림, 취침 모드에서 외부창이나 문의 열림 알림 등..

2. 비가 올때 창문열림 경고용으로도 사용가능고, 누수시 알림용으로 사용할 수 있다.


문제를 발견하고 해결 방안을 모색하고 현실화 해보는 과정은 언제나 재밌다.