É 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.
-
É 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
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
API_URL
- A API oficial da subathon é pública: https://subathon-api.justdavi.dev/api/time-left (criada pelo dev davi)SSID
- O nome da sua rede wifiPASSWORD
- A senha da sua rede wifiSDA_PIN
- GPIO para o pino deSDA
na comunicação I2CSCL_PIN
- GPIO para o pino deSCL
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
viacargo install
, não se esqueça de adicionar à sua variável de ambiente$PATH
o diretório~/.cargo/bin/
para o shell conseguir achar oespflash
. -
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.