1P by neo 2달전 | favorite | 댓글 1개
  • 최근 Sensor Watch에서 Casio F-91W의 새로운 교체 로직 보드를 받음
  • F-91W는 세계에서 가장 인기 있는 쿼츠 시계 중 하나로, 약 9천만 대가 판매됨
  • Sensor Watch 보드는 F-91W의 원래 쿼츠 무브먼트를 ARM Cortex M0+ 기반의 새로운 두뇌로 교체함
  • 원래의 LCD 디스플레이, 버튼, 피에조 부저를 사용하며, 보드는 프로그래밍 가능함
  • Sensor Watch 프로젝트는 수정하기 쉬운 시계 화면과 작은 유틸리티 앱을 제공함
  • 블루투스 라디오는 없지만, 가벼운 유틸리티 시계 케이스와 몇 달 동안 지속되는 배터리 수명, 집에서 재구성할 수 있는 기능이 강력함
  • 약 한 시간 만에 로직 보드를 교체하고, Google과 Github 계정의 2FA 비밀을 설정하여 자주 사용하는 OTP 코드를 손목에서 확인할 수 있었음
  • 새로운 속도계 시계 화면을 작성하여 노젓기 스트로크미터나 케이던스 미터로 사용 가능함
  • 컴퓨터에서 테스트하기 쉬운 wasm 기반 에뮬레이터도 제공됨

TOTP 시계 화면

  • 이 시계 화면은 시간 기반 일회용 비밀번호(TOTP)를 생성하여 Google, Github 등 인기 있는 웹사이트에 안전하게 로그인할 수 있게 함
  • 알람 버튼을 눌러 설정된 웹사이트/TOTP 비밀을 순환함
  • 여러 웹사이트/TOTP 비밀을 지원하며, TOTP QR 코드에서 비밀을 추출하여 소스 코드에 추가해야 함

totp_face.c 편집

  • 데모 키를 제거하고, 목록 끝에 키를 추가하려면:
    • static const uint8_t num_keys = 2;에서 숫자를 하나 증가시킴
    • static uint8_t keys[] = {}에 16진수 바이트를 쉼표로 구분하여 추가함
    • static const uint8_t key_sizes[] = {}에 비밀의 크기를 추가함
    • static const uint32_t timesteps[] = {}30 항목을 추가함
    • static const char labels[][2] = {}에 비밀의 레이블을 추가함

새로운 시계 화면 작성 – 속도계

  • 이 시계 화면의 모든 코드는 메인 프로젝트에 제출한 pull request에서 찾을 수 있음
  • 구현은 주로 하나의 메인 루프 함수에 있음

주요 이벤트 처리

  • 시계 화면이 활성화되면 "RA"를 표시함
  • MODE 버튼을 누르면 다음 시계 화면으로 이동함
  • LIGHT 버튼을 누르면 조명을 켬
  • ALARM 버튼을 누르면:
    1. 이전 버튼 누름과의 간격을 기반으로 계산된 속도를 업데이트함
    2. 틱 카운터를 재설정함
    3. 빠른 틱 주기를 요청함
  • 매 틱마다 현재 속도를 표시하거나 분당 500회 이상일 경우 "Hi", 분당 1회 미만일 경우 "Lo"를 표시함
  • 틱 카운터를 증가시킴

GN⁺의 정리

  • Sensor Watch는 Casio F-91W의 기능을 확장하여 사용자 정의 가능한 시계 화면과 유틸리티 앱을 제공함
  • ARM Cortex M0+ 기반의 새로운 로직 보드는 프로그래밍 가능하며, 다양한 기능을 추가할 수 있음
  • TOTP 시계 화면은 인기 있는 웹사이트에 안전하게 로그인할 수 있는 기능을 제공함
  • 새로운 속도계 시계 화면은 노젓기 스트로크미터나 케이던스 미터로 유용하게 사용 가능함
  • 이 프로젝트는 시계의 기능을 확장하고 사용자 정의할 수 있는 흥미로운 기회를 제공함
Hacker News 의견
  • TOTP 비밀키를 웹페이지에 입력하는 것에 불편함을 느끼는 의견이 있음

    • Linux에서 base32od 도구를 사용하여 변환 가능함
    • 프로젝트는 멋지지만 시계 디자인은 별로임
  • HN에서 기대하는 콘텐츠임

  • F-91W와 A158W는 같은 형태로, 가격 대비 매우 멋진 시계임

    • 밴드가 팔털을 잡아당기는 경우는 거의 없음
    • A168WGG는 총알 회색 밴드와 검은색 페이스를 가짐
    • A168은 A158보다 약간 큼
  • GA-B2100-1AJF는 G-Shock 중에서도 스타일리시하며 많은 기능을 제공함

  • 시계의 디스플레이 효율성이 놀라움

    • 첫 번째 숫자는 0-5만 표시하면 됨
    • 7만 문제가 됨
  • Nixon에서 일하는 사람은 이 프로젝트를 Nixon 디지털 시계에 적용하고 싶어함

  • 손목시계를 재컴파일하고 다시 플래시해야 하는 점이 TOTP 사용을 제한할 수 있음

  • Casio 계산기 시계에 이런 기능이 있었으면 좋겠다는 의견이 있음

  • WASM 에뮬레이터가 Casio 이스터 에그를 에뮬레이트하지 않는 것 같음

  • 이 프로젝트를 매일 사용하며, TOTP 코드를 정의하는 새로운 인터페이스를 구현했음

    • 사용자 보정 기능을 추가하여 천식 측정기로 사용할 수 있음
    • 시계의 정확성을 연간 약 10초로 향상시키는 보정 기능도 있음
    • 커뮤니티가 성장 중이며, 최근에는 무한 러너 게임도 만들어졌음
    • 유지 보수자들이 매우 친절함
    • 오픈 소스 프로젝트에 시간을 투자하고 싶다면 추천함
  • SecurID 토큰과 함께 작동했으면 좋겠다는 의견이 있음

  • TOTP를 시계에 표시하는 것이 보안에 좋은지 의문을 제기함

    • 시계를 잃어버리거나 도난당할 경우를 걱정함