- 最近、Sensor WatchでCasio F-91W向けの新しい交換用ロジックボードを入手
- F-91Wは世界で最も人気のあるクォーツ腕時計の一つで、約9,000万台が販売されている
- Sensor Watchボードは、F-91Wの元のクォーツムーブメントをARM Cortex M0+ベースの新しい頭脳に置き換える
- 元のLCDディスプレイ、ボタン、ピエゾブザーを使用し、ボードはプログラム可能
- Sensor Watchプロジェクトは、改造しやすいウォッチフェイスと小さなユーティリティアプリを提供
- Bluetooth無線はないが、軽量なユーティリティウォッチのケース、数か月持続するバッテリー寿命、自宅で再構成できる機能が強力
- 約1時間でロジックボードを交換し、GoogleとGitHubアカウントの2FAシークレットを設定して、よく使うOTPコードを手首で確認できるようになった
- 新しいスピードメーター用ウォッチフェイスを書いて、ボート漕ぎのストロークメーターやケイデンスメーターとして使用可能
- コンピューターでテストしやすいwasmベースのエミュレーターも提供
TOTPウォッチフェイス
- このウォッチフェイスは時間ベースのワンタイムパスワード(TOTP)を生成し、Google、GitHubなどの人気サイトに安全にログインできるようにする
- アラームボタンを押して、設定したWebサイト/TOTPシークレットを順番に切り替える
- 複数のWebサイト/TOTPシークレットをサポートし、TOTP QRコードからシークレットを抽出してソースコードに追加する必要がある
totp_face.c の編集
- デモキーを削除し、リストの末尾にキーを追加するには:
static const uint8_t num_keys = 2; の数値を1つ増やす
static uint8_t keys[] = {} に16進バイトをカンマ区切りで追加する
static const uint8_t key_sizes[] = {} にシークレットのサイズを追加する
static const uint32_t timesteps[] = {} に 30 の項目を追加する
static const char labels[][2] = {} にシークレットのラベルを追加する
新しいウォッチフェイスの作成 – スピードメーター
- このウォッチフェイスのすべてのコードは、メインプロジェクトに提出したpull requestで確認できる
- 実装は主に1つのメインループ関数にある
主なイベント処理
- ウォッチフェイスが有効になると "RA" を表示する
- MODEボタンを押すと次のウォッチフェイスに移動する
- LIGHTボタンを押すとライトを点灯する
- ALARMボタンを押すと:
- 前回のボタン押下との間隔に基づいて計算された速度を更新する
- ティックカウンターをリセットする
- 高速ティック周期を要求する
- 各ティックごとに現在の速度を表示し、分あたり500回超の場合は "Hi"、分あたり1回未満の場合は "Lo" を表示する
- ティックカウンターを増やす
GN⁺のまとめ
- Sensor WatchはCasio F-91Wの機能を拡張し、カスタマイズ可能なウォッチフェイスとユーティリティアプリを提供する
- ARM Cortex M0+ベースの新しいロジックボードはプログラム可能で、さまざまな機能を追加できる
- TOTPウォッチフェイスは、人気のWebサイトに安全にログインできる機能を提供する
- 新しいスピードメーター用ウォッチフェイスは、ボート漕ぎのストロークメーターやケイデンスメーターとして便利に使える
- このプロジェクトは、腕時計の機能を拡張しカスタマイズできる興味深い機会を提供する
1件のコメント
Hacker Newsのコメント
TOTPの秘密鍵をWebページに入力することに不快感を覚えるという意見がある
base32とodツールを使って変換できるHNで期待されるタイプのコンテンツだ
F-91WとA158Wは同じような形で、価格を考えると非常に魅力的な時計だ
GA-B2100-1AJFはG-Shockの中でもスタイリッシュで、多くの機能を備えている
時計のディスプレイ効率の良さに驚かされる
Nixonで働いている人は、このプロジェクトをNixonのデジタルウォッチに適用したいと思っている
腕時計を再コンパイルして再フラッシュしなければならない点が、TOTPの利用を制限する可能性がある
Casioの計算機付き腕時計にこうした機能があればよいという意見がある
WASMエミュレーターはCasioのイースターエッグをエミュレートしていないようだ
このプロジェクトを毎日使っており、TOTPコードを定義する新しいインターフェースを実装した
SecurIDトークンと一緒に動作してほしいという意見がある
TOTPを時計に表示することがセキュリティ上良いのか疑問を呈する声もある