01Задача
Журнал на КПП и рации: поиск человека начинался со слов «кто его видел»
Туристы уходили на маршруты «примерно до вечера» — запись в журнале на КПП с подписью. Если группа не возвращалась, поиск начинался с опроса: кто последним видел людей на тропе. Каждый такой вечер — часы, потраченные на рацию, при пустой карте
Сотовой связи на большей части маршрутов нет: она ловится только у вышек на краю парка; спутниковые телефоны — единицы, у старших офицеров. Инциденты — слон-одиночка на тропе, браконьеры, травма — требовали координации офицеров по рации с неполными данными. А лагерям нечем было быстро поднять тревогу: до ближайшей рации — пешком
- «Примерно до вечера» в журнале КПП: просроченный чек-ин замечают, когда уже темно
- Поиск стартует с «кто последний видел» — часы опросов по рации вместо координат
- Инциденты с животными и браконьерами — офицеры координируются с неполными данными
- Лагерю нечем сообщить тревогу быстро: до ближайшей рации — пешком по тропе
Приватность-контуры зафиксировали до старта: отслеживание — только по явному согласию туриста, чек-ин добровольный, выход из системы — в один тап. Позиции автоматически удаляются через 30 дней, профилирования нет
KPI зафиксировали до старта, чтобы не спорить о результатах потом: локализация туриста при SOS — не дольше 15 минут; не меньше 75% маршрутов под покрытием LoRa-шлюзов; каждая тревога — с журналом отклика
02Что построили
SOS без сети: пакет уходит через вышку, а не через сотового оператора
Ядро — туристская PWA и радиоконтур. SOS-пакет уходит через LoRa-шлюз на вышке, как только телефон попадает в радиовидимость, — сотовая связь для этого не нужна. Очередь пакетов лежит в IndexedDB и не теряется
Панель дежурного собирает картину целиком: кто на маршруте, какие чек-ины просрочены, где тревога и какой патруль ближе всех. Просроченный чек-ин виден заранее — до того, как превратился в ночной поиск
- PWA чек-ина туриста: маршрут-план, расчётное время возврата, контакты, SOS-кнопка — всё работает оффлайн
- SOS-пакет (позиция, время, батарея) уходит через LoRa-шлюз на вышке при появлении радиовидимости — очередь в IndexedDB не теряется
- Офлайн-карты маршрутов (векторные тайлы) — в той же PWA, без интернета
- Панель дежурного парка: группы на карте, статусы чек-инов, тревоги, сектора вышек
- Локализация по секторам: сигнал телефона видят 2–3 шлюза — пересечение секторов даёт круг поиска, трек чек-ина уточняет
- Эскалация патруля: ближайший отряд получает задачу с картой и меткой
- Журнал инцидентов: тревога → отклик → исход — отчёт для руководства парка
- Радиошлюз: инциденты дублируются в эфир дежурного офицера
// Галерея кейса · клик открывает кадр крупно
03Технологии и интеграции
Стек собран под отсутствие связи, а не наоборот
Требование было одно: система обязана работать там, где интернета нет неделями. От него подбирали каждый инструмент — от мобильного контура до спутникового бэкхолла
Мобильный контур
Интернет на маршруте не появится от слов — приложение проектируется из допущения «связи может не быть неделями»: чек-ин, карты и SOS работают локально, синхронизация — когда есть канал
Радиоконтур
Вышки питаются от солнца и АКБ, LoRa держит километры при ваттах мощности. Компактный пакет SOS проходит даже при плохой радиовидимости — радиопланирование делали по рельефу до монтажа
Бэкенд
Гео-запросы по секторам вышек и трекам чек-инов — в PostGIS. Очередь пакетов переживает недоступность бэкхолла: пакет, пришедший с задержкой, не теряется, а попадает в журнал по времени события
Бэкхолл
Пакеты уходят батчами, когда спутниковый канал свободен; тревоги — вне очереди. Дежурный офицер слышит инцидент в эфире DMR, даже когда панель перед глазами не открыта
Приватность
Отслеживание — строго с согласия: турист сам чек-инится и сам выходит из системы, офицеры носят выданные устройства. Позиции удаляются автоматически через 30 дней, каждое обращение — под отчётом
04Результат
Первый сезон: от SOS до задачи патрулю — восемь минут
8 мин
От SOS до задачи патрулю
Среднее за сезон; было — часы по журналу и опросам на рации
78%
Маршрутов под LoRa-покрытием
Цель была ≥75%; остальное — участки с радиотенью, домонтаж в плане
1 200
Туристов с чек-ином
За первый сезон, каждый — добровольно, с выходом в один тап
3 из 3
инцидентов отработаны
Травма, слон на тропе, потерявшаяся группа — все с полным журналом
Локализация по секторам дала круг поиска 600 метров вместо «весь маршрут». Дежурный видит просроченные чек-ины заранее — до того, как пропажа превратилась бы в ночной поиск
Метрики первого сезона, округлены. Парк и оператор не названы по требованию безопасности — см. главу 08
05Сроки
16 недель до пилота — календарь подчинён сухому сезону
Софт писали параллельно с радиопланированием, но монтаж вышек ждал сухого сезона: в дожди к точкам не пройти. Поэтому радиоплан утвердили в первые две недели — до первой строки кода панели
Недели 01–02
Дискавери
Карта маршрутов и КПП, радиопланирование по рельефу, регламент тревог и приватность-контуры
Недели 03–05
PWA туриста
Чек-ин с маршрут-планом, SOS-очередь в IndexedDB, офлайн-карты в векторных тайлах
Недели 06–08
Радиоконтур
Монтаж двух вышек, LoRa-шлюзы, тесты пакетов с хребтов — сухой сезон, дороги проходимы
Недели 09–11
Панель и локализация
Панель дежурного: сектора вышек, пересечение секторов, эскалация ближайшего патруля
Недели 12–13
Журнал и радиошлюз
Журнал инцидентов «тревога → отклик → исход», дубль в эфир дежурного офицера
Недели 14–16
Полевые испытания и пилот
Тесты на маршрутах в сухой сезон, обучение офицеров и лагерей — в поле, два дня
Итого: 16 недель · пилот в сухой сезон · сезон отработан без потерь пакетов
06Экспертиза
Четыре роли TO-DEV — и полевой инженер парка
Системный аналитик~25% часов
Регламент тревог и эскалаций, приватность-контуры (согласие, автоудаление, отчёты о доступах), радиопланирование секторов по рельефу
Бэкенд-разработчик~30% часов
Очередь пакетов с переживанием недоступности бэкхолла, гео-локализация по секторам в PostGIS, журнал инцидентов и отчёты
PWA-разработчик~25% часов
Оффлайн-первый чек-ин, SOS без сети с очередью в IndexedDB, офлайн-карты в векторных тайлах
Полевая инженерия~20% часов
Энергетика вышек (солнце + АКБ), монтаж и антенны, тесты радиовидимости, обучение офицеров и лагерей
Полевой инженер парка знал, где вышка «видит» хребет, а где радиотень, — радиопланирование до монтажа сэкономило недели. Обучение «в поле» заняло два дня, не презентацию
07Ориентир для повторения
Что нужно, чтобы повторить такой контур
Нужно от заказчика
Артефакты старта
Вилки сроков и команды
Типовая вилка такого контура — 14–20 недель. Критичный путь — радиоплан и монтаж вышек, не софт
08Честно оговорим
Что обезличено — и что не показываем
Парк, оператор и география не названы по требованию безопасности — детали охранных мер не публикуем
Метрики показаны за первый сезон и округлены; сырые дашборды не публикуем
Фотография — временный плейсхолдер; интерфейсы и карты показаны схемами, а не скриншотами, — по той же причине
Хотите такой контур безопасности для своей территории — расскажите о задаче в форме ниже