1 pontos por GN⁺ 2024-07-28 | 1 comentários | Compartilhar no WhatsApp
  • Recentemente recebi da Sensor Watch uma nova placa lógica de substituição para o Casio F-91W
  • O F-91W é um dos relógios de quartzo mais populares do mundo, com cerca de 90 milhões de unidades vendidas
  • A placa da Sensor Watch substitui o movimento de quartzo original do F-91W por um novo cérebro baseado em ARM Cortex M0+
  • Ela usa o display LCD, os botões e o buzzer piezoelétrico originais, e a placa é programável
  • O projeto Sensor Watch oferece mostradores fáceis de modificar e pequenos aplicativos utilitários
  • Não há rádio Bluetooth, mas o conjunto de relógio utilitário leve, a bateria com duração de vários meses e a possibilidade de reconfigurar tudo em casa são grandes vantagens
  • Em cerca de uma hora foi possível trocar a placa lógica e configurar os segredos de 2FA das contas do Google e do Github para ver no pulso os códigos OTP usados com mais frequência
  • Também foi possível criar um novo mostrador de velocímetro para usá-lo como contador de remadas ou medidor de cadência
  • Há também um emulador baseado em wasm que facilita os testes no computador

Mostrador TOTP

  • Esse mostrador gera senhas descartáveis baseadas em tempo (TOTP), permitindo fazer login com segurança em sites populares como Google e Github
  • Pressione o botão de alarme para alternar entre os sites/segredos TOTP configurados
  • Suporta vários sites/segredos TOTP, e é preciso extrair o segredo do QR code TOTP e adicioná-lo ao código-fonte

Editando totp_face.c

  • Para remover a chave de demonstração e adicionar chaves ao fim da lista:
    • Aumente em um o número em static const uint8_t num_keys = 2;
    • Adicione bytes hexadecimais separados por vírgulas em static uint8_t keys[] = {}
    • Adicione o tamanho do segredo em static const uint8_t key_sizes[] = {}
    • Adicione uma entrada 30 em static const uint32_t timesteps[] = {}
    • Adicione o rótulo do segredo em static const char labels[][2] = {}

Criando um novo mostrador – velocímetro

  • Todo o código desse mostrador pode ser encontrado no pull request enviado ao projeto principal
  • A implementação está concentrada principalmente em uma única função de loop principal

Tratamento dos principais eventos

  • Quando o mostrador é ativado, ele exibe "RA"
  • Ao pressionar o botão MODE, ele avança para o próximo mostrador
  • Ao pressionar o botão LIGHT, ele acende a iluminação
  • Ao pressionar o botão ALARM:
    1. Atualiza a velocidade calculada com base no intervalo desde o pressionamento anterior
    2. Reinicia o contador de ticks
    3. Solicita um período de ticks rápido
  • A cada tick, exibe a velocidade atual ou "Hi" se for acima de 500 por minuto, ou "Lo" se for abaixo de 1 por minuto
  • Incrementa o contador de ticks

Resumo do GN⁺

  • O Sensor Watch amplia as funções do Casio F-91W com mostradores personalizáveis e aplicativos utilitários
  • A nova placa lógica baseada em ARM Cortex M0+ é programável e permite adicionar vários recursos
  • O mostrador TOTP oferece uma forma de fazer login com segurança em sites populares
  • O novo mostrador de velocímetro pode ser usado de forma útil como contador de remadas ou medidor de cadência
  • Este projeto oferece uma oportunidade interessante de expandir e personalizar as funções do relógio

1 comentários

 
GN⁺ 2024-07-28
Comentários do Hacker News
  • Há quem se sinta desconfortável em inserir a chave secreta do TOTP em uma página web

    • No Linux, é possível converter usando as ferramentas base32 e od
    • O projeto é legal, mas o design do relógio não agrada
  • É o tipo de conteúdo esperado no HN

  • O F-91W e o A158W têm o mesmo formato e são relógios muito legais pelo preço

    • Quase nunca acontece de a pulseira puxar os pelos do braço
    • O A168WGG tem pulseira cinza chumbo e mostrador preto
    • O A168 é um pouco maior que o A158
  • O GA-B2100-1AJF é estiloso até entre os G-Shock e oferece muitos recursos

  • A eficiência do mostrador do relógio é impressionante

    • O primeiro dígito só precisa mostrar de 0 a 5
    • O 7 é o único que causa problema
  • Alguém que trabalha na Nixon quer aplicar este projeto a um relógio digital da Nixon

  • O fato de precisar recompilar e gravar novamente o firmware do relógio pode limitar o uso de TOTP

  • Há quem gostaria que um relógio calculadora da Casio tivesse esse recurso

  • Parece que o emulador WASM não emula o easter egg da Casio

  • Alguém usa este projeto todos os dias e implementou uma nova interface para definir códigos TOTP

    • Também adicionou um recurso de calibração do usuário para usá-lo como medidor de asma
    • Há também um recurso de calibração que melhora a precisão do relógio para cerca de 10 segundos por ano
    • A comunidade está crescendo, e recentemente até criaram um jogo de corrida infinita
    • Os mantenedores são muito gentis
    • Se você quiser investir tempo em um projeto open source, é recomendado
  • Há quem gostaria que funcionasse com tokens SecurID

  • Questiona-se se mostrar o TOTP no relógio é bom para a segurança

    • Há preocupação com perder o relógio ou ele ser roubado