AirMouse 펌웨어 로드맵
1. 버튼 및 터치패드 인식 구현(완료)
A. 버튼 디바운싱 제어
B. 터치패드 인식 구현
2. 블루투스 연결 및 기본 제어 구현
A. 다중 페어링 버튼 구현(완료)
B. 내비게이션 버튼 제어
C. 멀티 페어링
3. IMU 연동, 커서 움직임 구현
A. IMU 값 받아오기 및 보정
B. 블루투스로 IMU 값 전송
4. 전원 관리
A. 배터리 확인 및 host 기기에 값 전달
B. 절전모드 추가 + 조건에 따른 Wake Up 구현
C. 절전시 소모전력 측정 후 하드웨어 디버깅
5. 외부 설정 애플리케이션 연동
매일 글 한 편씩 쓴지도 2주가 넘어갑니다. 습관이 들기만 하면 충분히 이 활동을 지속해나갈 가능성이 보입니다. 처음에는 글 한 편 쓰는데 2-3시간씩 걸렸지만 이제는 1시간이면 그럭저럭 마무리 할 수 있을만큼 속도도 많이 빨라졌습니다. 그런데 글을 이렇게 써도 노력 대비 반응이 전혀 없다는 게 아쉽습니다. 여기서 말하는 반응이란 댓글이나 ❤️가 아닌, 단순 조회수를 의미합니다. 조회수가 1도 없습니다. 분야가 마이너하다보니 유입이 없는 것도 납득은 합니다. AirMouse- YYMMDD-Nightly 와 같은 형식의 제목이 유입에 발목을 잡는듯 합니다. 조금 더 보편적인 제목으로 바꿔야겠습니다.
블루투스 연결로 미디어 제어하기
블루투스는 사용하는 사람의 입장에서는 편리함을 느끼게 해 줍니다. 개발하는 사람은 불편함을 느끼게 해 줍니다. 아두이노 예제에서 블루투스는 그냥 단순하게 시리얼 통신만 하니 쉬워보입니다. 그런데 블루투스가 버전이 올라가면서 GATT, GAP, BLE... 신경쓸 게 많아지고 연결 간의 보안 처리, 전원 관리 등 신경쓸 게 너무나 많습니다. 하루를 꼬박 소비해 겨우 호스트 장치와 연결하고, 장착해둔 내비게이션 스위치를 이용해 버튼으로 아이패드 제어가 가능하도록 했습니다.
마치며
BLE 연결이라 그런지 안드로이드 / 윈도우에서는 안되는 것 같습니다. 보통은 그 반대가 정상인데 조금 특이한 케이스입니다. ESP-32에서 연결된 호스트 장치의 정보를 얻을 수 있는 방법을 찾아봐야겠습니다. 다음 포스팅은 멀티페어링 혹은 MPU6050을 연결해 장치를 제어하는 내용이 될 듯 합니다.
긴 글 읽어주셔서 감사합니다. ❤️와 광고 클릭으로 고마움을 간단히 표현할 수 있습니다.
개발환경 | Mac OS 15.0 Monterey Beta 5, Python 3.9.6, ESP-IDF v4.3
제품 개발 및 기타 문의 | dokixote@wklabs.io 혹은 오른쪽 아래 채팅을 통해 문의