Skip to main content

Покрытие

Страница «Покрытие» веб-интерфейса ONS показывает на карте расчётное радиопокрытие шлюзов, сами шлюзы и, по запросу, устройства выбранных приложений. По ней видно, какую территорию по расчёту покрывает сеть и какие шлюзы давно не выходили на связь. Покрытие рассчитывает внешний сервис CloudRF по местоположению, высоте и антенне каждого шлюза.

Шлюзы объединяются в сети покрытия: сеть выбирают в карточке шлюза, в поле «Покрытие». Для каждой сети рассчитывается одно общее изображение покрытия — его и показывает карта.

Что показывает карта покрытия​

Страница открывается пунктом меню «Покрытие» — он стоит между «Биллинг» и «Шлюзы» и виден всем пользователям, вошедшим в систему. Сети и шлюзы на ней загружаются, только если у пользователя есть право на просмотр сетей покрытия; без него карта пуста. С этим правом на карте видны сети покрытия и их шлюзы в видимой области. Вся страница — одна карта.

На картеЧто это
Изображение покрытияРасчётное покрытие сети целиком, полупрозрачное (непрозрачность 0,7)
ШлюзыКружки; цвет показывает, когда шлюз последний раз выходил на связь
УстройстваМетки устройств выбранных приложений — появляются, только если их запросить
Профиль путиГрафик трассы между выбранным шлюзом и точкой на карте — строится по запросу

Как карта загружает данные:

  • Данные запрашиваются только для видимой области. При перемещении или изменении масштаба карта сразу отменяет незавершённый запрос, а новый отправляет, когда карта 1 секунду остаётся неподвижной. Пока идёт загрузка, значок кнопки «Обновить» вращается.
  • Сервер возвращает сети покрытия, у которых в видимой области есть хотя бы один шлюз, который не удалён и не отключён. Сети приходят по 50 на страницу, а карта читает только первую страницу — за один запрос не больше 50 сетей.
  • Сеть, которая уже есть на карте, при следующих запросах не обновляется: новые данные по ней отбрасываются. Шлюзы такой сети, которые при её первой загрузке были вне видимой области, после перемещения карты не появятся. Добавляются только сети, которых на карте ещё не было. Чтобы загрузить всё заново, нажмите «Обновить».
  • Карта открывается в масштабе 12 (доступны масштабы 1–18) с центром в точке 43.24209, 76.87743. Браузер запоминает последний центр, масштаб и подложку (localStorage, ключи restoreCoords и baseLayer) и при следующем открытии восстанавливает их.

Слои и элементы управления​

Переключатель слоёв содержит три подложки — Open Street Map, Google Map и Satellite — и два наложения: Coverage (изображения покрытия) и Node (метки устройств). Метки шлюзов лежат в отдельном слое, которого нет в переключателе, поэтому шлюзы видны всегда. Ещё на карте есть масштабная линейка.

ЭлементГдеЧто делает
Кнопки масштаба и линейка расстоянийСправа вверхуМеняют масштаб; линейка измеряет расстояние по ломаной на карте
ЛегендаСправа вверхуШкала в dBm: оттенки зелёного от −80 до −100 dBm с шагом 5 dBm
Значок кубиков («Показать узлы»)Справа вверхуОткрывает панель устройств — см. раздел «Устройства на карте»
Форма перехода: «Широта», «Долгота», «Перейти», «Очистить»Слева вверхуЩелчок по карте заполняет форму координатами точки. «Перейти» ставит в точке маленькую красную метку и жёлтый круг радиусом 2500 м и переносит туда карту. «Очистить» — кнопка со значком переработки (подпись видна при наведении) — убирает эти метки и метки профиля пути
«Обновить»Слева вверхуПерестраивает карту в текущем центре и масштабе: сбрасывает загруженные сети и выбранный шлюз и загружает данные заново
«Анализ профиля пути» и поле «Высота приемника, м»Слева вверхуСтроят профиль пути — см. раздел «Анализ профиля пути»
Координаты курсораСлева внизуПоказывают координаты точки под курсором в виде lat: … lng: …

Легенда — неизменная картинка. Она нарисована для цветовой схемы LORA100.dBm, которая задана в параметрах расчёта по умолчанию (параметр col, см. раздел «Как строится покрытие»).

Подложка карты на снимках этой страницы — © участники OpenStreetMap.

Карта «Покрытие»: изображение покрытия сети, шлюзы и элементы управления
  1. Форма перехода — поля «Широта» и «Долгота», кнопки «Перейти» и «Очистить» (значок переработки).
  2. «Анализ профиля пути» и поле «Высота приемника, м» — по умолчанию 5.
  3. «Обновить» — перестраивает карту и загружает данные заново.
  4. Переключатель слоёв — подложки Open Street Map, Google Map, Satellite и наложения Coverage и Node; раскрывается при наведении на значок слоёв.
  5. Кнопки масштаба и линейка расстояний.
  6. Легенда — шкала в dBm от −80 до −100 dBm.
  7. Значок кубиков («Показать узлы») — открывает панель устройств.
  8. Координаты курсора — lat: … lng: ….

