KOCOM 스마트 도어센서 KDY-MC400B 모델에 한해 확인되었습니다. 코콤에서 직접 만든 제품같진 않고, 중국에서 OEM으로 떼오는 거 같은데 코콤 홈 서버도 있고 쓸만해 보입니다.

특히 스마트싱스 연동기능이 있어 홈브릿지를 통해 홈킷에서 사용 가능해보입니다.

 

1. Kocom home 에서 악세서리 등록

생략 합니다.

 

2. smart things 연동

 

코콤 앱에서 연동 후, 스마트싱즈 앱에서 코콤 계정 연결 시 코콤 앱에 등록 된 악세사리가 스마트 싱스에 연동되게 됩니다.

 

3. 홈브릿지 연동

라즈베리파이에 세팅 해 놓은 스마트싱스 플러그인 SmartThings Plugin (homebridge-smartthings-ik v1.5.1) 버전을 사용하였습니다. 

https://aneoh.tistory.com/21

 

스마트싱스 홈브릿지 플러그인, 토큰 설정 방법

스마트싱스 허브 없이 wifi를 통해 웹으로 홈브릿지에 연동하는 방법에 대한 설명입니다. 플러그인은 homebridge-smartthings-ik v1.5.1를 사용하고 있으며, 해당 git게시글 내에 같으 설명이 있습니다. http

aneoh.tistory.com

스마트싱스 토큰은 아래 링크에서 얻게 되며 깃허브 내용의 맨 아래 설명을 따라 설정 하시면 되겠습니다.

https://account.smartthings.com/tokens

 

SmartThings. Add a little smartness to your things.

 

account.smartthings.com

4.

하면 해당과 같이 홈킷 앱 내 설정에서 도어센서관련 악세사리를 확인할 수 있으며 사용자 편의에 따라 자동화할 수 있겠습니다.

 

간략하게 정리한 자료로 혹시 세팅에 어려움이 있으신 경우 메일로 문의바랍니다.

반응형

https://aneoh.tistory.com/2

앞선 글에서 수위 데이터를 살려 수리하는 방법을 진행하기로 했었다.

 

레퍼런스는 다음과 같다. 

https://github.com/fakcior/xiaomi-humidifier-water-sensor

 

GitHub - fakcior/xiaomi-humidifier-water-sensor: Xiaomi SmartMi Evaporative Humidifier water level sensor

Xiaomi SmartMi Evaporative Humidifier water level sensor - GitHub - fakcior/xiaomi-humidifier-water-sensor: Xiaomi SmartMi Evaporative Humidifier water level sensor

github.com

 https://youtu.be/JudoDFqBNoU

 이 포스트의 내용은 러시아어 유튜브 내용을 풀어 설명하는 방법으로 진행할 계획이다.

 

정리하면 PSU단에 있는 수위 데이터 처리 칩을 "제거"하고 수조의 수위 센서에서의 데이터 TP&GND(초록색과, 검은색)를 아두이노 보드의 D2/3&GND에 그리고, 전원과 메인보드로의 데이터는 TX(보라색)로 전원은 5v, GND(각각 적색과 진녹색)에 연결하여 진행한다. 전원 자체는 메인보드의 3.3v단을 이용해도 좋을 것으로 보인다.

https://www.youtube.com/watch?v=JudoDFqBNoU


 

1. 아두이노 코드값 저장

https://github.com/fakcior/xiaomi-humidifier-water-sensor/blob/master/HumidifierSensor.ino

 

GitHub - fakcior/xiaomi-humidifier-water-sensor: Xiaomi SmartMi Evaporative Humidifier water level sensor

Xiaomi SmartMi Evaporative Humidifier water level sensor - GitHub - fakcior/xiaomi-humidifier-water-sensor: Xiaomi SmartMi Evaporative Humidifier water level sensor

github.com

코드 자체는 여기서 Copy & paste하여 진행하도록 한다.

 

