posted by ShinJjang 2018. 2. 16. 00:15

0. 수위센서가 필요하다

집이 오래되다 보니 일반적인 상황에서는 필요없는 것??들이 필요하게 되는 것 같다. 나무 보일러 외출 자동화도 그랬듯이 말이다.


우리집은 보일러도 기름과 나무의 하이브리드? 였듯이 물도 산에서 내려오는 무료 물과 상수도를 통해 공급되는 유료 물, 두 가지를 쓰는 하이브리드이다.


사실 집을 지었을때 상수도가 들어오지 않았기 때문에 산에서(산속 수영장 근처에 수원?이 있다) 집까지 관을 매립해서 식수로 쓰고 있는 상황이었다. 그러다 몇 년 전에 상수도가 마을에 들어오면서 우리집에도 수도가 들어왔는데 수도가 물탱크에 연결되지 못하고 현관문 기둥 옆에 1미터 정도 높이로 돌추되어있는 상황이다. 사실 상수도는 거의 쓰지 않고 있었다. 


그런데 문제가 생겼다. 왠만하면 산에서 내려오는 물 관이 얼지 않는데 이번엔 관 중간에 에어가 찬데다 강추위로 얼어버렸다. 한번 얼면 추운 겨울동안은 녹기가 힘들다고 봐야한다. 그래서 물탱크에 물을 현관문 옆에 돌출된 수도관에서 부터 옥상에 있는 물탱크까지 호스를 연결하여 물을 받아야 한다. 


대충 때를 맞추어 상수도를 틀고 끄고 하면 되지만 때를 잘못 맞추면 와이프나 아이들이 샤워하는 도중에 물이 비게되어 5~10분정도 추위에 떨어야 하는 불상사가 발생한다. 그리고 상수도를 틀어놓고 잠궈야할 타이밍을 놓치면 물탱크에 물이 넘쳐 옥상이 물바다가 된다. 그래서 자동화가 필요하다는 생각이 들었고 실행에 옮겼다.




1. 준비물


1. 방수 케이스

2. PCB기판

3. 220V to 5V&3.3V 

4. 5V릴레이

5. 터미널, 커넥터

6. 샤오미 도어센서

7. 비접촉 수위센서

8. 220V전원공급선

9. 기판용 회로연결용 테프론 와이어, 랜선, 납땜 도구, 절연테이프 등등




2. 도어센서 접점제어용 개조하기


2핀 커넥터와 테프론 와이어, 샤오미 도어센서를 이용하여 아래의 과정으로 개조하면 된다.


테프론 와이어를 적당한 길이로 자르고 끝부분 피복을 벗겨 준비한다.


샤오미 도어센서의 위의 두 지점에 테프론 와이어를 납땜한다.


그리고 드릴을 이용하여 도어센서 케이스의 적당한 부위에 구멍을 뚫어 선을 통과하여 다시 기판을 조립한다.

핀을 테프론 와이어 끝에 크림핑 툴을 이용하여 찍는다. 찍기 전에 살짝 납땜을 하는것도 좋다. 그리고 2핀 커넥트를 꽂아 완성한다.


이전에는 전선을 릴레이에 바로 납땜하여 연결하였는데 재활용이나 테스트등 편의를 위해 커넥트를 이용하였다.




3. PCB기판 조립하기


PCB기판에 회로들을 조립하는 동안 너무 집중해서 하다보니 작업동안 사진을 찍지 못했다. 그래서 결과 사진밖이다.


ㄱ. 3.3V는 센서 전원용으로 포트를 만들었다. 대부분의 도어센서들은 3V수은 전지를 사용하기 때문에 수은 전지를 이용하지 않고 따로 전원을 바로 공급하기 위해 만들었다. 


ㄴ. 수위센서 연결은 랜 선을 이용하였다.


ㄷ. 도어센서 연결은 3핀 커넥트를 이용하여 릴레이의 NO(Normal Open-비전원시 열림), NC(Normal Close-비전원시 닫힘)를 선택적으로 사용할 수 있도록 했다. 수위센서에서도 고수위 센서는 NC포트를 이용하고 저수위 센서는 NO포트를 이용했다.


ㄹ. 아래는 기판 뒷면에 회로연결을 위해 와이어를 연결한 것이다.



수위센서 연결은 사진을 찍지 못했다.




4. 설치하기


센서함은 야외에 설치 할 것이기 때문에 방수 케이스를 조립한다.


딸아이 방에서 전원선을 가져왔고 창틀 상단에 피스를 이용하여 고정하였다.


물탱크 상단부와 하단부에 수위센서를 설치하면 끝이다. 설치는 'ㄱ'자 브라켓 끝부분을 구부리고 브라켓은 물탱크에 거친면용 초강력 양면테이프를 이용하여 붙여주고 몇 시간정도 기다린다. 그런 후 수위센서를 브라켓에 끼워서 물탱크에 부착하면 된다.





5. ST, 홈킷 등록 & 웹코어 이용하여 자동화하기


ST에 고수위, 저수위용 센서 두개를 연결하고 홈킷에도 등록했다. DTH를 수정하거나 홈브릿지 내용을 수정해서 다른 센서로 바꾸고 싶지만 귀찮아서 그만 뒀다. 


그리고 웹코어를 이용하여 수위에 따라 아버지와 내게 문자가 오도록 자동화하였다. 


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. 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. 비가 올때 창문열림 경고용으로도 사용가능고, 누수시 알림용으로 사용할 수 있다.


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