- Morando em São Francisco, acabei usando bastante transporte público, mas muitos apps só oferecem alertas de chegada para o trajeto inteiro
- Criei algo para mostrar no Kindle apenas os alertas de chegada mais próximos da minha localização atual, para poder conferir antes de sair
- Fiz jailbreak no Kindle, ativei o USBNet e configurei o acesso via SSH.
- Com isso, foi possível configurar uma tarefa
cron para atualizar a tela.
- Como primeiro passo para exibir imagens no Kindle, capturei uma screenshot da página de partidas em tempo real do BART e a enviei para o dispositivo.
- Na tentativa inicial, a imagem apareceu fortemente distorcida.
- O problema foi resolvido ajustando o tamanho da imagem e a profundidade de cor.
Fornecendo uma imagem útil
- Foi criado um servidor em Node.js que usa Puppeteer para tirar screenshots da página do BART, ajustá-las ao tamanho e às cores adequados para o Kindle, e retorná-las por um endpoint HTTP.
- O servidor foi instalado em um Raspberry Pi, e o
cron foi configurado para buscar a imagem a cada minuto.
Recomeçando do zero - arquitetura
- Foi criado um novo servidor HTTP usando Rust e Axum.
- A API do 511.org foi usada para obter os horários de chegada de todos os pontos da Bay Area.
- A biblioteca gráfica Skia foi usada para renderizar imagens PNG diretamente.
Buscando os dados
- A API do 511.org foi usada para obter os horários de chegada do SF MUNI.
- A resposta JSON foi analisada e filtrada para manter apenas os horários de chegada dos pontos necessários.
- Os horários de chegada foram ordenados e exibidos para cada direção.
Resumo do GN⁺
- Este projeto mostra o processo de construir um sistema que usa um Kindle antigo para exibir informações de transporte público em tempo real.
- Com Rust e Skia, foi possível criar um sistema eficiente e confiável.
- Ao fornecer informações de transporte público em tempo real, o sistema pode oferecer dados úteis ao usuário.
- Como projeto com funcionalidade semelhante, é recomendada uma smart display baseada em Raspberry Pi.
1 comentários
Comentários do Hacker News
OneBusAway é um projeto de código aberto usado por muitas pessoas diariamente para verificar a localização e o horário de chegada de ônibus, trens, bondes e teleféricos
Outro usuário mencionou o app Öffi, que oferece funcionalidades semelhantes ao OneBusAway
BART e MUNI oferecem suporte ao General Transit Feed Specification, permitindo obter dados de forma padronizada
Um usuário que morou sem carro em Boston mencionou que encontrava formas de chegar ao destino por várias rotas e que a visualização de "próximas partidas" era útil
No Reino Unido, é possível comprar painéis de partidas que imitam os quadros de partidas das estações
Em Washington, DC, funciona com ônibus, mas não com trens, e é necessária ajuda para compatibilidade com trens
Mesmo sem fazer jailbreak no Kindle, é possível usar o navegador web para criar facilmente uma tela com clima, transporte e notícias
Um usuário que mora em SF desenvolveu o app para iOS "A Better Ride", que mostra os horários de partida das paradas próximas e torna o transporte mais previsível e navegável
O usuário quer alternativas como o Google Maps e gostaria de receber rotas alternativas quando o trem quebra ou a linha é bloqueada
Foi criado um sistema usando um tablet Lenovo ThinkSmart View para oferecer várias funcionalidades por meio de integração com a agência de transporte local