생각보다 그리 중요한 게 없더라.
회사생활을 하면서 퇴사하고 싶을 때면 인생에 있어서 가장 중요한 요소가 무엇일까 종종 고민을 했습니다. 그 고민을 하다 보면 대개는 “그리 중요치 않다.”는 결론에 이릅니다. 가장 중요한 요소 를 고민하던 와중 그리 중요하지 않은 게 너무나 많다는 깨달음을 얻었습니다. 다 멀리서 보면 아무것도 아닌 일을 기한 내 끝마치기 위해 노력하고, 그리 중요하지 않은 문제에 관해 꾸지람을 듣습니다. 그 모든 것들이 그 상황에 있으면 인생을 거는 것처럼 중요하다 생각이 들지만 사실 전체 인생을 놓고 봤을 때 그리 중요하지 않은 겁니다.
그럼 삶을 무엇으로 채워야 하는가, 이왕이면 중요한 것들로 채워야 합니다. 그리고 그 기준에는 반드시 내가 있어야 합니다. 이왕이면 세상이 생각하는 중요한 것과 내가 생각하는 중요한 것이 일치하다면 말 그대로 물 흐르듯 순탄하게 살아갈 수 있을 가능성이 클 듯 합니다. 그러나 삶의 마지막 순간이 도래했을 때, 우리는 스스로에게 어떤 질문을 내리게 될까요? 세상의 눈높이에 맞춰 살았는가? 나 하고 싶은대로 살았는가? 내 삶을 살아가는 건 나 자신이고, 마지막 순간에서조차 질문할 수 있는 사람 역시 나 자신 뿐입니다.
BLE Connection
오늘은 ESP-IDF BLE 예제 코드를 실행해 보고 분석하는데 시간을 보냈습니다. 대략 어떻게 작동하는지 구조 파악은 어느정도 완료되었습니다. 그런데 여전히 C언어는 적응이 잘 되지 않습니다. 끝에 세미콜론을 넣어줘야 하고, 객체지향을 사용하지 않기 때문에 함수가 정리되어 있지 않은 느낌이 듭니다. 새삼 자바, 자바스크립트, 파이썬 언어가 정말 편리하고 좋은 친구들이었다는 생각이 듭니다.
저같은 불평을 하는 사람들을 위해 microPython이 따로 존재하기는 합니다. microPython이 훨씬 간단하게 코딩할 수 있습니다. 그런데 제품 개발은 하나하나 신경 쓸 게 많습니다. microPython이 이런 부분까지 모두 케어를 해줄지 의문입니다. 여러 방면에서 바라봤을 때, 여전히 ESP-IDF가 양산 가능한 정도의 제품을 개발하기 딱 좋아 보입니다.
일단 영상에서 보시다시피, ESP32가 아이패드의 볼륨을 제어하고 커서를 쥐꼬리만큼 움직일 수 있게 되었습니다. 이제 입력 장치에 제어하는 기능들만 연동하면 가장 기본적인 펌웨어 구조는 구현이 되었다 할 수 있겠습니다. 그런데 그 전에 구현해야 할 문제들이 있습니다. 이 문제들이 먼저 해결되어야 그 다음을 생각해볼 수 있을듯합니다. 펌웨어 개발 로드맵에 따르면, 지금까지 다음의 단계를 완료했고, 앞으로 수행해야 할 과제들이 남아있습니다. 로드맵은 다음과 같습니다.
AirMouse 펌웨어 로드맵
1. 버튼 및 터치패드 인식 구현(완료)
A. 버튼 디바운싱 제어
B. 터치패드 인식 구현
2. 버튼을 사용해 블루투스 연결 및 멀티페어링
A. 내부 저장소를 통해 설정값 읽기
B. 내부저장소에 멀티페어링 값 저장
3. IMU 연동, 커서 움직임 구현
A. IMU 값 받아오기 및 보정
B. 블루투스로 IMU 값 전송
4. 전원 관리
A. 배터리 확인 및 host 기기에 값 전달
B. 절전모드 추가 + 조건에 따른 Wake Up 구현
C. 절전시 소모전력 측정 후 하드웨어 디버깅
5. 외부 설정 애플리케이션 연동
긴 글 읽어주셔서 감사합니다. ❤️와 광고 클릭으로 고마움을 간단히 표현할 수 있습니다.
개발환경 | Mac OS 15.0 Monterey Beta 5, Python 3.9.6, ESP-IDF v4.3
제품 개발 및 기타 문의 | dokixote@wklabs.io 혹은 오른쪽 아래 채팅을 통해 문의