Speedupamerica bietet die Wahrheit des Internets in Amerika vor Ort. Unsere nationalen und lokalisierten Breitbandkarten bieten Transparenz: Echte Internetgeschwindigkeiten erhalten, tatsächliche Preise und Dienstleistungsniveau. Diese Informationen hilft dabei, öffentliche und private Investitionen in die Internetinfrastruktur an die Orte zu führen, die sie am dringendsten benötigen. Wir sehen diesen Ansatz auch als eine bessere Lösung für die nationale Breitbandkartierung als die derzeit vom FCC verwendete.
Wenn Sie ein Softwareentwickler sind, würden wir Ihre Hilfe lieben und Sie können Sie für Ihre Zeit bezahlen!
Es ist leicht zu spekulieren, welche Bereiche einer Community einen langsamen Internetzugang haben, aber ohne die Daten ist es nahezu unmöglich zu wissen, wer guten, zuverlässigen Service bekommt und wo sich Möglichkeiten zur Verbesserung haben. Genaue Informationen über die Verfügbarkeit von Internetdienstanbietern, die gezahlten Preise und die erhaltenen Geschwindigkeiten sind sehr schwer zu bekommen. Es fehlen echte Daten und Informationen über unterversorgte Bereiche. Hier brauchen die Gemeinden in Oregon und in der ganzen Nation Hilfe.
In Zusammenarbeit mit uns Ignite arbeitet diese Bemühungen, um die Technologie voranzutreiben, die ursprünglich in Louisville Kentucky gebaut wurde und die den Bemühungen der digitalen Eingliederung dieser Stadt beigetragen hat, und sie allen Städten und ländlichen Gemeinden in ganz Amerika zur Verfügung zu stellen.
Die vorgestellte Lösung kombiniert Crowdsourced Internet Speed -Testergebnisse mit einer Karte der gesamten Vereinigten Staaten, die nach Staat, Postleitzahl, Volkszählung, Cencus -Block und anderen statistischen Grenzen filterbar ist.
Am Ende glauben wir, dass dieses Tool uns die genauesten Daten vor Ort gibt, die tatsächlich in Bezug auf die Internetkonnektivität in ganz Amerika geschieht. Und es kann als Ausgangspunkt für Gespräche zwischen Nachbarn, gewählten Beamten und Internetdienstanbietern dienen.
Ziel dieses Projekts ist es, das Bewusstsein für die Geschwindigkeit und Qualität des Internets in den USA zu schärfen. Wenn Sie Fragen zu irgendetwas haben, nehmen Sie bitte dem Gespräch teil.
Willkommen!
Die derzeitige Umsetzung von Speedupamerica hat im Juni 2019 den Bundesstaat Oregon abgeholt. Washington und Idaho wurden im Juli 2019 hinzugefügt. Die staatlichen und des Landkreises werden irgendwann im August 2019 hinzugefügt.
Das Projekt kann als Teil einer digitalen Inklusionsstrategie verwendet werden, um zu erfahren, wo Ungleichheiten in Ihrer Gemeinde sind. SpeedeupAmerica kann Bürgern, Unternehmen, politischen Entscheidungsträgern und anderen helfen, besser zu verstehen, wo Amerikaner auf einen hochwertigen Internetdienst zugreifen können, und wo es Bedürfnisse gibt, damit Städte die Leistung durch Schlüsselrichtlinien, ISP-Vereinbarungen und Partnerschaften verfolgen und verbessern können.
Alle aktuellen digitalen Einschlusskarten beruhen auf FCC 477-Daten, die selbst berichtete, notorisch unvollständig, irreführend, durch ISPs spielerisch und nicht detailliert genug sind. Lassen Sie uns direkter, genauerer Datenverzögerungsdaten von Crowd-Source-Geschwindigkeit direkt von den Bürgern erhalten, um bessere Entscheidungen zu treffen und die Richtlinien voranzutreiben.
Im März 2019 arbeitete Louisville mit der Tech -Community in Eugene, Oregon und Hack zusammen, um eine Codebasis zu entwickeln, die sich als einzelne einheitliche nationale Karte skalieren könnte.
Diese neue Bewerbung, STECUPAMERICA.com, sammelt und öffentlich von Crowd Sourcen -Informationen über lokale Breitband -Servicegeschwindigkeiten, gezahlte Preise und Servicequalität in ganz Amerika. Es umfasst auch die Testit -Tests und Messlabor -Tests (die in Google.com integriert sind) und erhöht die Anzahl der von der Anwendung erfassten Tests erheblich.
Im April 2016 starteten das OPI2-Innovationsteam der Metro-Regierung von Louisville, Powerup Labs und andere Partner eine webbasierte Anwendung, um die Transparenz über die Qualität der Internet-Service in Louisville bei einem Hackathon zu erhöhen. Louisville arbeitete Partner für Open Source "beschleunigte", damit jede lokale Regierung oder Organisation diesen Antrag für ihre Community starten kann.
Das SpeeduPlouisville.com -Projekt startete orregär bei einem lokalen Bürgerhackathon, der von der Civic Data Alliance angeführt und von Code Louisville und Code for America gehostet wird. Eric Littleton, Jon Matar und das Softwareentwicklungsteam der Powerup Labs haben sich später freiwillig gemeldet, um die während des Hackathon begonnenen Arbeiten fortzusetzen. LVL1, ein lokaler Makerspace, lieferte außerdem Finanzmittel für die bezahlten Web -Tools, die zum Abschluss des Projekts erforderlich sind.
Die Daten werden auf einer interaktiven Karte angezeigt und kostenlos heruntergeladen, um die Transparenz über die Qualität der Internetdienste in Amerika zu erhöhen und das Gespräch über den Internetzugang in Ihrer Community fortzusetzen. Die Bürger können die Website von jedem Gerät von einem kostenlosen Internet-Service-Test besuchen, und werden durch Googles M-Lab-Tests ergänzt. Die Daten, die durch den Test und die kurze Umfrage bereitgestellt werden, werden in einer öffentlich verfügbaren Datenbank gespeichert, kombiniert mit anderen Ergebnissen, und veröffentlicht in der Online -Karte in einem Formular, in dem keine Mitwirkenden identifiziert werden, und ermöglicht den Download der direkten Rohdaten.
In diesem Test sammelt keine Informationen über den persönlichen Internetverkehr wie E -Mails, Websuche oder andere persönlich identifizierbare Informationen.
Das STEAnupamerica -Projekt verwendet die folgenden Technologien für den Betrieb:
Diese Anweisungen funktionieren unter Linux, Windows und MacOS und müssen nur einmal ausgeführt werden, es sei denn, Sie setzen Ihre Datenbank- oder Konfigurationsdateien zurück.
Installieren Sie Git Windows/Mac/Linux
Installieren Sie Docker und Docker Compose (Docker Compose ist bereits in den Installationen von Mac- und Windows Docker enthalten, jedoch nicht in Linux. Bitte beachten Sie auch, dass die Installation von Win -Home von Pro abweist).
Mindestens 6 GB lokaler Speicherzuweisung ist erforderlich. Gehen Sie nach dem Start von Docker in seine Einstellungen ein und passen Sie die Menge an Speicher an, die es verwenden darf.
Speicher - Docker -Desktop für Mac
Speicher - Docker -Desktop für Windows
Abhängig von Ihrem Betriebssystem müssen Sie möglicherweise sicherstellen, dass
copyanstelle voncpverwendet wird.
$ 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 Suchen Sie Ihren local.env in der Wurzel des Geschwindigkeitszeitpunkts, das sich jetzt auf Ihrem lokalen System befindet. Verwenden Sie die lange alphanermerische String -Ausgabe von rake secret als Wert für SECRET_KEY_BASE . Gehen Sie zu MapBox und erstellen Sie ein kostenloses Konto, um ein MapBox -API -Zugriffs -Token zu erhalten. Verwenden und setzen Sie das Standard -Pulic -Token als Ihr MAPBOX_API_KEY in der local.env -Datei ein.
Diese Anweisungen gehen davon aus, dass Windows -Benutzer die WSL nicht verwenden, die Probleme mit den Bindungshalterungen von Docker dokumentiert hat. Die Installation und Konfiguration von Docker für Windows zum Arbeiten mit dem WSL liegt außerhalb des Rahmens dieses Dokuments.
Laden Sie eine der beiden SQL -Dateien herunter und platzieren Sie sie in das data von Projekten:
Mitwirkende: Wenn Sie diese Dateien aktualisieren, ändern Sie den Dateinamen und aktualisieren Sie alle Referenzen in diesem Dokument.
Ersetzen Sie den Dateinamen und führen Sie diese Zeile aus:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/ < SQL filename > $ docker-compose up -d Auf die Website kann unter http://localhost:3000/ zugegriffen werden. Die Ruby -App ist so konfiguriert, dass sie keinen Cache -Cache hat, und es müssen nicht den Docker -Container neu gestartet werden, um Änderungen zu laden, es sei denn, es handelt sich um eine Konfigurationsänderung. Nehmen Sie einfach Ihre Änderungen vor und laden Sie die Seite neu. Erste Seite Load Machen Sie ein wenig. Siehe docker-compose logs frontend für Stdout/Stderr.
Der docker-compose.yml enthält einen Jupyter-Hub-Container, der auf jupyter/datascience-notebook basiert. Es enthält einige zusätzliche Python -Module für die Arbeit mit MySQL und MapBox. Nach dem Einrichten der Datenbank und dem Laden eines Datensatzes können Sie Jupyter Hub starten, indem Sie docker-compose up notebooks ausführen. Sobald es fertig ist, gibt es eine URL und einen Token aus, mit dem Sie in Ihrem Browser auf den Jypyter -Hub zugreifen müssen. Notizbücher und andere Dateien werden in ./notebooks gespeichert, und stellen Sie sicher, dass Sie neue/aktualisierte Notizbücher einchecken und pR -NEW/aktualisiert werden.
$ docker-compose stopWenn die Site nach dem Anziehen neuer Änderungen von Git und dem Neustart von Docker nicht korrekt geladen wird, versuchen Sie Folgendes:
# 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 Wenn docker-compose ps "Exit 1" für einen Prozess zeigt, ist eine wahrscheinliche Ursache, dass das Docker-Bild des Prozesses umgebaut werden muss. Dies ist im Allgemeinen darauf zurückzuführen, dass sich die Abhängigkeiten seit dem letzten Erstellen des Bildes geändert haben. Ein zusätzlicher Hinweis darauf, dass dies die Ursache ist, wenn die Protokolle Fehler zeigen, die darauf hinweisen, dass eine Abhängigkeit nicht gefunden werden konnte.
Um dies zu beheben, bauen Sie das Docker -Bild für diesen spezifischen Prozess neu auf. Zum Beispiel, wenn der frontend -Prozess mit einem Fehlerstatus beendet ist:
$ docker-compose up --build frontend Wenn docker-compose ps nach dem Wiederaufbau des Frontend weiterhin einen "Exit 1" -Fehler für einen Prozess wirft, stellen Sie bitte sicher, dass Ihre Maschinen-Firewall-Berechtigungen die Anwendungen zulassen. Nachdem Sie Ihre Firewall -Berechtigungen festgelegt haben, müssen Sie Ihren Workflow schließen, Docker neu starten und die App neu starten.
Wenn Sie nach der Aktivierung Ihrer Firewall -Versand immer noch Probleme mit einem "Exit 1" haben, müssen Sie möglicherweise TMP/PIDs/Server löschen docker-compose up -d
Installation auf Ubuntu.
Durch das Ausführen der Umgebung lokal auf einem Linux-basierten Betriebssystem kann docker-compose -Befehle als Super-Benutzer, sudo docker-compose [commands] ausgeführt werden.
Hier finden Sie eine Anleitung zum Verwalten von Docker als Nicht-Root-Benutzer.
Angenommen, Sie haben die jüngste
.sql-Datei aus den Setup -Anweisungen herunterladen.
Wenn Grenzen aktualisiert werden, muss jeder Entwickler seine Grenzen neu laden. Da neue Grenzen auch Spalten in die Tabelle der Einreichungsabschluss hinzufügen müssen, ist es am besten, Ihre Datenbank vollständig neu zu laden.
$ 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.sqlAchten Sie beim Aktualisieren der SQL -Dateien sicher, dass Sie die Warnung aus der ersten Zeile der Datei entfernen.
Stellen Sie sicher, dass Sie <date> durch das heutige Datum in einem präzisen Format (z. B. 20190801 ) ersetzen.
$ docker-compose exec mysql mysqldump --no-create-info -u suyc -psuyc suyc --ignore-table=suyc.schema_migrations --hex-blob > data/sua_ < date > .sqlBefolgen Sie die nächsten drei Abschnitte, um die neuesten Daten herunterzuladen, Ihre Grenzen zu löschen und die Daten zu laden. Sie sollten diese Anweisungen nur befolgen, wenn das Löschen Ihres DB und das Laden des neuesten SQL -Dumps keine Option ist.
Angenommen, Sie haben diese Dateien in data/ :
Für Linux und MacOS verwenden Sie bitte Folgendes:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc <<< " TRUNCATE boundaries; "Für Windows OS verwenden Sie bitte Folgendes:
$ docker-compose exec mysql mysql -u suyc -psuyc suyc
$ mysql> TRUNCATE boundaries;
$ mysql> exit
$ docker-compose run frontend rake populate_boundaries
Jede Nacht werden die Test- und Produktionsumgebungen den Datenimportprozess ausführen, in dem aktuelle M-Lab-Daten importiert werden, Grenzen aktualisiert, die Caches und andere datenbezogene Aufgaben neu berechnet.
Einige Schritte des nächtlichen Importprozesses erfordern einen BigQuery -Serviceschlüssel mit Zugriff auf die Messlabordaten.
Der nächtliche Prozess beginnt mit dem Ausführen ./update_data.sh . Auf Ihrer örtlichen Umgebung können Sie:
$ docker-compose run frontend ./update_data.shErfordert einen BigQuery -Serviceschlüssel mit Zugriff auf die Messlabordaten.
$ 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
Siehe Beitrag.md.
Ausschüsse:
Technischer Ausschuss: