>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Kotlin

スマホから衛星を追跡する方法とLook4Sat注目すべき理由

現在、何千もの衛星が頭上を飛んでいます。ISS、NOAA気象衛星、Starlinkコンステレーション、アマチュアラジオCubeSatなど。安いSDR受信機で気象衛星からの画像を取得したり、軌道リレーを使って通信したりしたことのある人ならわかると思いますが、主要な問題は、衛星が地平線上にいつ出現するか、軌道がどうなるか、周波数はいくつかに正確に位置情報を把握する必要があるということです。

Gpredictは長年にわたりデスクトップの標準でした。しかし、5分間の通信ウィンドウのためにノートPCをフィールドや屋上に持ち運ぶのは便利ではありません。Look4Satリポジトリは、Android向けにこれを解決します。モダンなKotlinで構築されたオープンソースの衛星トラッカーで、完全に自律的で動作中にインターネット接続を必要としません。

このアプリできること

Look4Satは、公共のCelestrakとSatNOGSカタログから軌道データを取得します。データベースには9,000以上の活動中のオブジェクトがカバーされています。名前またはNORADカタログ番号で必要な衛星を見つけることができます。

座標を設定すると、アプリは通過スケジュールを計算します:

  • 最大10日先までの衛星の可視予測。
  • 方位角と仰角を考慮した極軌道計算。
  • 世界地図上でのラジオ可視範囲と地上軌跡投影の表示。
  • テレメトリや音声を受信するための活動中のラジオ送信機と周波数のデータ。
  • ローカルのテキストファイルからTLE形式でカスタム軌道要素をインポート。

アプリの主な特徴はオフラインファーストのコンセプトです。Wi-Fi在家でTLEデータベースを更新してから、モバイルサービスのない森に出かけることができます。すべての弾道計算はスマートフォンのGPSモジュールまたはプリセットの観測座標に頼って、手机的プロセッサ上でローカルに実行されます。

内部構造:モダンなAndroidスタック

コードの観点から、Look4SatはレガシーなしのモダンなAndroidアプリケーションの素晴らしい例です。このリポジトリは2019年に登場し、品質の進化を遂げてきました:

  • 言語とマルチスレッド:ピュアKotlinとコルーチン。数百のオブジェクトの軌道力学を同時に計算するにはリソースが必要で、計算は注意深くメインのUIスレッドから移動されます。
  • ユーザーインターフェース:Jetpack ComposeとNavigation Compose。かさばるXMLレイアウトや肥大化したリストアダプタはありません。
  • クリーンさとオープン性:GPL-3.0ライセンス、广告、アナリティクストラッカー、有料サブスクリプションなし。ビルドはGoogle Playだけでなく、F-Droidからも配布されています。
// Внутри репозитория можно подсмотреть, как организована 
// математика предсказания траекторий на основе SGP4/SDP4 моделей
// и связка с локальными базами данных

Android向けに開発していて、Jetpack Composeによるアーキテクチャの実例、極座標グラフ用の複雑なカスタムCanvas実装、バックグラウンド計算を見てしたい場合は、プロジェクトのソースコードは読みやすく明確です。

Look4Satが役立つ人

最初のカテゴリはラジオアメチュアとSDR愛好家です。数千元程度のRTL-SDRと簡単な自作アンテナがあれば、NOAA-15、18、19衛星から新鮮な地球の画像を受信したり、Meteor-Mシリーズ宇宙船からの気象データを受信したりできます。Look4Satは通信セッションの正確な開始時刻と終了時刻、そして地平線上の最大高度を表示します。角度が高いほど、記録する信号がクリーンになります。

второй audience — любители астрономии и наблюдатели за ночным небом. Приложение упрощает отслеживание пролётов МКС или «поездов» Starlink.

третьей группой являются разработчики, интересующиеся спутниковой навигацией, баллистикой и мобильной разработкой. Приложение демонстрирует, как упаковать сложные астродинамические вычисления в лёгкий интерфейс без просадки FPS.

始めるには

ソースコードはGPLv3ライセンスの下でGitHubにあります。プロジェクトは作者(rt-bishop)とコミュニティによって積極的にメンテナンスされています: регулярные коммиты, а открытые проблемы в трекере быстро решаются.

リポジトリをクローンして、Android Studioで標準的な方法でプロジェクトをビルドできます:

git clone https://github.com/rt-bishop/Look4Sat.git

日常的な使用には、Google PlayまたはF-Droidからバイナリをインストールするのが最も簡単です。設定でTLEデータベースを更新し домашнюю локациюを設定します。週次の軌道データ更新 обычно достаточно для поддержания погрешности прогнозов в пределах нескольких секунд.

関連プロジェクト