Skip to content

febits/meiaclock-esp32

Repository files navigation

Meiaclock ESP32

É um protótipo de projeto chamado "meiaclock" para acompanhar o timer da subathon do Meiaum em formato de "relógio digital".

É útil? Não, é só abrir a live. É divertido possuir um meiaclock? Sim.

Meiaclock on protoboard

Hardware necessário

  • ESP-WROOM-32 (link)
  • DISPLAY OLED SSD1306 (link)

Software necessário

  • É utilizado o projeto esp-rs cujo é uma série de repositórios em Rust relacionados ao ESP32. Principalmente aos bindings do esp-idf, que é o framework oficial em C.

  • Instale todas as dependências descritas aqui

Tutorial

Important

Para o projeto compilar corretamente, faz-se necessário a configuração de algumas variáveis de ambiente específicas descritas abaixo

  • No linux, você pode definir assim:
export VAR=VALUE
  1. API_URL - A API oficial da subathon é pública: https://subathon-api.justdavi.dev/api/time-left (criada pelo dev davi)
  2. SSID - O nome da sua rede wifi
  3. PASSWORD - A senha da sua rede wifi
  4. SDA_PIN - GPIO para o pino de SDA na comunicação I2C
  5. SCL_PIN - GPIO para o pino de SCL na comunicação I2C

No ESP-WROOM-32 informado acima: GPIO 21 -> SDA | GPIO 22 -> SCL

git clone https://github.com/febits/meiaclock-esp32
cd meiaclock-esp32
cargo build --release
espflash flash --monitor target/xtensa-esp32-espidf/release/meiaclock-esp32
  • Se você instalou o espflash via cargo install, não se esqueça de adicionar à sua variável de ambiente $PATH o diretório ~/.cargo/bin/ para o shell conseguir achar o espflash.

  • Se as variáveis de ambiente estiverem corretas (junto com as condições ideais de temperatura e pressão) e as conexões com os pinos estiverem corretas, o timer do menininho deve aparecer na sua tela.

  • Lembrando que qualquer erro tratável será enviado para o monitor serial, cujo é ativado logo após o flash ser realizado na placa.

Note

O timer do display atualiza em uma janela de 20 segundos para não sobrecarregar o servidor da API com muitos requests por minuto. A taxa de requests agora é 3 por minuto, ao invés de 60. Também há o fato de que o timer da própria subathon não atualiza com tanta frequência, então não há necessidade de fazer tantos requests.

About

Meiaclock ESP32

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages