샤오미 온습도 센서 블루투스에서 지그비로 펌웨어 변경하기
https://smarthomescene.com/guides/convert-xiaomi-lywsd03mmc-from-bluetooth-to-zigbee/
전에 해커뉴스를 보다가 기록해 둔 뉴스입니다.
샤오미의 온습도센서를 블루투스에서 지그비로 변경할 수 있다는 것이죠.
블루투스와 지그비는 몇 가지 차이점이 있긴 한데 실사용자 입장에서의 차이점이라면 지그비 허브에 연결해서 상시 추적을 할 수 있고, 메시 네트워크를 구성해서 안정적으로 사용할 수 있다는 점 등이 있겠네요.
프로젝트 Github 은 https://github.com/pvvx/ATC_MiThermometer 입니다.
깃헙 링크에 보시면 이외에도 같은 칩을 쓰는 많은 기기들이 변경 가능한 것을 알 수 있습니다.
Home Assistant 에도 붙일 수 있다 하여 지그비 허브를 사 뒀습니다.
다만 최근 제품들은 펌웨어가 OTA 변경을 못하도록 변경되어 나오고 있기 때문에 납땜없이 온라인으로만 펌업이 가능할지 불가능할지는 알 수 없습니다.
다행히 제가 구입한 물건들은 대부분 구버전 펌이었지만 다른 셀러에게 구입한 물건은 일부 신형 펌웨어도 있었는데요.
이 부분에 대한 내용은 나중에 따로 다루겠습니다.
맨 처음에 쓴 링크로 다시 돌아가서,
OTA 펌웨어는 일단 크롬/엣지/사파리 등에서 enable-experimental-web-platform-features
를 Enable 로 바꾸고 난 뒤. 프로그램을 재실행하고 진행하면 됩니다.
본문에 2가지 방법이 소개되어 있는데
1. Convert LYWSD03MMC to Zigbee (OTA, devbis)
2. Convert LYWSD03MMC to Zigbee (OTA, pvvx)
가 있습니다. 2번이 좀 더 단순하다고 되어 있어 이쪽을 먼저 해 봤으나 실패하여 1개가 벽돌이 되었고 나머지는 1번 방법을 통해서 진행했습니다.
본문에 다 설명되어 있는 내용이긴 하지만 이미지를 추가해서 다시 정리해보면 아래와 같습니다.
1.브라우저에서 https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html 로 이동합니다.
2. Get Advertising MAC을 체크하고 빈칸에 LYWSD03,ATC 를 입력하고 Connect를 누릅니다.
3.그러면 뜨는 창에 LYWSD03MMC 혹은 경우에 따라 ATC로 시작하는 기기명이 나오는데 이를 선택하고 페어링 버튼을 누릅니다.
4. 잠시 기다리면 위와 같은 화면이 나옵니다. [Do Activation] 버튼을 누르고 기다립니다.
[OTA 가 불가능한 신형 펌웨어의 경우 지원 불가능하다는 메세지가 나오며 이 기기는 납땜해서 펌웨어를 직접 다운그레이드 한 후 다시 진행해야 합니다. 이 방법은 추후 따로 포스팅하겠습니다.]
5. 위와 같은 창이 나오면 [파일 선택] 에서 https://devbis.github.io/telink-zigbee/ 이 링크의 ATC_ota_40000.bin 을 다운받아 업로드하고 [Start Flashing]을 눌러 플래싱을 합니다.
상단에 업로드 %가 표시되며 100% 가 될 때까지 기다립니다.
**여기까지의 과정은 단계별로 몇십 초~1분 정도의 시간이 걸릴 수 있으나 상황에 따라 진행이 되지 않고 멈춰 버리기도 합니다. 특히 페어링과 액티베이션 과정에서 가끔 그런 일이 일어나니 이 경우에는 해당 진행을 다시 처음부터 하여야 합니다.
6. 프로세스가 완료되면 기기의 배터리를 분리하고 15~20초 기다립니다.
다시 비슷한 과정을 거칩니다.
7. 이번에는 https://devbis.github.io/telink-zigbee/ 이 주소로 들어갑니다.
8. Get Advertising MAC 체크 / LYWSD03,ATC 입력 / Connect 하여 기기를 페어링합니다.
9. https://github.com/devbis/z03mmc/releases 에서 z03mmc.bin 을 다운로드 합니다.
10. [파일 선택] 에서 해당 파일을 업로드하고 플래싱합니다.
이제 Zigbee hub 의 제조사 앱으로 들어가서 Zigbee 페어링을 시도해 보면 장치가 뜨고 페어링이 되는 것을 볼 수 있습니다.