저장 중 주의할 점은 <<CapacitiveSensor>> 라이브러리를 추가해서 진행해야 한다.

 

위 코드에서는

#define MIN_READING 4200 // for 1M resistor and 1000 samples

 

#define MAX_READING 11000 // for 1M resistor and 1000 samples

으로 1M 저항으로 하였을때 4200~11000사이 값에서 리니어한 반응을 보이게 설계되어있다.

 

만약 수조의 수위 센서에 문제가 없다면 그냥 진행해도 좋으나. 센서값 자체에 문제가 있는 경우 자체 캘리브레이션 절차를 거쳐야 하는데

가습기와 아두이노 사이에 전원을 빼고 연결하여(가습기-아두이노-컴퓨터, 전원은 이중으로 연결하지 않도록 한다.)

수조의 min에서 max까지의 serial data값을 확인하고 9/10열의 값을 4200/11000이 아닌 확인한 값으로 수정하여야 한다.

 

캘리브레이션을 할때는 코드의 47열을 비활성화, 48열을 활성화하여 진행하고, 보정값을 확인하였다면, 47열을 다시 활성화하고 48열을 비활성화하여 포팅하고 마무리한다.

*캘리브레이션은 모든 솔더링 작업이 완료 된 후 진행하는 것을 추천한다.


https://smartstore.naver.com/plumkit/products/5700603098

 

아두이노 프로 마이크로 호환보드 3.3V 5V : 플럼킷

아두이노 프로 마이크로 호환보드 3.3V 5V

smartstore.naver.com

**작성자가 구매한 아두이노 호환 보드입니다. 코드 입력하고 실행하였을때 잘 되지 않아 찾아보니 serial 명령문을 serial1으로 바꿔야한다.

ex> Serial1.begin(9600);

***캘리브레이션 시 수조 raw data 쪽은 Serial.println(readingRaw);로 진행해야 serial monitor에서 확인 가능했다.

Serial1.write(packet, sizeof(packet));
//Serial.println(readingRaw); //for calibration

로 진행했다.

 

2. 솔더링.

"솔더링 시에 PSU의 칩을 디솔더링하고 그 기판에 연결하지 않고, 전원만 따고 우회하는 방식으로 진행하였습니다. 이렇게 하는 경우 메인보드 단의 3.3v전원을 활용하는 것이 더 용이할 것으로 생각됩니다."

1) psu의 센서부에 5v 전원을 연결하여 잇고.

pictured by ane Oh

2)다음 D2,D3를 1MOhm으로 연결하고, D2와 GND단을 센서부에 직접 연결합니다.

pictured by ane oh

 

 

 

 

 

 

3)이후 배선을 따라 센서 입력 단자를 뽑고, 메인보드로 가는 데이터 시그널 선을 끊습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4) 단자를 뽑고 D2와 GND와 연결한 선을 각각 수조 센서부의 왼쪽 오른쪽과 연결합니다.

 

 

 

 

 

 

 

 

 

 

 

5) 마지막으로 TX단자를 메인보드의 저 부위에 솔더합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. 후에 정리하여 마무리하면 끝입니다.

https://youtube.com/shorts/sN71eLfSSBA

 

https://youtube.com/shorts/C_HpEfyYqJ0?feature=share 

 

 

반응형

중고로 구입한 샤오미 가습기의 수위센서 고장으로 이에 대한 일지를 통해 동일 사용자에 도움을 주고자한다.

 

가성비가 있고 IOT를 통한 자동화를 할 수 있는 제품으로 샤오미 증발식 가습기는 경쟁력 있는 제품이라 생각되지만, 고질적인 고장으로 수위센서 관련 문제가 꾸준히 발생하고 있는 것으로 보인다.

고장의 특징으로 수조에 물을 가득 채워도 수위를 인식하지 못하는 문제가 발생하게 되는데, 이 가습기의 특성상 수조에 항상 물이 존재해야 작동이 시작되어 강제 시작도 할 수 없게 되는 상황이 펼처진다.

 

