- Um pequeno display que mostra em tempo real as informações de chegada dos trens do BART foi criado para reproduzir a atmosfera das placas reais da plataforma
- Hardware montado com Seeed Studio XIAO ESP32C6 e um display OLED de caracteres vermelho 20x4
- Em vez de processar diretamente os dados da API GTFS Realtime, foi criado um servidor intermediário (middleware) que os converte em uma API simplificada para ser consultada pelo ESP32
- Em uma carcaça feita com impressão 3D, foram adicionados detalhes como etiquetas e parafusos para reproduzir uma aparência semelhante à das placas reais do BART
- O produto final foi fixado sob a prateleira acima do monitor e exibe horários de chegada, mensagem de segurança e relógio, recriando a sensação de estar na plataforma mesmo em ambiente interno
Configuração de hardware
- O projeto é composto por Seeed Studio XIAO ESP32C6, SPI Red 20x4 Character OLED Display e SparkFun Logic Level Converter
- O ESP32C6 é responsável por acionar o display e coletar as informações de chegada do BART
- A compatibilidade de tensão é garantida por meio do conversor de nível lógico
- Foi escolhido o módulo OLED vermelho da BuyDisplay para reproduzir o visual das placas reais das plataformas do BART
- A PCB era um pouco maior que o display, o que afetou o tamanho final, mas isso foi aceito em troca de um resultado visual melhor
- Todos os componentes foram soldados em uma perfboard e conectados por header pins, permitindo instalação direta no display em formato de cartucho
Estrutura do firmware
- A API oficial do BART usa o formato GTFS Realtime, desenvolvido em colaboração com o Google
- Como era difícil fazer o parsing diretamente no ESP32, foi criado um servidor intermediário (middleware)
- O servidor busca os dados GTFS e extrai apenas as informações necessárias
- Depois os converte em uma API simplificada que pode ser consultada pelo ESP32
- O código relacionado está disponível no repositório do GitHub (filbot/bart-proxy)
Demonstração e montagem
- Todos os componentes foram montados e a versão inicial da carcaça impressa em 3D foi testada
- No vídeo de demonstração, a peça concluída antes da pintura aparece funcionando com recebimento de dados em tempo real
- O processo de montagem inclui a verificação do tamanho real e das proporções
Acabamento e conclusão do visual
- As peças impressas em 3D foram finalizadas com lixamento, primer e pintura
- O logotipo do fabricante das placas reais do BART e o número da plataforma foram impressos em uma Brother label printer e aplicados
- Os arquivos do modelo 3D finalizado podem ser baixados no Makerworld
Resultado final
- O produto final foi fixado com fita dupla face sob a prateleira metálica acima do monitor
- O display mostra horários de chegada dos trens, hora atual e mensagem de segurança do BART
- Embora também seja possível consultar as informações em tempo real pela web, um display em miniatura no formato da plataforma real oferece uma experiência de uso mais divertida
1 comentários
Comentários do Hacker News
Projeto realmente muito legal. Antigamente eu também saía de casa de acordo com o horário da estação, mas logo percebi que isso não fazia sentido
Simplesmente sair na hora que for mais confortável elimina o estresse de planejar, e mesmo que o tempo médio de espera aumente um pouco, a cabeça fica muito mais tranquila
Em dias de algo como 20 graus abaixo de zero, esperar 1 minuto ou 7 minutos faz uma diferença enorme
Veja este artigo no Medium
Eu podia usar esse tempo para fazer flashcards de SSR ou ler um livro e me recompor
Especialmente a estação South San Francisco tem um teto alto e dá até para ouvir pombos, então a atmosfera é quase de catedral
Também fiz algo parecido. É um projeto com display colorido usando dados de transporte da Suíça, e eu até transformei isso em produto
Veja o post do projeto e o site do produto
No ESP32-S3, ele usa dados públicos fornecidos pelo governo
O nível de acabamento está realmente ótimo. A escolha do display também foi excelente
Se quiser reduzir o middleware, uma opção é usar um LLM moderno para converter a linguagem do código
O ESP é poderoso o bastante para lidar diretamente com o trabalho de API, então fazer a conversão com um LLM também traz um efeito de aprendizado bem grande
Esse tipo de projeto realmente inspira
Por causa dos detalhes minuciosos, parece uma placa em miniatura de estação de verdade. Ficou muito bom
Sempre que olho para o display, sinto como se a voz dos anúncios da BART tocasse automaticamente na minha cabeça
Artigo relacionado: texto sobre os anúncios da BART
Trabalho realmente muito legal. Parece algo que mudaria totalmente a atmosfera do quarto
Tenho uma sugestão de funcionalidade — seria legal adicionar uma voz robótica
Referência: artigo sobre os anúncios da BART
Mas outras pessoas acharam barulhento, então tivemos que desligar rapidamente
Naquela época, quando a plataforma mudava, você precisava conferir tudo manualmente
Li a matéria e pensei “preciso encontrar essa voz”, e foi exatamente essa sensação de finalmente tê-la encontrado
Fiquei inspirado pelo design simples e limpo da API em tempo real
Comparado com quando lidei com dados GTFS no passado, parece uma abordagem bem mais simples
No geral, o acabamento e os detalhes são excelentes. A atmosfera e a imersão ficaram muito boas
Eu também queria fazer algo parecido para mostrar os trens perto da minha casa
Mas ainda não encontrei uma API confiável