기압계가 있는 폰이면 어떤 제품이든 저울처럼 사용할 수 있음. 대부분의 iPhone 6 이후 모델, Pixel, 삼성 플래그십 등이 해당됨. 지퍼백에 공기를 불어넣고 폰을 넣은 후 압력을 표시하는 앱을 실행함. 지퍼백 위에 무게를 아는 물건(예: 쿼터 동전)을 조심해서 올려놓으면, 디스플레이의 압력 변화로부터 작은 물건의 무게를 측정할 수 있음. 무게 변화와 압력 변화가 선형으로 비례해서 가능함
예전에는 weight API가 비공개로 바뀌었는데, 사람들이 iPhone을 약물 거래에 쓰지 못하게 막기 위해서였던 것으로 기억함
이번 아이디어가 재밌기는 한데, 약간 Rube Goldberg 머신 느낌이 있음. 설명은 다음과 같음:
저울 앱 실행
트랙패드에 손가락 올림
손을 뗀 상태에서 물체를 트랙패드에 올림
최소한의 압력으로 손가락을 계속 닿게 해두기
압력 센서는 정전용량을 감지해야 하므로 꼭 손가락을 닿게 해야 하고, 너무 세게 눌러도 안 됨
이런 것들이 제대로 동작하는지 테스트해 봤는데, 정말 기발한 해킹이라 생각함. 바로 이런 게 Hacker News에 어울린다고 느낌
얇은 도전성 폼이나 창의적인 구조의 주석지+알루미늄 포일도 쓰일 수 있지 않을까 생각함. 무게가 거의 없는 보조판 위에 물체를 올리는 식
손가락을 트랙패드 1~2mm 정도 위에만 올려도 정전용량이 감지될 때가 있음
핫도그도 정확하게 측정 가능할지 궁금함
iPhone에서는 화면에 금속 숟가락을 올리고 그 숟가락 안에 물체를 올려 무게를 재는 트릭도 있었음
TrackWeight는 Takuto Nakamura의 Open Multi-Touch Support library(라이브러리)를 활용해서 macOS에서 일반 앱에서는 접근할 수 없는 트랙패드의 모든 이벤트와 압력 데이터까지 가져온다는데, 라이브러리로는 되면서 왜 Swift 같은 공식 API에서는 공개되지 않았는지 궁금함
Mac OS에는 "Private Frameworks"라는 것이 있음. 시스템에서 쓰지만 헤더 파일은 기본 제공하지 않음. 이런 프레임워크에서 헤더파일을 추출해외부 라이브러리(예: OpenMultitouchSupport)로 래핑하는 방식으로 접근 가능함
이 프로젝트를 보니 20년 전 PowerBook의 하드디스크 진동 감지 센서를 이용해 지진계처럼 건물의 공사 소음을 측정했던 기억이 떠오름. 관련 후기
내가 바로 그 소프트웨어(SeisMac)를 만들었음. Apple의 Sudden Motion Sensor(자유 낙하 감지로 하드디스크를 보호하는 센서) 비공개 API에 접근해서 3축 가속도 그래프를 보여주는 무료 앱을 만들었고, 랩탑을 여러 방향으로 기울이면서 자동 보정하는 기능도 있었음. 전 세계 사용자들이 선박, Drake Passage 등에서 측정한 결과를 보내오기도 했고, 교육용 지원금도 받았음. SSD로 바뀌면서 내게는 아쉬운 변화였음. Sudden Motion Sensor 위키
나도 iPhone을 기압 기록기로 써본 적 있음. 내 차 트렁크가 고속도로에서 아스팔트 이음새를 지날 때마다 조금씩 열리고 닫혀서 멀미가 났었음. 데이터로 Tesla 서비스에 보여주니 트렁크를 다시 조정해줬고, 문제가 사라졌음
IBM이 한 건물에서 이사한 이유가 길 건너 신축 빌딩 때문에 발생하는 진동 때문에 데이터 센터의 하드디스크가 계속 고장 나서였다는 이야기를 들은 적 있음. 관련 링크
ThinkPad의 진동 센서를 때림 감지용으로 써서, 노트북을 두드린 방향에 따라 윈도우 매니저의 가상 데스크탑이 좌우로 이동하도록 해킹한 사람들도 있었음
Hacker News 의견
압력 센서는 정전용량을 감지해야 하므로 꼭 손가락을 닿게 해야 하고, 너무 세게 눌러도 안 됨
LiquidMac