Speedupamerica proporciona una verdad en el terreno sobre Internet en Estados Unidos. Nuestros mapas nacionales y localizados de banda ancha proporcionan transparencia: velocidades reales de Internet recibidas, precios reales pagados y nivel de servicio experimentado. Esta información ayuda a guiar las inversiones públicas y privadas en la infraestructura de Internet a los lugares que más la necesitan. También vemos este enfoque como una mejor solución para el mapeo de banda ancha nacional que la utilizada actualmente por la FCC.
Si eres un desarrollador de software, ¡nos encantaría tu ayuda y podemos pagarte por tu tiempo!
Es fácil especular sobre qué áreas de una comunidad tienen acceso lento a Internet, pero sin los datos, es casi imposible saber quién está recibiendo un servicio bueno y confiable y dónde existen oportunidades para mejorar. Es muy difícil obtener información precisa sobre la disponibilidad de proveedores de servicios de Internet, precios reales pagados y velocidades reales recibidas. Hay una falta de datos e información reales sobre áreas desatendidas. Aquí es donde las comunidades en Oregon y en todo el país necesitan ayuda.
En asociación con US Ignite, este esfuerzo funciona para avanzar en la tecnología que se construyó originalmente en Louisville Kentucky que ayudó a los esfuerzos de inclusión digital de esa ciudad y la pone a disposición de todas las ciudades y comunidades rurales de América.
La solución prevista combina los resultados de las pruebas de velocidad de Internet de crowdsourced con un mapa de todo Estados Unidos que se puede filtrar por estado, código postal, tracto censal, bloque CENCUS y otros límites estadísticos.
Al final, creemos que esta herramienta nos dará los datos más precisos sobre el terreno sobre lo que realmente está sucediendo en términos de conectividad a Internet en todo Estados Unidos. Y puede servir como punto de partida para conversaciones entre vecinos, funcionarios electos y proveedores de servicios de Internet.
El objetivo de este proyecto es aumentar la conciencia de las desigualdades en la velocidad y la calidad de Internet proporcionadas a todos en los Estados Unidos. Si tiene preguntas sobre algo, únase a la conversación.
¡Bienvenido!
La implementación actual de SpeedupAmerica ha ampliado para cubrir el estado de Oregon en junio de 2019. Washington e Idaho se agregaron en julio de 2019. Los límites estatales y del condado se agregarán en algún momento de agosto de 2019.
El proyecto se puede utilizar como parte de una estrategia de inclusión digital para aprender dónde están las desigualdades en su comunidad. SpeedupAmerica puede ayudar a los ciudadanos, empresas, encargados de formular políticas y otros a comprender mejor dónde los estadounidenses pueden acceder al servicio de Internet de alta calidad, y dónde hay necesidades, lo que permite a las ciudades rastrear y mejorar el rendimiento a través de políticas clave, acuerdos de ISP y asociaciones.
Todos los mapas de inclusión digital actuales se basan en los datos FCC 477 que son autoinformados, notoriamente incompletos, engañosos, geatables por ISP y no lo suficientemente detallados. Vamos a obtener datos de velocidad de origen público mejor, más preciso, directamente de los ciudadanos para tomar mejores decisiones e impulsar la política.
En marzo de 2019, Louisville trabajó con la comunidad tecnológica en Eugene, Oregon y Hack por una causa para desarrollar una base de código que podría escalar para ser un solo mapa nacional unificado.
Esta nueva aplicación, SpeedupAmerica.com, recopila y comparte públicamente información de origen multitud de personas sobre velocidades de servicio de banda ancha local, precios pagados y calidad de servicio en todo Estados Unidos. También incorpora las pruebas testitales y las pruebas de laboratorio de medición (que se integran con Google.com) y aumenta en gran medida el número de pruebas que recopila la aplicación.
En abril de 2016, el equipo de innovación OPI2 del gobierno de Louisville Metro, Powerup Labs y otros socios lanzaron una aplicación basada en la web destinada a aumentar la transparencia sobre la calidad del servicio de Internet en Louisville en un hackathon. Louisville trabajó a los socios para abrir "aceleración" de código abierto para que cualquier gobierno u organización local pueda lanzar esta aplicación para su comunidad.
El proyecto Speeduplouisville.com comenzó oreginalmente en un hackathon cívico local dirigido por la Alianza Civic Data y alojado por Code Louisville y Code for America. Eric Littleton, Jon Matar y el equipo de desarrollo de software Powerup Labs más tarde se ofrecieron como voluntarios para continuar el trabajo comenzó durante el hackathon. LVL1, un espacio local de Makers, también proporcionó fondos para las herramientas web pagas necesarias para completar el proyecto.
Los datos se muestran en un mapa interactivo y están disponibles para descarga gratuita, con el objetivo de aumentar la transparencia sobre la calidad del servicio de Internet en Estados Unidos y continuar la conversación sobre el acceso a Internet en su comunidad. Los ciudadanos pueden visitar el sitio desde cualquier dispositivo para realizar la prueba de servicio de Internet gratuita, y se complementa con las pruebas M-Lab de Google. Los datos proporcionados por la prueba y la breve encuesta se almacenan en una base de datos disponible públicamente, se combinan con otros resultados y se publican en el mapa en línea en un formulario que no identifica a los contribuyentes y permite la descarga directa de datos sin procesar.
Esta prueba no recopila información sobre el tráfico personal de Internet, como correos electrónicos, búsquedas en la web u otra información de identificación personal.
El proyecto SpeedupAmerica utiliza las siguientes tecnologías para la operación:
Estas instrucciones funcionan en Linux, Windows y MacOS y solo necesitan realizarse una vez, a menos que restablezca su base de datos o archivos de configuración.
Instale Git Windows/Mac/Linux
Instalar Docker y Docker Compose (Docker Compose ya está incluido con las instalaciones de Mac y Windows Docker, pero no Linux. También tenga en cuenta que la instalación de Win Home difiere de Pro).
Se necesita un mínimo de 6 GB de asignación de memoria local. Después de comenzar Docker, entre en su configuración y ajuste la cantidad de memoria que se permite usar.
Memoria - Docker Desktop para Mac
Memoria - Docker Desktop para Windows
Dependiendo de su sistema operativo, es posible que deba asegurarse de usar
copyen lugar 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 Localice su local.env en la raíz del directorio SpeedupAmerica que ahora reside en su sistema local. Use la larga salida de cadena alfanermérica de rake secret como el valor para SECRET_KEY_BASE . Vaya a MAPBOX y cree una cuenta gratuita, para obtener un token de acceso de API de MAPBOX. Use y establezca el token Pulic predeterminado como su MAPBOX_API_KEY en el archivo local.env .
Estas instrucciones suponen que los usuarios de Windows no están utilizando el WSL, que tiene problemas documentados con los montajes de enlace de Docker. Instalar y configurar Docker para Windows para trabajar con el WSL está fuera del alcance de este documento.
Descargue uno de los dos archivos SQL y colóquelo en el directorio data de proyectos:
Colaboradores: si actualiza alguno de estos archivos, asegúrese de cambiar el nombre de archivo y actualizar todas las referencias en este documento.
Reemplace el nombre de archivo y ejecute esta línea:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/ < SQL filename > $ docker-compose up -d Se puede acceder al sitio en http://localhost:3000/ . La aplicación Ruby está configurada para no caché y no requiere reiniciar el contenedor Docker para cargar cambios, a menos que sea un cambio de configuración. Simplemente haga sus cambios y vuelva a cargar la página. La carga de la primera página hace que tome un poco. Consulte docker-compose logs frontend para STDOUT/STDERR.
El docker-compose.yml incluye un contenedor Jupyter Hub basado en jupyter/datascience-notebook . Incluye algunos módulos de Python adicionales para trabajar con MySQL y Mapbox. Después de configurar la base de datos y cargar un conjunto de datos, puede iniciar Jupyter Hub ejecutando docker-compose up notebooks . Una vez listo, emitirá una URL y un token que necesitará usar para acceder al Jypyter Hub en su navegador. Los cuadernos y otros archivos se guardan ./notebooks
$ docker-compose stopSi el sitio no se carga correctamente en localhost después de extraer nuevos cambios de Git y reiniciar Docker, intente lo siguiente:
# 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 Si docker-compose ps muestra "Exit 1" para cualquier proceso, una causa probable es que la imagen Docker del proceso debe reconstruirse. Esto generalmente se debe a que las dependencias han cambiado desde la última vez que construyó la imagen. Una pista adicional de que esta es la causa es que los registros muestran errores que indican que no se puede encontrar una dependencia.
Para resolver esto, reconstruya la imagen Docker para ese proceso específico. Por ejemplo, si el proceso frontend salió con un estado de error:
$ docker-compose up --build frontend Si docker-compose ps continúa lanzando un error de "salida 1" para cualquier proceso después de reconstruir el frontend, asegúrese de que sus permisos de firewall de máquinas permitan las aplicaciones. Después de establecer sus permisos de firewall, deberá cerrar su flujo de trabajo, reiniciar Docker y reiniciar la aplicación.
Si después de habilitar sus persMissions de firewall, todavía tiene problemas con una "salida 1", es posible que deba eliminar TMP/pids/server.pid y luego docker-compose up -d
Instalación en Ubuntu.
Ejecutar el entorno localmente en un sistema operativo basado en Linux podría requerir ejecutar comandos docker-compose como súper usuario, sudo docker-compose [commands] .
Aquí hay una guía para administrar Docker como un usuario no raíz.
Asume que tiene el archivo
.sqlreciente descargado de las instrucciones de configuración.
Cuando se actualizan los límites, cada desarrollador debe recargar sus límites. Como los nuevos límites también pueden requerir agregar columnas a la tabla de envíos, es mejor recargar completamente su base de datos.
$ 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.sqlAl actualizar los archivos SQL, asegúrese de eliminar la advertencia de la primera línea del archivo.
Asegúrese de reemplazar <date> con la fecha de hoy en un formato conciso (por ejemplo, 20190801 ).
$ docker-compose exec mysql mysqldump --no-create-info -u suyc -psuyc suyc --ignore-table=suyc.schema_migrations --hex-blob > data/sua_ < date > .sqlSiga las siguientes tres secciones para descargar los últimos datos, borrar su tabla de límites y cargar los datos. Solo debe seguir estas instrucciones si eliminar su DB y cargar el último volcado SQL no es una opción.
Asume que tiene estos archivos en data/ :
Para Linux y macOS, use lo siguiente:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc <<< " TRUNCATE boundaries; "Para Windows OS, use lo siguiente:
$ docker-compose exec mysql mysql -u suyc -psuyc suyc
$ mysql> TRUNCATE boundaries;
$ mysql> exit
$ docker-compose run frontend rake populate_boundaries
Cada noche, los entornos de prueba y producción ejecutan el proceso de importación de datos, que importa datos recientes de Lab-Lab, actualiza límites, recalcualiza los cachés y otras tareas relacionadas con los datos.
Algunos pasos del proceso de importación nocturno requieren una clave de servicio BigQuery con acceso a los datos del laboratorio de medidas.
El proceso nocturno se inicia ejecutándose ./update_data.sh . En su entorno local puede:
$ docker-compose run frontend ./update_data.shRequiere una clave de servicio BigQuery con acceso a los datos del laboratorio de medidas.
$ 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
Ver contribuyente. MD.
Comandantes:
Comité Técnico: