A SpeedupAmerica fornece uma verdade no local sobre a Internet na América. Nossos mapas de banda larga nacionais e localizados fornecem transparência: velocidades reais da Internet recebidas, preços reais pagos e nível de serviço experimentado. Essas informações ajudam a orientar investimentos públicos e privados em infraestrutura da Internet para os locais que mais precisam. Também vemos essa abordagem como uma solução melhor para o mapeamento nacional de banda larga do que a usada atualmente pela FCC.
Se você é desenvolvedor de software, gostaríamos de sua ajuda e podemos pagar pelo seu tempo!
É fácil especular sobre quais áreas de uma comunidade têm acesso lento na Internet, mas sem os dados, é quase impossível saber quem está obtendo um serviço bom e confiável e onde existem oportunidades para melhorias. Informações precisas sobre a disponibilidade de provedores de serviços de Internet, preços reais pagos e velocidades reais recebidas são muito difíceis de encontrar. Faltam dados e informações reais sobre áreas carentes. É aqui que as comunidades no Oregon e em todo o país precisam de ajuda.
Em parceria com a Ignite dos EUA, esse esforço funciona para avançar na tecnologia que foi originalmente construída em Louisville Kentucky, que ajudou os esforços de inclusão digital da cidade e a disponibilizá -la para todas as cidades e comunidades rurais em toda a América.
A solução prevista combina os resultados dos testes de velocidade da Internet em crowdsourced com um mapa de todos os Estados Unidos que é filtrável por estado, código postal, trato censitário, bloco CENCUS e outros limites estatísticos.
No final, acreditamos que essa ferramenta nos fornecerá os dados mais precisos sobre o que realmente está acontecendo em termos de conectividade à Internet em toda a América. E pode servir como ponto de partida para conversas entre vizinhos, funcionários eleitos e provedores de serviços de Internet.
O objetivo deste projeto é aumentar a conscientização das desigualdades de velocidade e qualidade da Internet fornecidas a todos nos EUA. Se você tiver dúvidas sobre alguma coisa, participe da conversa.
Bem-vindo!
A implementação atual da SpeedupAmerica escalou para cobrir o estado de Oregon em junho de 2019. Washington e Idaho foram adicionados em julho de 2019. Os limites estaduais e do condados estão sendo adicionados em agosto de 2019.
O projeto pode ser usado como parte de uma estratégia de inclusão digital para aprender onde estão as desigualdades em sua comunidade. A SpeedupAmerica pode ajudar cidadãos, empresas, formuladores de políticas e outros a entender melhor onde os americanos podem acessar serviços de Internet de alta qualidade e onde há necessidades, permitindo que as cidades rastreem e melhorem o desempenho por meio de políticas importantes, acordos de ISP e parcerias.
Todos os mapas atuais de inclusão digital dependem dos dados da FCC 477, que são auto-relatados, notoriamente incompletos, enganosos, jogáveis por ISPs e não detalhados o suficiente. Vamos melhorar os dados de velocidade da fonte multidão diretamente, diretamente dos cidadãos para tomar melhores decisões e gerar políticas.
Em março de 2019, Louisville trabalhou com a comunidade de tecnologia em Eugene, Oregon e Hack para uma causa para desenvolver uma base de código que poderia escalar para ser um único mapa nacional unificado.
Este novo aplicativo, SpeedupAmerica.com, coleta e compartilha publicamente informações de origem de informações sobre velocidades de serviço de banda larga local, preços pagos e qualidade de serviço em toda a América. Ele também incorpora os testes de testes e os testes de laboratório de medição (que é integrado ao google.com) e aumenta bastante o número de testes que o aplicativo coleta.
Em abril de 2016, a equipe de inovação OPI2 do Louisville Metro Government, o PowerUp Labs e outros parceiros lançaram um aplicativo baseado na Web com o objetivo de aumentar a transparência sobre a qualidade do serviço de Internet em Louisville em um hackathon. Louisville trabalhou parceiros para abrir "aceleração" para que qualquer governo ou organização local possa lançar este aplicativo para sua comunidade.
O projeto SpeedUplouisville.com começou com um hackathon cívico local liderado pela Civic Data Alliance e hospedado pelo Code Louisville e Code for America. Eric Littleton, Jon Matar e a equipe de desenvolvimento de software PowerUp Labs mais tarde se ofereceu para continuar o trabalho começou durante o hackathon. O LVL1, um espaço de fabricante local, também forneceu financiamento para as ferramentas da web pagas necessárias para concluir o projeto.
Os dados são exibidos em um mapa interativo e disponíveis para download gratuito, com o objetivo de aumentar a transparência sobre a qualidade do serviço da Internet na América e continuar a conversa sobre o acesso à Internet em sua comunidade. Os cidadãos podem visitar o site de qualquer dispositivo para fazer o teste de serviço de Internet gratuitos e é complementado pelos testes M-Lab do Google. Os dados fornecidos pelo teste e a pesquisa curta são armazenados em um banco de dados disponível ao público, combinados com outros resultados e publicados no mapa on -line em um formulário que não identifica colaboradores e permite o download direto de dados brutos.
Este teste não coleta informações sobre o tráfego pessoal da Internet, como e -mails, pesquisas da Web ou outras informações de identificação pessoal.
O projeto SpeedupAmerica utiliza as seguintes tecnologias para operação:
Essas instruções funcionam no Linux, Windows e MacOS e só precisam ser executadas uma vez, a menos que você redefine seus arquivos de banco de dados ou configuração.
Instale o Git Windows/Mac/Linux
Instale o Docker e o Docker Compose (o Docker Compose já está incluído nas instalações do Mac e Windows Docker, mas não do Linux. Observe também que a instalação doméstica da vitória difere do Pro).
É necessário um mínimo de 6 GB de alocação de memória local. Depois de iniciar o Docker, entre em suas configurações e ajuste a quantidade de memória que ele pode usar.
Memória - Desktop do Docker para Mac
Memória - Desktop do Docker para Windows
Dependendo do seu sistema operacional, você pode precisar usar
copyem vez decp.
$ git clone https://github.com/Hack4Eugene/SpeedUpAmerica.git
$ git clone https://github.com/Hack4Eugene/speedupamerica-migrator.git
$ cd SpeedUpAmerica
$ cp local.env.template local.env
$ docker-compose up -d mysql
$ docker-compose up --build migrator
$ docker-compose run migrator rake db:seed
$ docker-compose run frontend rake secret Localize seu local.env na raiz do diretório SpeedupAmerica, que agora reside no sistema local. Use a saída longa de string alfanereric do rake secret como o valor para SECRET_KEY_BASE . Vá para o MapBox e crie uma conta gratuita, para obter um token de acesso da API do MapBox. Use e defina o token Pulic padrão como seu MAPBOX_API_KEY no arquivo local.env .
Essas instruções assumem que os usuários do Windows não estão usando o WSL, que documentou problemas com as montagens de ligação do Docker. Instalando e configurando o Docker para o Windows funcionar com o WSL está fora do escopo deste documento.
Faça o download de um dos dois arquivos SQL e coloque -os no Diretório data dos Projetos:
Colaboradores: se você atualizar algum desses arquivos, altere o nome do arquivo e atualize todas as referências neste documento.
Substitua o nome do arquivo e execute esta linha:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/ < SQL filename > $ docker-compose up -d O site pode ser acessado em http://localhost:3000/ . O aplicativo Ruby está configurado para não cache e não requer reiniciar o contêiner do Docker para carregar alterações, a menos que seja uma alteração de configuração. Basta fazer suas alterações e recarregar a página. A carga da primeira página faz tomar um pouco. Consulte docker-compose logs frontend para stdout/stderr.
O docker-compose.yml inclui um contêiner Jupyter Hub baseado no jupyter/datascience-notebook . Inclui alguns módulos Python adicionais para trabalhar com MySQL e MapBox. Depois de configurar o banco de dados e carregar um conjunto de dados, você pode iniciar o Jupyter Hub executando docker-compose up notebooks . Uma vez pronto, ele produzirá um URL e um token que você precisará usar para acessar o hub Jypyter no seu navegador. Notebooks e outros arquivos são salvos em ./notebooks , verifique se check -in e notebooks novos/atualizados.
$ docker-compose stopSe o site não carregar corretamente no local depois de fazer novas alterações no Git e reiniciar o Docker, tente o seguinte:
# Show the docker tasks and their exit statuses
$ docker-compose ps
# You might also be interested in seeing the logs for a failing process
# Choose the option below for the process you're interested in:
$ docker-compose logs frontend
$ docker-compose logs migrator
$ docker-compose logs mysql Se docker-compose ps mostrar "saída 1" para qualquer processo, uma causa provável é que a imagem do Docker do processo precisará ser reconstruída. Isso geralmente se deve às dependências que foram alteradas desde a última vez que você construiu a imagem. Uma dica adicional de que essa é a causa é se os logs mostrarem erros indicando que uma dependência não pode ser encontrada.
Para resolver isso, reconstrua a imagem do Docker para esse processo específico. Por exemplo, se o processo frontend saiu com um status de erro:
$ docker-compose up --build frontend Se docker-compose ps continuar lançando um erro "Exit 1" para qualquer processo após a reconstrução do front-end, verifique se as permissões de firewall de suas máquinas permitem os aplicativos. Depois de definir suas permissões de firewall, você precisará fechar seu fluxo de trabalho, reiniciar o Docker e reiniciar o aplicativo.
Se, depois de ativar as persmisões do firewall, você ainda tiver problemas com uma "saída 1", pode ser necessário excluir TMP/PIDS/Server.pid e depois docker-compose up -d
Instalação no Ubuntu.
A execução do ambiente localmente em um sistema operacional baseado em Linux pode exigir comandos de execução docker-compose como Super Usuário, sudo docker-compose [commands] .
Aqui está um guia para gerenciar o Docker como usuário sem raios.
Presume que você tenha o recente arquivo
.sqlbaixado das instruções de configuração.
Quando os limites são atualizados, cada desenvolvedor deve recarregar seus limites. Como novos limites também podem exigir adição de colunas à tabela de envios, é melhor recarregar completamente seu banco de dados.
$ docker-compose stop mysql
$ docker-compose rm mysql
$ docker-compose up mysql
$ docker-compose up --build migrator
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/sua_20190803.sqlAo atualizar os arquivos SQL, remova o aviso da primeira linha do arquivo.
Certifique -se de substituir <date> com a data de hoje em um formato conciso (por exemplo, 20190801 ).
$ docker-compose exec mysql mysqldump --no-create-info -u suyc -psuyc suyc --ignore-table=suyc.schema_migrations --hex-blob > data/sua_ < date > .sqlSiga as próximas três seções para baixar os dados mais recentes, limpar sua tabela de limites e carregar os dados. Você só deve seguir essas instruções se excluir seu banco de dados e carregar o último dump SQL não é uma opção.
Pressupõe que você tenha esses arquivos em data/ :
Para Linux e MacOS, use o seguinte:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc <<< " TRUNCATE boundaries; "Para o sistema operacional Windows, use o seguinte:
$ docker-compose exec mysql mysql -u suyc -psuyc suyc
$ mysql> TRUNCATE boundaries;
$ mysql> exit
$ docker-compose run frontend rake populate_boundaries
Todas as noites, os ambientes de teste e produção executam o processo de importação de dados, que importa dados recentes do M-Lab, atualiza os limites, recalcula os caches e outras tarefas relacionadas a dados.
Algumas etapas do processo de importação noturna requerem uma chave de serviço BigQuery com acesso aos dados do laboratório de medição.
O processo noturno é iniciado executando ./update_data.sh . No seu ambiente local, você pode:
$ docker-compose run frontend ./update_data.shRequer uma chave de serviço BigQuery com acesso aos dados do Laboratório de Medição.
$ docker-compose run frontend rake import_mlab_submissions$ docker-compose run frontend rake populate_missing_boundaries$ docker-compose run frontend rake update_providers_statistics $ docker-compose run frontend rake update_stats_cache
Consulte Contribuindo.md.
Comprometer -se:
Comitê Técnico: