1 คะแนน โดย GN⁺ 2024-07-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อไม่นานมานี้ได้รับบอร์ดลอจิกสำหรับเปลี่ยนใหม่ของ Casio F-91W จาก Sensor Watch
  • F-91W เป็นหนึ่งในนาฬิกาควอตซ์ที่ได้รับความนิยมมากที่สุดในโลก โดยขายไปแล้วราว 90 ล้านเรือน
  • บอร์ดของ Sensor Watch แทนที่กลไกควอตซ์ดั้งเดิมของ F-91W ด้วยสมองใหม่ที่ใช้ ARM Cortex M0+
  • ใช้จอ LCD, ปุ่ม และ piezo buzzer เดิม โดยบอร์ดสามารถโปรแกรมได้
  • โปรเจ็กต์ Sensor Watch มีหน้าปัดนาฬิกาที่ปรับแก้ได้ง่ายและแอปยูทิลิตีขนาดเล็กให้ใช้งาน
  • แม้จะไม่มีวิทยุ Bluetooth แต่เคสนาฬิกายูทิลิตีน้ำหนักเบา อายุแบตเตอรี่ที่อยู่ได้นานหลายเดือน และความสามารถในการปรับแต่งประกอบใหม่ที่บ้านได้ก็เป็นจุดแข็งอย่างมาก
  • ใช้เวลาประมาณหนึ่งชั่วโมงในการเปลี่ยนบอร์ดลอจิก และตั้งค่า 2FA secret ของบัญชี Google และ Github เพื่อดูรหัส OTP ที่ใช้บ่อยได้จากข้อมือ
  • ยังเขียนหน้าปัดนาฬิกาแบบมาตรวัดความเร็วใหม่ เพื่อใช้เป็น stroke meter สำหรับการพายเรือหรือ cadence meter ได้
  • มีอีมูเลเตอร์แบบ wasm ให้ด้วย ทำให้ทดสอบบนคอมพิวเตอร์ได้ง่าย

หน้าปัดนาฬิกา TOTP

  • หน้าปัดนี้สร้างรหัสผ่านใช้ครั้งเดียวตามเวลา (TOTP) เพื่อให้ล็อกอินเว็บไซต์ยอดนิยมอย่าง Google, Github เป็นต้น ได้อย่างปลอดภัย
  • กดปุ่ม ALARM เพื่อวนดูเว็บไซต์/TOTP secret ที่ตั้งค่าไว้
  • รองรับหลายเว็บไซต์/หลาย TOTP secret โดยต้องดึง secret จาก TOTP QR code แล้วเพิ่มลงในซอร์สโค้ด

แก้ไข totp_face.c

  • หากต้องการลบคีย์เดโมและเพิ่มคีย์ไว้ท้ายรายการ:
    • เพิ่มตัวเลขขึ้นหนึ่งใน static const uint8_t num_keys = 2;
    • เพิ่มไบต์ฐานสิบหกคั่นด้วยเครื่องหมายจุลภาคใน static uint8_t keys[] = {}
    • เพิ่มขนาดของ secret ใน static const uint8_t key_sizes[] = {}
    • เพิ่มรายการ 30 ใน static const uint32_t timesteps[] = {}
    • เพิ่ม label ของ secret ใน static const char labels[][2] = {}

การเขียนหน้าปัดนาฬิกาใหม่ – มาตรวัดความเร็ว

  • โค้ดทั้งหมดของหน้าปัดนี้ดูได้ใน pull request ที่ส่งเข้าไปยังโปรเจ็กต์หลัก
  • การติดตั้งใช้งานส่วนใหญ่อยู่ในฟังก์ชันลูปหลักเพียงตัวเดียว

การจัดการอีเวนต์หลัก

  • เมื่อเปิดใช้งานหน้าปัดนาฬิกา จะแสดง "RA"
  • กดปุ่ม MODE เพื่อไปยังหน้าปัดถัดไป
  • กดปุ่ม LIGHT เพื่อเปิดไฟ
  • กดปุ่ม ALARM แล้วจะ:
    1. อัปเดตความเร็วที่คำนวณจากช่วงห่างระหว่างการกดปุ่มครั้งก่อน
    2. รีเซ็ตตัวนับ tick
    3. ขอรอบ tick ที่เร็วขึ้น
  • ในทุก tick จะแสดงความเร็วปัจจุบัน หรือแสดง "Hi" หากเกิน 500 ครั้งต่อนาที และ "Lo" หากต่ำกว่า 1 ครั้งต่อนาที
  • เพิ่มตัวนับ tick

สรุปโดย GN⁺

  • Sensor Watch ขยายความสามารถของ Casio F-91W ด้วยหน้าปัดนาฬิกาแบบปรับแต่งได้และแอปยูทิลิตี
  • บอร์ดลอจิกใหม่ที่ใช้ ARM Cortex M0+ สามารถโปรแกรมได้ และเพิ่มความสามารถได้หลากหลาย
  • หน้าปัด TOTP มอบความสามารถในการล็อกอินเว็บไซต์ยอดนิยมได้อย่างปลอดภัย
  • หน้าปัดมาตรวัดความเร็วแบบใหม่เหมาะสำหรับใช้เป็น stroke meter ในการพายเรือหรือ cadence meter
  • โปรเจ็กต์นี้เปิดโอกาสที่น่าสนใจในการขยายความสามารถและปรับแต่งนาฬิกาได้ตามต้องการ

1 ความคิดเห็น

 
GN⁺ 2024-07-28
ความคิดเห็นจาก Hacker News
  • มีความเห็นว่ารู้สึกไม่สะดวกที่จะป้อนคีย์ลับ TOTP ลงในหน้าเว็บ

    • บน Linux สามารถแปลงได้โดยใช้เครื่องมือ base32 และ od
    • โปรเจ็กต์นี้เจ๋งดี แต่ดีไซน์นาฬิกาไม่ค่อยโดนใจ
  • เป็นคอนเทนต์แบบที่คาดหวังจะได้เห็นบน HN

  • F-91W และ A158W เป็นทรงเดียวกัน และเป็นนาฬิกาที่ดูดีมากเมื่อเทียบกับราคา

    • แทบไม่เคยมีกรณีที่สายนาฬิกาจะไปดึงขนแขน
    • A168WGG มีสายสีเทาแบบ gunmetal และหน้าปัดสีดำ
    • A168 มีขนาดใหญ่กว่า A158 เล็กน้อย
  • GA-B2100-1AJF เป็น G-Shock ที่มีสไตล์และมีฟังก์ชันมากมาย

  • ประสิทธิภาพของการแสดงผลบนหน้าจอนาฬิกาน่าทึ่งมาก

    • ตัวเลขตัวแรกต้องแสดงแค่ 0-5 ก็พอ
    • เลข 7 ต่างหากที่เป็นปัญหา
  • มีคนที่ทำงานที่ Nixon อยากนำโปรเจ็กต์นี้ไปใช้กับนาฬิกาดิจิทัลของ Nixon

  • การที่ต้องคอมไพล์ใหม่และแฟลชลงนาฬิกาข้อมืออีกครั้ง อาจเป็นข้อจำกัดต่อการใช้งาน TOTP

  • มีความเห็นว่าอยากให้ Casio รุ่นนาฬิกาคำนวณมีฟังก์ชันแบบนี้บ้าง

  • ดูเหมือนว่าอีมูเลเตอร์ WASM จะไม่จำลอง easter egg ของ Casio

  • มีคนใช้โปรเจ็กต์นี้ทุกวัน และได้ทำอินเทอร์เฟซใหม่สำหรับกำหนดโค้ด TOTP

    • เพิ่มฟังก์ชันปรับเทียบโดยผู้ใช้ ทำให้ใช้เป็นเครื่องวัดโรคหอบหืดได้
    • ยังมีฟังก์ชันปรับเทียบที่ช่วยเพิ่มความแม่นยำของนาฬิกาให้คลาดเคลื่อนเพียงประมาณ 10 วินาทีต่อปี
    • คอมมูนิตี้กำลังเติบโต และเมื่อไม่นานมานี้ก็มีการสร้างเกม infinite runner ขึ้นมาด้วย
    • ผู้ดูแลโครงการเป็นมิตรมาก
    • ถ้าอยากลงทุนเวลากับโปรเจ็กต์โอเพนซอร์ส ก็แนะนำเลย
  • มีความเห็นว่าอยากให้มันใช้งานร่วมกับโทเค็น SecurID ได้

  • มีการตั้งคำถามว่าการแสดง TOTP บนนาฬิกาดีต่อความปลอดภัยหรือไม่

    • กังวลกรณีทำนาฬิกาหายหรือถูกขโมย