Шлюзы на карте: цвета, подсказки, группировка​

Каждый шлюз — кружок. Цвет зависит от того, когда шлюз последний раз выходил на связь:

ЦветПоследний выход на связь
СинийМеньше 1 часа назад
ОранжевыйОт 1 до 3 часов назад
Красный3 часа назад и раньше
СерыйНи разу

Шлюз с отметкой «Только планирование» обведён толстой жёлтой рамкой. Выбранный шлюз подсвечен зелёным ореолом.

Щелчок по шлюзу выбирает его и переносит центр карты на него. Во всплывающем окне:

  • «Шлюз:» и название шлюза;
  • красная строка «Только планирование» — если у шлюза есть эта отметка;
  • EUI;
  • «Высота», м;
  • «Количество данных в час» — на этой карте это число записей данных шлюза за последние 24 часа без учёта downlink, а не за час. Одноимённое свойство шлюза за пределами этой карты считается за 1 час;
  • «Описание»;
  • «Последнее событие» — дата и время в формате YYYY-MM-DD HH:mm; значение подсвечено светло-жёлтым, если с последнего выхода на связь прошло от 1 до 3 часов, и светло-красным — если 3 часа и больше (цвет определяется в момент загрузки шлюза на карту).

На снимке наложение Coverage выключено, чтобы были лучше видны цвета шлюзов.

Шлюзы на карте и всплывающее окно выбранного шлюза
  1. Синий шлюз — выходил на связь меньше 1 часа назад.
  2. Выбранный шлюз — подсвечен зелёным ореолом. Он оранжевый: выходил на связь от 1 до 3 часов назад.
  3. Красный шлюз — выходил на связь 3 часа назад и раньше.
  4. «Только планирование» — серый кружок (шлюз ни разу не выходил на связь) с толстой жёлтой рамкой.
  5. «Шлюз:» и название шлюза — заголовок всплывающего окна.
  6. «Количество данных в час» — на этой карте число записей данных шлюза за последние 24 часа.
  7. «Последнее событие» — подсвечено светло-жёлтым: с последнего выхода на связь прошло от 1 до 3 часов.

Пока масштаб меньше 12, близкие шлюзы объединяются в группы; с масштаба 12 каждый шлюз виден отдельно. Если в видимой области не больше одной сети с рассчитанным изображением покрытия и шлюзами, группировка отключается. При наведении на группу появляется сводка по её шлюзам: «Всего», «Активные», «Нет связи более часа», «Нет связи более 3 часов», «Неактивные», «Только планирование». Шлюз с отметкой «Только планирование» всегда попадает в строку «Только планирование».

Как строится покрытие​

