2 pontos por GN⁺ 2024-10-25 | 1 comentários | Compartilhar no WhatsApp
  • 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

 
GN⁺ 2024-10-25
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

    • Em cidades com servidor OneBusAway, é possível desenvolver apps personalizados usando o novo SDK
    • Em cidades sem servidor, é possível converter feeds GTFS e GTFS-RT em uma API REST por meio de imagens Docker e configurações do OpenTofu
    • Todas as agências de transporte dos EUA devem publicar pelo menos dados estáticos de horários em GTFS, de acordo com novas regras federais
    • Há sempre necessidade de desenvolvedores interessados em desenvolvimento de software, e desenvolvedores de todos os níveis e linguagens são bem-vindos
    • Desenvolvedores iOS são especialmente necessários para fornecer melhorias importantes para 250.000 usuários diários
  • 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

    • Por exemplo, explica várias rotas de Shibuya até Azabu-juban em Tóquio e os prós e contras de cada uma
  • 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