1 points par GN⁺ 2024-07-28 | 1 commentaires | Partager sur WhatsApp
  • J’ai récemment reçu de Sensor Watch une nouvelle carte logique de remplacement pour la Casio F-91W
  • La F-91W est l’une des montres à quartz les plus populaires au monde, avec environ 90 millions d’unités vendues
  • La carte Sensor Watch remplace le mouvement à quartz d’origine de la F-91W par un nouveau cerveau basé sur ARM Cortex M0+
  • Elle réutilise l’écran LCD d’origine, les boutons et le buzzer piézo, et la carte est programmable
  • Le projet Sensor Watch propose des cadrans faciles à modifier et de petites applications utilitaires
  • Il n’y a pas de radio Bluetooth, mais le boîtier léger de montre utilitaire, l’autonomie de plusieurs mois et la possibilité de la reconfigurer chez soi sont de sérieux atouts
  • En environ une heure, j’ai remplacé la carte logique, configuré les secrets 2FA de mes comptes Google et Github, et pu consulter au poignet les codes OTP que j’utilise souvent
  • J’ai aussi écrit un nouveau cadran de compteur de vitesse pouvant servir de stroke meter pour l’aviron ou de cadence meter
  • Un émulateur basé sur wasm, facile à tester sur ordinateur, est également fourni

Cadran TOTP

  • Ce cadran génère des mots de passe à usage unique basés sur le temps (TOTP), ce qui permet de se connecter en toute sécurité à des sites populaires comme Google et Github
  • Appuyez sur le bouton d’alarme pour faire défiler les sites web / secrets TOTP configurés
  • Il prend en charge plusieurs sites web / secrets TOTP, et il faut extraire le secret depuis le QR code TOTP pour l’ajouter au code source

Édition de totp_face.c

  • Pour supprimer la clé de démonstration et ajouter une clé à la fin de la liste :
    • augmentez de un le nombre dans static const uint8_t num_keys = 2;
    • ajoutez des octets hexadécimaux séparés par des virgules dans static uint8_t keys[] = {}
    • ajoutez la taille du secret dans static const uint8_t key_sizes[] = {}
    • ajoutez une entrée 30 dans static const uint32_t timesteps[] = {}
    • ajoutez le libellé du secret dans static const char labels[][2] = {}

Écrire un nouveau cadran – compteur de vitesse

  • Tout le code de ce cadran se trouve dans la pull request soumise au projet principal
  • L’implémentation se trouve principalement dans une unique fonction de boucle principale

Gestion des principaux événements

  • Quand le cadran est activé, il affiche "RA"
  • Une pression sur le bouton MODE passe au cadran suivant
  • Une pression sur le bouton LIGHT allume l’éclairage
  • Une pression sur le bouton ALARM :
    1. met à jour la vitesse calculée à partir de l’intervalle avec la pression précédente
    2. réinitialise le compteur de ticks
    3. demande une période de ticks rapide
  • À chaque tick, il affiche la vitesse actuelle, ou "Hi" si elle dépasse 500 par minute, ou "Lo" si elle est inférieure à 1 par minute
  • Il incrémente le compteur de ticks

Résumé de GN⁺

  • Sensor Watch étend les fonctions de la Casio F-91W avec des cadrans personnalisables et des applications utilitaires
  • La nouvelle carte logique basée sur ARM Cortex M0+ est programmable et permet d’ajouter diverses fonctionnalités
  • Le cadran TOTP permet de se connecter en toute sécurité à des sites web populaires
  • Le nouveau cadran de compteur de vitesse peut être utile comme stroke meter pour l’aviron ou comme cadence meter
  • Ce projet offre une opportunité intéressante d’étendre et de personnaliser les fonctions de la montre

1 commentaires

 
GN⁺ 2024-07-28
Avis Hacker News
  • Certains trouvent gênant de saisir une clé secrète TOTP sur une page web

    • La conversion est possible sous Linux avec les outils base32 et od
    • Le projet est sympa, mais le design de la montre n'est pas terrible
  • C'est le genre de contenu attendu sur HN

  • Les F-91W et A158W ont le même format et sont d'excellentes montres pour leur prix

    • Le bracelet tire rarement les poils du bras
    • La A168WGG a un bracelet gris canon de fusil et un cadran noir
    • La A168 est légèrement plus grande que la A158
  • La GA-B2100-1AJF est l'une des G-Shock les plus stylées et offre beaucoup de fonctionnalités

  • L'efficacité de l'affichage de la montre est impressionnante

    • Le premier chiffre n'a besoin d'afficher que 0 à 5
    • Seul le 7 pose problème
  • Une personne travaillant chez Nixon aimerait appliquer ce projet aux montres numériques Nixon

  • Le fait de devoir recompiler puis reflasher la montre peut limiter l'usage du TOTP

  • Certains aimeraient que les montres calculatrices Casio aient ce genre de fonctionnalité

  • Il semble que l'émulateur WASM n'émule pas l'easter egg Casio

  • Quelqu'un utilise ce projet tous les jours et a implémenté une nouvelle interface pour définir les codes TOTP

    • Une fonction de calibration utilisateur a été ajoutée pour l'utiliser comme débitmètre de pointe pour l'asthme
    • Une fonction de calibration améliore aussi la précision de la montre à environ 10 secondes par an
    • La communauté est en pleine croissance et un jeu de runner infini a récemment été créé
    • Les mainteneurs sont très bienveillants
    • Recommandé si vous voulez investir du temps dans un projet open source
  • Certains aimeraient qu'il fonctionne avec les tokens SecurID

  • D'autres se demandent s'il est vraiment bon pour la sécurité d'afficher le TOTP sur une montre

    • Ils s'inquiètent du risque de perte ou de vol de la montre