Покрытие рассчитывает внешний сервис CloudRF (https://api.cloudrf.com). ONS выполняет два вида расчёта:

РасчётЗапрос к CloudRFРезультатГде виден
По шлюзу/areaИзображение покрытия шлюза и его границыИзображение — на карте в поле «Местоположение» карточки шлюза; статус — в списке шлюзов и на этой карте; на карте «Покрытие» изображение не показывается
По сети покрытия/multisiteОдно изображение PNG в проекции Меркатора на всю сеть и его границыНа карте «Покрытие»

Из карточки шлюза в расчёт идут:

Поле карточки шлюзаЧто даёт расчёту
«Местоположение»Широта и долгота шлюза
«Высота»Высота шлюза, м; целое число. В форме добавления шлюза поле заполнено нулём; шлюз с высотой 0 в расчёт сети не попадает — укажите реальную высоту
«Антенна»Антенна из каталога антенн с её параметрами для CloudRF. В карточке шлюза показываются диаграммы направленности антенны в горизонтальной и вертикальной плоскостях
«Азимут антенны»Направление антенны в градусах от северного направления координатной сетки (grid north); форма принимает значения 0–360
«Наклон антенны»Наклон антенны в градусах от горизонта; форма принимает значения от −360 до 360
«Покрытие»Сеть покрытия, в расчёт которой входит шлюз
«Отключен», «Внутренний шлюз», «Только планирование»Определяют, попадёт ли шлюз в расчёт, — см. раздел «Какие шлюзы попадают в расчёт»

Остальные параметры расчёта хранятся у каждой сети покрытия в поле cloudrf_payload (JSON) и редактируются в панели администрирования сервера редактором JSON. В веб-интерфейсе окно «Добавить покрытие» в карточке шлюза спрашивает только название новой сети. Новая сеть получает значения по умолчанию:

ГруппаЗначения по умолчанию
(верхний уровень)engine: 2
transmitter (передатчик)frq: 868, txw: 0.025, bwi: 0.125
receiver (приёмник)alt: 2, rxg: 2, rxs: -90
antenna (антенна)txg: 2.15, txl: 0, ant: 1, hbw: 360, vbw: 90, fbr: 0, pol: v
model (модель)pm: 1, pe: 2, ked: 1, rel: 50
environment (окружение)clt: Minimal.clt, elevation: 2, landcover: 1, buildings: 0, obstacles: 0
output (результат)units: m, col: LORA100.dBm, out: 2, nf: -120, res: 4, rad: 10

В таблице нет служебных полей site и network и координат lat, lon. Для каждого шлюза ONS подставляет в transmitter координаты и высоту шлюза (lat, lon, alt), а в antenna — параметры антенны из каталога, азимут (azi) и наклон (tlt). Смысл и единицы параметров — как в API CloudRF. У действующих сетей значения могут отличаться от значений по умолчанию.

Какие шлюзы попадают в расчёт​

В расчёт сети покрытия не попадает шлюз, если он:

  • удалён;
  • отключён — отметка «Отключен»;
  • не на связи — последний раз выходил на связь больше 24 часов назад и не отмечен «Только планирование»;
  • внутренний — отметка «Внутренний шлюз»;
  • имеет высоту 0 м или меньше;
  • не имеет местоположения;
  • не имеет антенны.

Шлюз с отметкой «Только планирование» никогда не считается не вышедшим на связь; остальные условия к нему применяются как обычно. Если подходящих шлюзов не осталось, расчёт сети пропускается: статус становится «Покрытие готово», а в сообщении статуса записывается All gateways is offline, disabled or indoor. Skipe coverage creation.

Расчёт по отдельному шлюзу пропускается для внутреннего шлюза, шлюза без антенны и шлюза без местоположения.

Поле «Покрытие» в карточке шлюза необязательное. Но шлюз без сети покрытия карта не получает: его нет на карте, и он не входит ни в один расчёт сети.

Когда покрытие пересчитывается и как узнать статус​

Расчёт всегда идёт фоновой задачей сервера: результат появляется после того, как задача выполнится.

СобытиеЧто пересчитывается
Сохранение шлюза — если шлюз выходил на связь за последние 24 часа или отмечен «Только планирование», не удалён и не отключёнПокрытие шлюза и его сети
Сохранение сети покрытияПокрытие всех подходящих шлюзов сети и изображение сети
Групповое действие «Обновить покрытие» в списке шлюзовПокрытие выбранных шлюзов и их сетей

Действие «Обновить покрытие» видят пользователи, которым разрешено добавлять шлюзы.

Статус расчёта показывает метка с глобусом:

  • в списке шлюзов рядом с названием шлюза — статус расчёта этого шлюза;
  • в списке шлюзов рядом с названием сети в колонке «Сеть покрытия» — статус расчёта сети;
  • в карточке шлюза — на карте в поле «Местоположение», под кнопками метки.
КодМеткаВид
0«Покрытие генерируется»Жёлтая, с индикатором загрузки
1«Покрытие не сгенерировано»Красная
2«Покрытие готово»Зелёная
Внимание

«Покрытие готово» не всегда значит, что изображение построено. Статус 2 ставится и тогда, когда расчёт пропущен: для шлюза — внутреннего, без антенны или без местоположения; для сети — когда в ней не осталось ни одного подходящего шлюза. Ошибка CloudRF при расчёте сети даёт статус 1. Если сервис ответит ошибкой при расчёте отдельного шлюза, метка шлюза может так и остаться «Покрытие генерируется».

Анализ профиля пути​

Профиль пути — график, который CloudRF строит для трассы между шлюзом и выбранной точкой (запрос /path). Передатчик — шлюз с его местоположением, высотой, антенной, азимутом и наклоном; приёмник — выбранная точка на заданной высоте.

  1. Щёлкните по шлюзу на карте — он станет выбранным.
  2. При необходимости измените высоту приёмника в поле «Высота приемника, м» — по умолчанию 5.
  3. Нажмите «Анализ профиля пути» — кнопка станет зелёной.
  4. Щёлкните по точке на карте или введите её координаты в форму перехода и нажмите «Перейти».

График появится во всплывающем окне в выбранной точке, сама точка отмечается оранжевой меткой. После каждого анализа режим выключается: для следующей точки снова нажмите «Анализ профиля пути». Если шлюз не выбран, при выборе точки появится ошибка «Сначала выберите шлюз».

Веб-интерфейс получает профиль запросом GET /api/v1/path_profile:

ПараметрОписание
gatewayОбязательно. EUI шлюза, 16 hex-символов
to_latОбязательно. Широта точки
to_lonОбязательно. Долгота точки
rxhВысота приёмника, м

Нужно право на просмотр шлюзов; без него сервер ответит 403 You do not have permission to perform this action.. Кроме того, у пользователя должен быть доступ к этому шлюзу — право на просмотр или владение, иначе 403 Not found.. Удалённый или несуществующий шлюз — 404 Not found.. Результат — изображение PNG в кодировке base64.

Устройства на карте​

Устройства (в интерфейсе — «узлы») показываются по запросу:

  1. Нажмите значок кубиков справа вверху («Показать узлы»).
  2. Отметьте приложения. В списке — активные приложения, доступные пользователю (свои и с правом просмотра), по алфавиту; отметка «Приложения» выбирает все.
  3. Нажмите «Показать узлы».

Карта запрашивает координаты устройств выбранных приложений и ставит метки тех, у кого координаты заданы. Сервер возвращает только активные устройства, которые пользователь может видеть: DevEUI, описание, время последнего сообщения, время последнего подключения к сети (join) и координаты.

Цвет метки зависит от времени последнего сообщения:

ЦветПоследнее сообщениеПодпись в легенде
ЗелёныйНе больше 24 часов назад«Активные за сегодня»
ЖёлтыйБольше 24, но не больше 48 часов назад«Нет связи более 24 часов»
ОранжевыйБольше 48 часов назад«Нет связи более 48 часов»
КрасныйНи разу«Не было связи»

Легенда под заголовком «Узлы» показывает число устройств каждого цвета, подпись видна при наведении. Учитываются только устройства с координатами. Во всплывающем окне устройства — «Узел:» и DevEUI устройства, «Последнее соединение» (последнее подключение к сети) и «Последнее сообщение»; строка «Последнее сообщение» окрашена в цвет метки.

Вокруг каждого устройства рисуется круг радиусом 50 м. После первой загрузки появляется блок «Настройки» с ползунками «Радиус» (50–500 м, шаг 50 м) и «Прозрачность» (0–1, шаг 0,1, по умолчанию 0,3).

На снимке наложение Coverage выключено, чтобы были лучше видны метки устройств.

Устройства на карте: панель «Показать узлы» и всплывающее окно устройства
  1. «Приложения» — список приложений; отметка «Приложения» выбирает все.
  2. «Показать узлы» — ставит на карту метки устройств отмеченных приложений.
  3. «Настройки» — ползунки «Прозрачность» и «Радиус».
  4. Легенда «Узлы» — число устройств каждого цвета: зелёный, жёлтый, оранжевый, красный.
  5. Метка устройства и круг радиусом 50 м вокруг неё. Зелёная метка — последнее сообщение не больше 24 часов назад.
  6. «Последнее сообщение» — строка окрашена в цвет метки; оранжевый — последнее сообщение больше 48 часов назад.

Каждая загрузка добавляет устройства к уже показанным, без повторов по DevEUI. Чтобы начать заново, нажмите «Обновить». В панели не больше 50 приложений: она читает только первую страницу списка.

Координаты устройства задаются командой WebSocket API set_device_coordinates_req: сервер записывает их в то же поле настроек устройства, из которого их берёт карта.

Почему покрытия или шлюза нет на карте​

Что видноПричинаЧто сделать
Шлюза нет на картеУ шлюза не выбрана сеть покрытияВыберите сеть в поле «Покрытие» в карточке шлюза
Шлюза нет на картеШлюз отключён или удалёнНичего: отключённые и удалённые шлюзы на карту не попадают
Шлюза нет на картеУ шлюза не задано «Местоположение»: карта ищет шлюзы по координатам в видимой областиЗадайте местоположение в карточке шлюза
Шлюза нет на картеЕго сеть загрузилась раньше, когда шлюз был вне видимой области; уже загруженная сеть не обновляетсяНажмите «Обновить»
На карте нет ни сетей, ни шлюзовНет права на просмотр сетей покрытияПопросите администратора выдать право просмотра сетей покрытия
Часть сетей не появиласьВ видимой области больше 50 сетей, а карта читает только первые 50Увеличьте масштаб
Шлюзы есть, изображения покрытия нетРасчёт сети ещё идёт, завершился ошибкой или пропущенПосмотрите статус сети в списке шлюзов, колонка «Сеть покрытия»; проверьте условия раздела «Какие шлюзы попадают в расчёт»; запустите «Обновить покрытие»
Изображения покрытия нет ни у одной сетиВыключено наложение Coverage в переключателе слоёвВключите наложение Coverage
После изменений карта показывает старые данныеУже загруженные сети не заменяются новыми даннымиНажмите «Обновить»
Устройства нет на картеУ устройства не заданы координаты, устройство неактивно или его приложение не попало в первые 50Задайте координаты командой set_device_coordinates_req

См. также​