먼저 고장의 원인은 크게 두가지로 나눠지는데.

1. 수조 내의 수위센서와 관련된 에러로 아래 <사진1>과 같은 부품의 오염 혹은 센서부 접촉 불량에 의함이다. 센서의 작동원리는 명확하진 않으나 물이 다음으로서 발생하는 저항값의 변화를 인식하는 것으로 보인다.

사진1, 출처: https://www.clien.net/service/board/lecture/13025007

2. 제품 보드 내의 <사진1>에서의 데이터가 처리되는 칩의 에러로 인해 발생하며 수위값의 처리는 파워서플라이 일부에 있는 모듈을 통해 제품 메인보드로 전송되어 처리된다. 

사진2, 출처 :&nbsp;https://www.youtube.com/watch?v=JudoDFqBNoU

작성자의 가습기에서 발생한 문제는 <사진1>의 수위 센서의 에러라기 보단 이후의 데이터 처리과정에서 문제가 발생된것으로 확인되며, 이를 감별하기 위해 수위센서의 두 금속 로드를 통전시키면서 작동을 시켰으나 작동되지 않았다.

 

수조의 수위 데이터 처리에 개입한다면 문제 해결의 가능성이 보인다.

 

문제 해결은 주로 두 블로그를 참고했다

https://blog.naver.com/eyehs/222721834880

https://treasure01.tistory.com/507

내용은 대동소이하고 추가적으로 센서의 데이터를 살려 해결하는 방안을 시도해보려고 한다.

 

원인 2의 문제해결방법은 세 가지로 나뉘게 되는데

1. 강제 full 신호 송출

2. PSU의 수위 처리 모듈의 대체

3. PSU의 수리 처리 모듈의 수리

로 나눌 수 있겠다.

 

1. 강제 full 신호 송출

먼저 앞서 제시한 레퍼런스를 참고하면 될 것이다. 이 경우 메인보드까지만 접근하면되고, 메인보드의 3.3v전원과, 노출되어있는 수위 신호 단자를 활용하면 될 것이다.

https://youtu.be/GoIq4a0vROE?t=244 

의 유튜브 동영상을 참고하여 제품 분해를 진행하도록 하고

https://github.com/tomasvilda/humidifierstart

 

GitHub - tomasvilda/humidifierstart: Xiaomi SmartMi Humidifier 2 emulator for 100% tray sensor

Xiaomi SmartMi Humidifier 2 emulator for 100% tray sensor - GitHub - tomasvilda/humidifierstart: Xiaomi SmartMi Humidifier 2 emulator for 100% tray sensor

github.com

깃허브 코드를 통해 아두이노 보드를 연결하면 된다.

https://blog.naver.com/eyehs/222721834880

에서 전원은 습도센서 아래에 GND와 3.3v를 활용하고, 아두이노의 TX아날로그 신호를 가습기 메인보드 D16 저항 앞의 단자에 연결하면 완료된다.

pictured by ANE OH.

아두이노 우노 보드를 활용하여 솔더링은 진행하지 않고, 데이터만 입력하였을때 정상적으로 작동되는지 확인하였다.

수위 센서 쪽 라인을 자르거나, disconnect하기만 해도 아두이노 보드로 Tx데이터만 보내 정상적으로 확인이 되는 모습을 볼 수 있다.

 

하지만 정상적으로 사용하기엔 우노보드의 크기가 커 하우징 조립에 문제가 될 것이고, 강제 full 수위를 유지하는 경우 사용을 할 순 있겠지만, 이 제품의 제 기능을 다 사용하지 못할 것으로 생각된다.

 

필자는 그래서 하우징 내에 내장이 가능한 작은 아두이노 보드 구매와 함께 수위기능을 살려 진행해볼 계획이다.

반응형

+ Recent posts