오늘의 장난감은 미 에어 2입니다.

미 에어는 샤오미 제품답게 IoT 를 표방하며 나온 공기청정기입니다. 개인적으로 집 안 LAN 에 Proprietary firmware 를 쓰는 장비를 들이고 싶지 않기에, 이를 개조해서 사용하고자 합니다.

이 포스트에서는 이를 위한 조사를 위해 미 에어를 분해하고, 모터 제어 프로토콜을 리버싱할 것입니다.

분해 전의 미 에어입니다.

미 에어 밑바닥의 고무마개를 제거하고 나사를 풉니다

I VOID WARRANTIES

파워서플라이 보드가 보입니다. 염가형 중국산 제품들의 정신나간 납땜 퀄리티와는 다르게, 제대로 되어있네요. 굿굿.

드라이버로 걸쇠를 벌리면서 잡아 뜯어줍니다. (추가 참고 자료: http://c.mi.com/thread-29001-1-1.html)

전면 플라스틱 하우징을 분해하고 나면, 메인보드에 접근할 수 있습니다.

전선들에 라벨을 달아줍니다. (구린 제 손글씨는 넘어갑시다)

메인보드를 뒤집자 친절한 실크스크린이 반겨주세요.

빈 헤더핀 자리에 헤더핀을 채운 뒤 플럭스를 이소프로판올로 닦아줍니다.

MHCW01P 와이파이 모듈

UART 셸을 따 봅시다

흔한 Cortex-Mx 기반 RTOS로 보입니다. 더불어 mc200fw 파티션명을 보니 Marvell 칩을 썼을것으로 추측됩니다.

미 에어에 사용된 먼지 센서는, Shinyei 사의 PPD42NS로 Seeed grove dust sensor 에 사용된 것과 같은 모델입니다. 이 센서는

모터 제어 신호를 측정해 봅니다.

오실로스코프 측정 결과, 실크스크린에 PWM이라고 적혀있던것과 다르게, 실제로는 Nidec 27H 모터의 PLL 핀이었음이 밝혀졌습니다

오실로스코프로 찍은 결과를 가지고 RPi zero 를 이용, 간단하게 PWM신호를 이용 드라이브해봅니다.

PoC: 미 에어 파이 에디션. 우리집 공기청정기는 SSH 된다~