TECH 으로 돌아가기
TECH HACKER NEWS 오늘 5분 읽기 42 READS

노트북 열 때마다 삐그덕 — Framework 12를 '낡은 나무문'으로 만든 센서 해킹

노트북 열 때마다 삐그덕 — Framework 12를 '낡은 나무문'으로 만든 센서 해킹
SOURCE IMAGE · HACKER NEWS
노트북 열 때마다 삐그덕 — Framework 12를 '낡은 나무문'으로 만든 센서 해킹

가끔은 아무 쓸모없지만 완성도만큼은 진심인 프로젝트가 개발자를 웃게 만들잖아요. 오늘 소개할 creakwork12가 딱 그런 물건이에요. 수리하기 쉬운 모듈형 노트북으로 유명한 Framework의 12인치 컨버터블 모델을, 화면을 여닫을 때마다 오래된 나무문처럼 '삐그더더덕' 소리가 나게 만들어주는 오픈소스 프로그램이거든요. 화면을 천천히 열면 소리도 천천히 늘어지고, 확 열면 소리도 빠르게 따라와요. 진짜 경첩에 기름칠 안 한 문짝처럼요.

어떻게 만들었을까요

원리를 뜯어보면 의외로 배울 게 많아요. Framework 12는 화면이 360도로 젖혀지는 컨버터블 노트북이라서, 태블릿 모드로 전환됐는지 알아채기 위해 본체와 화면 양쪽에 가속도 센서(가속도계)가 들어 있거든요. 가속도계가 뭐냐면, 기기가 어느 방향으로 얼마나 기울어져 있는지를 중력을 기준으로 감지하는 작은 센서예요. 스마트폰 화면이 가로세로로 자동 회전하는 것도 이 센서 덕분이고요. 화면 쪽 센서와 본체 쪽 센서가 각각 느끼는 중력 방향을 비교하면, 두 부품 사이의 각도, 즉 힌지가 지금 몇 도나 열려 있는지를 계산할 수 있어요.

리눅스에서는 이런 센서들을 IIO(Industrial I/O)라는 서브시스템으로 읽을 수 있는데요. /sys/bus/iio/ 경로 아래에 센서 값이 파일처럼 노출돼서, 특별한 드라이버 개발 없이도 값을 읽어올 수 있어요. creakwork12는 이 값을 계속 지켜보다가 힌지 각도가 변하는 속도에 맞춰 삐걱 소리를 재생하는 방식이에요. 각도 변화가 없으면 조용하고, 움직이는 동안만 소리가 나니까 정말 문짝을 밀고 있는 듯한 느낌이 나는 거죠.

이 쓸데없는 프로젝트에서 배울 점

농담 같은 프로젝트지만, 뜯어보면 실무에서도 쓸 만한 지식이 꽤 들어 있어요. 첫째, 내 노트북에 어떤 센서가 들어 있고 그걸 어떻게 읽는지 알게 돼요. 힌지 각도를 알 수 있다면 '화면을 특정 각도 이하로 닫으면 자동으로 어떤 작업 실행', '태블릿 모드에서 UI 전환' 같은 실용적인 자동화도 똑같은 원리로 만들 수 있거든요. 둘째, 하드웨어 이벤트에 반응해서 소리나 동작을 트리거하는 구조는 IoT나 임베디드 쪽에서 늘 쓰는 패턴이에요. 센서 값 읽기, 노이즈 걸러내기, 이벤트 판정, 출력 재생으로 이어지는 파이프라인을 작게나마 처음부터 끝까지 완주해보는 셈이죠.

그리고 Framework라는 회사 자체도 짚고 넘어갈 만해요. 부품을 사용자가 직접 교체하고 업그레이드할 수 있게 설계한 노트북을 만드는 곳인데, 하드웨어 사양과 인터페이스를 상당히 개방적으로 공개하거든요. 그래서 이런 장난스러운 해킹부터 커뮤니티가 직접 만드는 커스텀 확장 모듈까지, 사용자들 사이에서 별별 프로젝트가 다 나와요. 꽁꽁 닫아둔 생태계에서는 나오기 힘든 문화죠. 하드웨어가 열려 있으면 소프트웨어 개발자들의 상상력도 같이 열린다는 걸 보여주는 사례예요.

한국 개발자에게 주는 시사점

거창한 기술은 아니지만, 이런 프로젝트야말로 사이드 프로젝트의 좋은 본보기라고 생각해요. 범위가 작아서 완성이 가능하고, 아이디어가 웃겨서 사람들이 기억하고, 그 안에 센서 읽기와 리눅스 시스템 프로그래밍이라는 진짜 학습이 들어 있잖아요. 포트폴리오에 '뭔가 대단한 것'을 넣어야 한다는 부담 때문에 시작조차 못 하는 경우가 많은데, 오히려 이렇게 하루 이틀이면 만들 수 있는 유쾌한 프로젝트가 실행력을 키워주거든요. 리눅스 노트북을 쓰고 계신다면, 내 기기에 어떤 IIO 센서가 잡히는지 목록을 한번 출력해보는 것만으로도 꽤 재미있는 시작이 될 거예요.

정리하면, 노트북의 힌지 각도 센서를 읽어서 문짝 삐걱 소리를 내는, 쓸모는 없지만 배울 건 확실히 있는 오픈소스 장난감이에요. 여러분이 만들어본 '가장 쓸데없지만 재미있었던' 프로젝트는 뭐였나요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/ArcaEge/creakwork12
SHARE
처리 중...