このプロジェクトは 2 つのモジュールで構成されています。
C# で書かれた Web アプリケーション (ASP.Net)
Java で書かれた Android アプリケーション、リンク: https://github.com/vsl700/GPSTrackerOnline
このプロジェクトの目標は、たとえば、親が子供の位置を追跡できるようにすることです。仕組みは次のとおりです。
追跡対象のデバイス (子供など) には、「GPS Tracker - Online」アプリケーションがインストールされている必要があります
トラッカー (親) は、Web ブラウザーまたはモバイル アプリを通じてシステムに登録し、ログインしている必要があります。
トラッカーは、各追跡対象デバイスに何らかの名前 (「息子」、「妻」など) を入力して、アカウント内に追跡対象デバイスのレコードを作成する必要があります。各レコードにはランダムに生成された 6 桁のコードが含まれています
トラッカーに接続できるようにするには、追跡対象の各デバイスで最初に対応する 6 桁のコードを入力する必要があります。
トラッカーは、ターゲットデバイスの現在位置と位置履歴を確認できます。
使用していないときは、モバイルアプリの追跡サービスを終了してバッテリー寿命を延ばすことができます
対象の電話機で追跡サービスが実行されていない(オンにするのを忘れた)場合、トラッカーは対象の電話機に特別な SMS を送信できます。これはモバイル アプリによって検出され、アプリがサービスをオンにします。
追跡対象のデバイスにインターネットが接続されていない場合、トラッカーは対象の電話に特別な SMS を送信でき、その代わりにトラッカーは次の内容を含む SMS を受信します。
現在の GPS 位置と位置履歴(ターゲットの電話機で GPS サービスが利用可能な場合)
ターゲットの電話機で GPS サービスが利用できない場合は、最後に検出された GPS 位置と位置履歴
このプロジェクトは、サーバーとデバイス (ブラウザーとモバイル アプリ) 間の WebSocket 接続 (現在の場所用) に「SignalR」を使用します。 Web アプリケーションはデータベースとして「MS Sql Server 2019」を使用しますが、モバイル アプリケーションは「SQLite」を使用します。ウェブページとモバイルアプリで使用されている地図は Google から提供されています。
下の図では、さまざまなデバイスが Web アプリに接続する方法がわかります。
(発信者 = トラッカー)
以下の図は、Web アプリケーションのデータベース構造を示しています (すべてのテーブルに主キーとして「id」列があります)。
以下の図は、モバイル アプリケーションのデータベース構造を示しています (「Locations」テーブルには主キーとして「id」列があります)。
ここでは、Web アプリケーションとモバイル アプリケーションのスクリーンショットをいくつか見ることができます。
「phone1」と「phone2」はオンラインであり、地図上に表示されています