SpeedUpamericaは、アメリカのインターネットについて地上の真実を提供します。当社の国家的およびローカライズされたブロードバンドマップは、透明性を提供します。これは、受け取った実際のインターネット速度、実際の価格、および経験レベルのサービスを提供します。この情報は、インターネットインフラストラクチャへの公的および民間投資を、最も必要とする場所への導きとするのに役立ちます。また、このアプローチは、FCCが現在使用しているものよりも、国家ブロードバンドマッピングのより良いソリューションと考えています。
あなたがソフトウェア開発者なら、私たちはあなたの助けを愛し、あなたの時間のためにあなたにお金を払うことができます!
コミュニティのどの領域がインターネットアクセスが遅いかについて推測するのは簡単ですが、データがなければ、誰が良い、信頼できるサービスを得ているのか、そして改善の機会がどこに存在するかを知ることはほとんど不可能です。インターネットサービスプロバイダーの可用性、実際の価格が支払われた価格、および受け取った実際の速度に関する正確な情報を手に入れるのは非常に困難です。サービスが不十分な地域に関する実際のデータと情報が不足しています。これは、オレゴン州と全国のコミュニティが助けを必要とする場所です。
US IGNITEとのパートナーシップにより、この取り組みは、元々ルイビルケンタッキー州に建設された技術を促進し、その都市のデジタルインクルージョンの取り組みを支援し、アメリカのすべての都市や農村コミュニティで利用できるようにします。
想定されているソリューションは、クラウドソーシングされたインターネット速度テスト結果と、州、郵便番号、国勢調査地域、センコスブロック、およびその他の統計的境界によってフィルタリング可能な米国全体のマップを組み合わせています。
最終的に、このツールは、アメリカ全土のインターネット接続の観点から実際に何が起こっているかについて、最も正確な地上データを提供すると考えています。また、隣人、選出された役人、インターネットサービスプロバイダー間の会話の出発点として機能します。
このプロジェクトの目標は、米国のすべての人に提供されるインターネットの速度と品質の不平等に対する認識を高めることです。何かについて質問がある場合は、会話に参加してください。
いらっしゃいませ!
SpeedUpamericaの現在の実装は、2019年6月にオレゴン州をカバーするために拡大しました。ワシントンとアイダホは2019年7月に追加されました。2019年8月に州と郡の境界が追加されています。
このプロジェクトは、コミュニティの不平等がどこにあるかを学ぶためのデジタルインクルージョン戦略の一部として使用できます。 SpeedUpamericaは、市民、企業、政策立案者など、アメリカ人が高品質のインターネットサービスにアクセスできる場所をよりよく理解し、ニーズがある場所をよりよく理解し、都市が主要なポリシー、ISP契約、パートナーシップを通じてパフォーマンスを追跡および改善できるようにすることができます。
現在のすべてのデジタルインクルージョンマップは、ISP自己報告、悪名高い不完全、誤解を招く、ISPによってゲーム可能であり、十分に詳細ではないFCC 477データに依存しています。より良く、より正確で、クラウドソースのスピードデータを市民から直接、より良い決定を下し、ポリシーを推進しましょう。
2019年3月、ルイビルはオレゴン州ユージーンのテクノロジーコミュニティと協力し、ハックのためにハックして、単一の統一された全国地図になるようにスケーリングできるコードベースを開発しました。
この新しいアプリケーションであるSpeedUpamerica.comは、アメリカ全土で地元のブロードバンドサービス速度、支払われた価格、およびサービス品質に関する群衆の情報を収集して共有しています。また、テストテストと測定ラボテスト(Google.comと統合されている)を組み込み、アプリケーションが収集するテストの数を大幅に増やします。
2016年4月、ルイビルメトロ政府のOPI2イノベーションチーム、Powerup Labs、およびその他のパートナーは、ハッカソンでルイビルのインターネットサービス品質に関する透明性を高めることを目的としたWebベースのアプリケーションを立ち上げました。ルイビルは、地方自治体や組織がコミュニティのためにこのアプリケーションを立ち上げることができるように、「Speedup」をオープンソースにオープンソースにしました。
Speeduplouisville.comプロジェクトは、Code LouisvilleとCode for Americaが主催し、Code Louisvilleが主催する地元のCivic Hackathonで開始されました。エリック・リトルトン、ジョン・マタル、およびパワーアップラボソフトウェア開発チームは、後にハッカソン中に開始された作業を継続することを志願しました。地元のメーカースペースであるLVL1は、プロジェクトの完了に必要な有料Webツールの資金も提供しました。
データはインタラクティブなマップに表示され、無料でダウンロードできます。アメリカのインターネットサービスの品質に関する透明性を高め、コミュニティのインターネットアクセスに関する会話を続けることを目的としています。市民は、あらゆるデバイスからサイトにアクセスして無料のインターネットサービステストを受けることができ、GoogleのM-Labテストで補足されます。テストおよび短い調査で提供されるデータは、公開されているデータベースに保存され、他の結果と組み合わされ、貢献者を識別しないフォームでオンラインマップに公開され、直接RAWデータのダウンロードが可能になります。
このテストでは、電子メール、Web検索、その他の個人を特定できる情報などの個人的なインターネットトラフィックに関する情報を収集しません。
SpeedUpamericaプロジェクトは、次のテクノロジーを操作に利用しています。
これらの命令は、Linux、Windows、およびMacOで機能し、データベースまたは構成ファイルをリセットしない限り、1回だけ実行する必要があります。
Git Windows/Mac/Linuxをインストールします
DockerとDocker Composeのインストール(Docker Composeは既にMacおよびWindows Dockerのインストールに含まれていますが、Linuxではなく。
最低6GBのローカルメモリ割り当てが必要です。 Dockerを起動した後、設定に移動し、使用できるメモリの量を調整します。
メモリ - Mac用のDockerデスクトップ
メモリ - Windows用のDockerデスクトップ
OSによっては、
cpの代わりにcopyを使用する必要がある場合があります。
$ 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 local.env speedupamericaディレクトリのルートに配置します。 rake secretからの長いalphanermeric String出力をSECRET_KEY_BASEの値として使用します。マップボックスに移動して無料アカウントを作成して、マップボックスAPIアクセストークンを取得します。 Default Pulicトークンを使用して、 local.envファイルでMAPBOX_API_KEYとして設定します。
これらの命令は、WindowsユーザーがWSLを使用していないことを想定しています。WSLは、Dockerのバインドマウントの問題を文書化しています。 WSLで動作するWindows用のDockerのインストールと構成は、このドキュメントの範囲外です。
2つのSQLファイルのいずれかをダウンロードして、プロジェクトdataディレクトリに配置します。
貢献者:これらのファイルのいずれかを更新する場合は、ファイル名を変更し、このドキュメントのすべての参照を更新してください。
ファイル名を交換し、この行を実行します。
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/ < SQL filename > $ docker-compose up -dこのサイトにはhttp://localhost:3000/でアクセスできます。 Rubyアプリは、キャッシュをしないように構成されており、構成の変更でない限り、Dockerコンテナを再起動して変更をロードする必要はありません。変更を加えてページをリロードするだけです。最初のページのロードは少し時間がかかります。 stdout/stderrのdocker-compose logs frontendを参照してください。
docker-compose.ymlにはjupyter/datascience-notebookに基づくjupyterハブコンテナが含まれています。 MySQLとMapboxを使用するためのいくつかの追加のPythonモジュールが含まれています。データベースをセットアップしてデータセットを読み込んだ後docker-compose up notebooksを実行してJupyter Hubを開始できます。準備ができたら、ブラウザのJypyterハブにアクセスするために使用する必要があるURLとトークンが出力されます。ノートブックやその他のファイルは./notebooksに保存されています。チェックインして、新しい/更新されたノートブックを確認してください。
$ docker-compose stopGitから新しい変更を取り入れてDockerを再起動した後、サイトがLocalHostに正しくロードされない場合は、次のことを試してください。
# 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 mysqldocker-compose ps任意のプロセスの「Exit 1」が表示される場合、1つの原因の1つは、プロセスのDocker画像を再構築する必要があることです。これは通常、画像を作成したときから依存関係が変更されたためです。これが原因であるという追加のヒントは、ログが依存関係が見つからなかったことを示すエラーを表示した場合です。
これを解決するには、その特定のプロセスのDocker画像を再構築します。たとえば、 frontendプロセスがエラーステータスで終了した場合:
$ docker-compose up --build frontend docker-compose psフロントエンドを再構築した後、プロセスの「Exit 1」エラーを引き続きスローしている場合は、マシンのファイアウォール許可がアプリケーションを許可していることを確認してください。ファイアウォール許可を設定した後、ワークフローを閉じ、Dockerを再起動し、アプリを再起動する必要があります。
ファイアウォールのパースミッションを有効にした後、「Exit 1」でまだ問題がある場合は、TMP/PIDS/SERVER.PIDを削除してからdocker-compose up -d削除する必要がある場合があります。
Ubuntuへのインストール。
LinuxベースのOSで環境をローカルに実行すると、 docker-composeコマンドをスーパーユーザー、 sudo docker-compose [commands]として実行する必要があります。
以下は、Dockerを非ルートユーザーとして管理するためのガイドです。
セットアップ手順からダウンロードされた最近の
.sqlファイルがあると仮定します。
境界が更新された場合、各開発者は境界をリロードする必要があります。新しい境界はまた、提出テーブルに列を追加する必要があるため、データベースを完全にリロードするのが最善です。
$ 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.sqlSQLファイルを更新するときは、ファイルの最初の行から警告を削除してください。
簡潔な形式で<date>今日の日付に置き換えるようにしてください(例: 20190801 )。
$ docker-compose exec mysql mysqldump --no-create-info -u suyc -psuyc suyc --ignore-table=suyc.schema_migrations --hex-blob > data/sua_ < date > .sql次の3つのセクションに従って最新のデータをダウンロードし、境界テーブルをクリアし、データをロードします。 DBを削除し、最新のSQLダンプをロードすることはオプションではない場合にのみ、これらの指示に従う必要があります。
これらのファイルがdata/ :
Linuxとmacosについては、以下を使用してください。
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc <<< " TRUNCATE boundaries; "Windows OSには、次のものを使用してください。
$ docker-compose exec mysql mysql -u suyc -psuyc suyc
$ mysql> TRUNCATE boundaries;
$ mysql> exit
$ docker-compose run frontend rake populate_boundaries
毎晩、テストと生産環境が最近のM-LABデータをインポートするデータインポートプロセスを実行し、境界を更新し、キャッシュを再描画し、その他のデータ関連タスクを実行します。
毎晩の輸入プロセスのいくつかのステップには、測定ラボデータにアクセスできるBigQueryサービスキーが必要です。
毎晩のプロセスは、 ./update_data.shを実行することから始めます。あなたの地元の環境では、あなたはできます:
$ docker-compose run frontend ./update_data.sh測定ラボデータにアクセスできるBigQueryサービスキーが必要です。
$ 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
Convributing.mdを参照してください。
コミットター:
技術委員会: