Как отслеживать спутники прямо с телефона и почему вам стоит взглянуть на Look4Sat
Прямо сейчас над вашей головой пролетают тысячи спутников. МКС, метеорологические аппараты NOAA, группировки Starlink, любительские радиокубсаты. Если вы хоть раз пробовали поймать картинку с погодного спутника на дешёвый SDR-приёмник или связаться через ретранслятор на орбите, вы знаете главную проблему: нужно точно понимать, когда спутник появится из-за горизонта, по какой траектории пройдёт и на какой частоте передаёт сигнал.
На десктопах стандартом давно стал Gpredict. Но таскать с собой ноутбук в поле или на крышу ради пятиминутного окна связи неудобно. Репозиторий Look4Sat решает эту задачу для Android. Это открытый трекер спутников, написанный на современном стеке Kotlin, который полностью автономен и не требует постоянного интернета в процессе работы.
Что умеет приложение
Look4Sat берёт орбитальные данные из открытых каталогов Celestrak и SatNOGS. База охватывает больше девяти тысяч активных объектов. Найти нужный аппарат можно по имени или номеру в каталоге NORAD.
После настройки ваших координат приложение рассчитывает расписание пролётов:
- Прогноз видимости аппаратов на срок до 10 дней вперёд.
- Расчёт полярной траектории движения над горизонтом с учётом азимута и угла места.
- Отображение зоны радиовидимости (footprint) и проекции трассы на карте мира.
- Данные по активным радиопередатчикам и частотам для приёма телеметрии или голоса.
- Импорт пользовательских орбитальных элементов в формате TLE из локальных текстовых файлов.
Главная фишка приложения заключается в концепции offline-first. Вы можете обновить базу TLE дома через Wi-Fi, а потом уехать в лес, где нет сотовой связи. Все баллистические расчёты телефон выполняет локально на процессоре, опираясь на модуль 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 или метеоданные с аппаратов серии «Метеор-М». Look4Sat показывает точное время начала и конца сеанса связи, а также максимальную высоту над горизонтом: чем выше угол, тем чище сигнал вы запишете.
Вторая аудитория — любители астрономии и наблюдатели за ночным небом. По приложению легко отслеживать пролёты МКС или «паровозиков» Starlink.
Третья группа — разработчики, интересующиеся спутниковой навигацией, баллистикой и мобильной разработкой. Приложение показывает, как упаковать сложные астродинамические расчёты в лёгкий интерфейс без просадок FPS.
С чего начать знакомство
Исходный код лежит на GitHub под лицензией GPLv3. Проект активно поддерживается автором (rt-bishop) и сообществом: коммиты выходят регулярно, а открытые задачи в issue-трекере быстро разбираются.
Собрать проект можно стандартным способом через Android Studio, склонировав репозиторий:
git clone https://github.com/rt-bishop/Look4Sat.git
Для повседневного использования проще всего поставить бинарник из Google Play или F-Droid, обновить базу TLE в настройках и задать домашнюю локацию. Недельного обновления орбитальных данных обычно достаточно, чтобы погрешность предсказания не превышала пары секунд.
