Шлюзы
Раздел «Шлюзы» веб-интерфейса ONS — список шлюзов LoRaWAN и карточка каждого из них. Здесь шлюзы регистрируют вручную или импортом из файла, задают им местоположение и антенну для расчёта покрытия, проверяют, на связи ли шлюз, и смотрят загрузку его эфира и принятые кадры. Сам шлюз подключается к серверу по протоколу Semtech UDP; чтобы сервер связал пакеты шлюза с записью в разделе, EUI в записи должен совпадать с Gateway ID шлюза.
Где находится раздел и кому он доступен
Пункт меню «Шлюзы» открывает список шлюзов по адресу /gateways. Новый шлюз добавляют на странице /gateways/add. Карточка шлюза открывается по адресу /gateways/<EUI> — на неё ведёт название шлюза в списке.
| Что | Кому доступно |
|---|---|
| Пункт меню «Шлюзы» и сам раздел | Суперпользователь (superuser) и группы admin и monitoring. Дилер входит в группу admin |
| Кнопка «Добавить шлюз», действия «Удалить», «Экспорт» и «Обновить покрытие» | Суперпользователь и группы admin и gateway_admin |
| Действие «Права» | Суперпользователь и группа dealer |
| Кнопка «Импорт» | Пользователи с признаком staff |
| Сохранение формы шлюза | Суперпользователь и группы admin и application_admin. У сохранённого шлюза — по правам на этот шлюз, которые передал сервер |
Пункт меню интерфейс показывает, только если у пользователя есть одна из групп раздела. Без них прямой переход на /gateways/... уводит на страницу входа /login.
В списке — только активные, то есть не удалённые, шлюзы, которыми пользователь владеет или на просмотр которых ему выдано право (view_gateway). Суперпользователь видит все активные шлюзы. Счётчик «Всего» считается по тем же правилам. Как открыть доступ к шлюзам другому профилю — в разделе «Профили» и в описании действия «Права» ниже.
Права на сохранённый шлюз сервер передаёт интерфейсу вместе со шлюзом, и они важнее групп: владельцу — пользователю, который создал шлюз, — разрешено всё, остальным — то, что им выдано: просмотр, добавление, изменение, удаление. Если из перечисленных групп у пользователя есть только gateway_admin, кнопку «Добавить шлюз» он видит, но форма добавления откроется без кнопки сохранения.
Сервер дополнительно проверяет права:
- создание шлюза требует права
add_gateway, изменение — праваchange_gateway, а также владения шлюзом или права на этот шлюз; - массовые действия «Удалить», «Экспорт», «Обновить покрытие» и «Права» требуют права
add_gateway, поэтому профиль типа Мониторинг их выполнить не может; - удалить можно свой шлюз или шлюз, на который выдано право
delete_gateway, а суперпользователю — любой шлюз.
Как подключить шлюз к ONS
ONS принимает пакеты шлюзов по протоколу Semtech packet forwarder (Semtech UDP) на UDP-порт 1700. Сервер слушает один порт для всех пакетов шлюза и обрабатывает три их типа:
| Пакет | Что это |
|---|---|
| PUSH_DATA | Uplink-кадры, принятые шлюзом из эфира |
| PULL_DATA | Keepalive: шлюз сам отправляет его каждые N секунд — период keepalive |
| TX_ACK | Подтверждение шлюза на кадр downlink, полученный от сервера |
- Добавьте шлюз в разделе, см. «Добавление шлюза». В поле «EUI» укажите Gateway ID из настроек packet forwarder шлюза.
- В настройках packet forwarder укажите адрес сервера ONS и порт 1700.
- Убедитесь, что в списке шлюзов у шлюза появилось и обновляется «Последнее событие».
EUI. Идентификатор шлюза сервер берёт из байтов 4–11 заголовка каждого пакета Semtech UDP и переводит в шестнадцатеричную строку в верхнем регистре. По этой строке он ищет активный шлюз с таким EUI. Если EUI в ONS не совпадает с Gateway ID шлюза, «Последнее событие», IP, RTT и статистика со шлюзом не свяжутся.
Keepalive и NAT. По протоколу Semtech обмен начинает шлюз: пакетами PULL_DATA он открывает и держит открытым обратный сетевой маршрут к шлюзу, в том числе через NAT. Протокол рассчитан на шлюз за NAT или межсетевым экраном, который не пропускает входящие соединения. Отправить шлюзу кадр downlink (пакет PULL_RESP) сервер может только после первого PULL_DATA — на адрес, с которого тот пришёл.
Добавление шлюза
- В списке шлюзов нажмите «Добавить шлюз».
- Заполните поля формы «Добавить шлюз».
- Нажмите «Добавить». Появится уведомление «Шлюз добавлен», и интерфейс вернётся к списку.
- «Название» — обязательное поле.
- «EUI» — обязательное поле: Gateway ID шлюза, 16 шестнадцатеричных символов в верхнем регистре.
- «IP», «Порт» — только для чтения: адрес, с которого пришёл последний keepalive шлюза.
- «Покрытие» — сеть покрытия из списка; кнопка «+» открывает окно «Добавить покрытие».
- «Антенна» — антенна из каталога и её диаграммы направленности в горизонтальной и вертикальной плоскостях.
- «Азимут антенны», «Наклон антенны» — от 0 до 360 и от −360 до 360.
- «Высота» — высота шлюза над землёй в метрах; форма подставляет 0.
| Поле | Что задаёт |
|---|---|
| «Название» | Обязательно. До 256 символов |
| «Описание» | До 256 символов |
| «EUI» | Обязательно. Ровно 16 шестнадцатеричных символов в верхнем регистре — Gateway ID шлюза |
| «IP», «Порт» | Только для чтения: адрес, с которого пришёл последний keepalive шлюза. После первого keepalive порт равен 0, см. «Список шлюзов» |
| «Покрытие» | Сеть покрытия из списка. Кнопка «+» открывает окно «Добавить покрытие» и создаёт сеть с заданным названием |
| «Антенна» | Антенна из каталога. После выбора форма показывает диаграммы направленности антенны в горизонтальной и вертикальной плоскостях |
| «Азимут антенны» | От 0 до 360 |
| «Наклон антенны» | От −360 до 360 |
| «Высота» | Высота шлюза над землёй в метрах — в таком смысле её получает сервис расчёта покрытия. В форме по умолчанию 0, см. ниже |
| «Местоположение» | Точка на карте |
| «Отключен», «Внутренний шлюз», «Только планирование» | Флажки, см. ниже |
| «Изображения» | Фотографии шлюза: файлы .jpg, .jpeg, .png, можно несколько |
| Дополнительные поля | Дополнительные поля шлюзов, если они заданы |
Если EUI введён неверно, под полем появится одно из сообщений:
- «Введите действительное шестнадцатеричное значение в верхнем регистре: например „FF0022“» — в значении есть символы кроме 0–9 и A–F; строчные a–f тоже ошибка;
- «Минимальная длинна 16 (сейчас N)» — символов меньше 16.
Если EUI уже занят активным шлюзом, сервер отклонит сохранение с ошибкой A gateway with that eui already exists. (в русской локализации сервера — «Шлюз с таким eui уже существует.»). Ошибку сервера интерфейс показывает всплывающим уведомлением «Ошибка».
У сохранённого шлюза форма называется «Изменить шлюз», и кнопок две: «Сохранить» — уведомление «Шлюз обновлен» и возврат к списку — и «Сохранить и продолжить редактирование». Кнопки активны, только если форма заполнена верно и в ней есть изменения. Без права изменения поля формы доступны только для чтения, а кнопок нет.
Местоположение, антенна, высота и флажки
Местоположение, антенна и высота нужны прежде всего для расчёта покрытия. Его считает внешний сервис CloudRF по параметрам сети покрытия шлюза, координатам, высоте, азимуту и наклону антенны. Подробно расчёт описан на странице «Покрытие».
Местоположение. Заполните поля «Широта» и «Долгота» и нажмите «Перейти» либо включите кнопку маркера и щёлкните по карте. Кнопка с корзиной включает режим удаления: щелчок по маркеру убирает точку. После установки маркера поле под картой содержит GeoJSON вида {"type":"Point","coordinates":[<долгота>, <широта>]} — долгота идёт первой. Если покрытие шлюза уже построено, карта в карточке показывает его изображение поверх подложки (непрозрачность 0,7); кнопка «Обновить» на карте перезагружает изображение.
- «Широта», «Долгота» и «Перейти» — точка по координатам.
- Кнопка маркера — режим, в котором щелчок по карте ставит точку.
- Кнопка с корзиной — режим удаления: щелчок по маркеру убирает точку.
- «Обновить» — перезагружает изображение покрытия шлюза на карте.
- «Отключен», «Внутренний шлюз», «Только планирование» — флажки, см. таблицу ниже.
- «Изображения» — кнопка «Выберите изображение» добавляет фотографии шлюза: .jpg, .jpeg, .png.
- «Добавить» — сохраняет новый шлюз; у сохранённого шлюза вместо неё кнопки «Сохранить» и «Сохранить и продолжить редактирование».
Антенна. Шлюз без антенны в расчёт покрытия не попадает. Азимут и наклон антенны тоже идут в расчёт.
Высота. Значение по умолчанию на сервере — 20, но форма добавления подставляет 0. Если высоту не ввести, шлюз сохранится с высотой 0 и не попадёт в расчёт покрытия сети: шлюзы с высотой меньше 0,1 в него не входят.
| Флажок | Что меняет |
|---|---|
| «Отключен» | Шлюз не входит в расчёт покрытия сети и не пересчитывается при сохранении; собственное покрытие отключённого шлюза строится только действием «Обновить покрытие». Шлюз не показывается на карте «Покрытие» и не проверяется SNMP-мониторингом. В списке у него красный значок в колонке «Выкл/Вкл». Приём и передачу пакетов флажок не останавливает: сервер ищет шлюз только по EUI и признаку активности, поэтому через отключённый шлюз uplink и downlink идут как обычно, а «Последнее событие» обновляется |
| «Внутренний шлюз» | Шлюз не входит в расчёт покрытия сети. Расчёт по самому шлюзу пропускается со статусом «Покрытие готово» |
| «Только планирование» | Шлюз не исключается из расчёта покрытия за то, что давно не выходил на связь. Без флажка новый шлюз, который ещё ни разу не подключался, при сохранении расчёт покрытия не получает |
Каждое сохранение шлюза — создание, изменение, импорт, удаление — ставит в фон пересчёт его покрытия. Задача берёт шлюз, только если он активен, не отключён и выходил на связь за последние 24 часа или отмечен «Только планирование».
В расчёт покрытия сети не входят шлюзы удалённые, отключённые, внутренние, без местоположения, без антенны, с высотой меньше 0,1, а также шлюзы, которые не выходили на связь больше 24 часов и не отмечены «Только планирование». Расчёт по отдельному шлюзу пропускается со статусом «Покрытие готово», если шлюз внутренний, без антенны или без местоположения, — поэтому зелёный значок покрытия не гарантирует, что изображение покрытия построено.
Список шлюзов: колонки и отметки
- Поле поиска и кнопка «Найти» — поиск по одной или нескольким строкам.
- «Добавить шлюз» — форма «Добавить шлюз» на странице
/gateways/add. - «Действие» и «Выполнить» — массовое действие над отмеченными шлюзами: «Удалить», «Экспорт», «Обновить покрытие», «Права».
- «Импорт» — панель «Импорт шлюзов» для файла CSV или XLSX.
- «Название» — ссылка на карточку шлюза; значок глобуса рядом — статус расчёта покрытия: зелёный — «Покрытие готово», красный — «Покрытие не сгенерировано», жёлтый с вращающимся индикатором — «Покрытие генерируется».
- «Выкл/Вкл» — красный кружок с крестиком: у шлюза стоит флажок «Отключен».
- «Последнее событие» — бледно-жёлтая ячейка: keepalive не было 1 час и больше, бледно-красная — 3 часа и больше.
- «Ip / Порт» — IP-адрес последнего keepalive; в выпадающем меню — пункт «SSH подключения».
| Колонка | Что показывает |
|---|---|
| Флажок | Отметка строки для массовых действий |
| «Название» | Название шлюза; ссылка на карточку. Рядом может стоять значок глобуса — статус расчёта покрытия шлюза |
| «Сеть покрытия» | Сеть покрытия шлюза. Рядом может стоять значок глобуса — статус расчёта покрытия сети |
| «Описание» | Описание шлюза |
| «EUI» | EUI шлюза |
| «RTT» | Сглаженное время ответа шлюза на downlink, в миллисекундах; единицы в колонке не подписаны |
| «Количество данных в час» | Сколько записей журнала данных привязано к шлюзу за последний час, без downlink |
| «Выкл/Вкл» | Зелёный кружок с галочкой — флажок «Отключен» снят; красный кружок с крестиком — флажок стоит |
| «Последнее событие» | Когда шлюз последний раз прислал keepalive (PULL_DATA), в формате yyyy-MM-dd HH:mm:ss |
| «Ip / Порт» | IP-адрес, с которого пришёл последний keepalive. Порт после keepalive не виден: сервер записывает его как 0 |
Если для шлюзов заданы дополнительные поля с показом в таблице, у каждого такого поля в списке своя колонка.
«Последнее событие», IP и RTT сервер обновляет только при PULL_DATA — keepalive шлюза. Uplink (PUSH_DATA) эти поля не обновляет. Начальные значения IP, порта и «Последнего события» может задать импорт из файла. Сервер обновляет активный шлюз с EUI из пакета и записывает время в UTC. Ячейка «Последнее событие» подсвечивается:
| Цвет | Когда |
|---|---|
| Бледно-жёлтый | С последнего события прошёл 1 час или больше |
| Бледно-красный | С последнего события прошло 3 часа или больше |
RTT — время в миллисекундах от отправки кадра downlink на шлюз до его подтверждения TX_ACK. Значение сглаженное: первое измерение берётся как есть, каждое следующее входит в значение с весом 0,3 (EWMA). Сглаженное значение хранится в памяти процесса ONS и попадает в базу при очередном PULL_DATA. Пока через шлюз не прошёл ни один downlink с подтверждением TX_ACK, в базу записывается пустое значение, и колонка RTT пуста. Значение в памяти теряется после перезапуска ONS и после того, как шлюз больше 5 минут не присылал пакетов (сервер забывает его данные в памяти); тогда RTT снова пуст до следующего downlink с TX_ACK.
RTT сервер учитывает при ответе устройству: после uplink он ждёт 0,6 секунды минус половину RTT шлюза и только потом готовит downlink. Вычет не больше 0,3 секунды — он достигает предела при RTT от 600 мс.
«Количество данных в час» считает записи журнала данных за последний час, привязанные к этому шлюзу, кроме downlink. Uplink привязывается к шлюзу, который принял его лучше всех; остальные принявшие шлюзы попадают только в список gateway_available записи, см. get_data_req. Поэтому шлюз, который слышит устройства, но за последний час ни разу не был лучшим, показывает 0.
Значок глобуса показывает статус расчёта покрытия; статус словами виден в подсказке при наведении.
| Код | Значок | Статус |
|---|---|---|
| 0 | Жёлтый, с вращающимся индикатором | «Покрытие генерируется» |
| 1 | Красный | «Покрытие не сгенерировано» |
| 2 | Зелёный | «Покрытие готово» |
«Ip / Порт». Порт шлюза серверу известен, но при каждом keepalive он записывает в базу 0. Поэтому в колонке виден только IP (порт выводится, только если он не 0 — например, у импортированного шлюза до первого keepalive), а поле «Порт» в карточке после первого keepalive показывает 0.
У адреса в этой колонке есть выпадающий пункт «SSH подключения»: окно спрашивает имя пользователя и пароль и открывает веб-терминал в новом окне. Пункт работает, только если на установке развёрнут отдельный SSH-сервис.
Поиск, сортировка и настройки таблицы
Поле поиска многострочное, поиск запускает кнопка «Найти»:
- Одна строка. Слова разделяют пробелом. Шлюз найдётся, если все слова встречаются — как часть значения, без учёта регистра — в названии, описании или EUI (каждое — в любом из них) либо все слова — в одном дополнительном поле, показанном в таблице.
- Несколько строк. Шлюз найдётся, если любая строка точно совпадает с его названием, описанием, EUI или значением дополнительного поля, показанного в таблице. Так можно вставить, например, столбец EUI из электронной таблицы.
Пока поиск задан, под полем видно «Найдено: N (Всего: M)»; щелчок по «Всего» сбрасывает поиск.
Щелчок по заголовку колонки «Название», «Сеть покрытия», «Описание», «EUI», «Выкл/Вкл» или «Последнее событие» сортирует список: первый щелчок — по возрастанию, второй — по убыванию, третий снимает сортировку. При сортировке по убыванию пустые значения идут в конце.
На странице по умолчанию 25 строк; другое число вводят в поле внизу таблицы и нажимают кнопку «Размер таблицы». Меню-шестерёнка «Настройки таблицы» содержит флажок «Сокращать текст», по умолчанию он включён. Номер страницы, поиск, сортировку, размер страницы и флажок «Сокращать текст» браузер запоминает в localStorage под ключом gateway_list.
Массовые действия: удаление, экспорт, покрытие, права
Отметьте шлюзы, выберите действие в меню «Действие» и нажмите «Выполнить». Кому доступно каждое действие, сказано в первом разделе.
Шлюзы отмечают флажком в строке или флажком в заголовке таблицы — все строки страницы. Если отмечена вся страница, а найдено больше шлюзов, чем на ней, появляется ссылка «Выбрать все (N)».
«Выбрать все» распространяется на все найденные шлюзы, только если задан поиск. При пустом поиске действие затронет лишь строки текущей страницы.
| Действие | Что делает |
|---|---|
| «Удалить» | Удаляет выбранные шлюзы |
| «Экспорт» | Скачивает CSV-файл с выбранными шлюзами |
| «Обновить покрытие» | Ставит в фон пересчёт покрытия выбранных шлюзов и их сетей |
| «Права» | Выдаёт или отзывает права пользователя на выбранные шлюзы |
Создание, изменение, удаление, экспорт, выдача прав и обновление покрытия записываются в журнал действий, см. «Журналы».
Удаление
Интерфейс спрашивает: «Вы действительно хотите удалить шлюзы?». Удаление мягкое: шлюз остаётся в базе неактивным, с датой деактивации, а объектные права на него снимаются. EUI должен быть уникален только среди активных шлюзов, поэтому EUI удалённого шлюза можно завести заново.
Если среди выбранных есть шлюзы, на удаление которых у пользователя нет права, разрешённые всё равно удаляются, но сервер отвечает ошибкой, и интерфейс показывает «Что-то пошло не так».
Экспорт
Браузер скачает файл exported_gateways_YYYY-MM-DD-HH-mm.csv (в имени — дата и время выгрузки). Разделитель — запятая, все значения в кавычках.
| Колонка | Что содержит |
|---|---|
| Название | Название шлюза |
| EUI | EUI шлюза |
| Описание | Описание |
| Ip | IP-адрес последнего keepalive |
| Порт | После первого keepalive — 0 |
| Последнее событие | Время последнего keepalive |
| Местоположение | Точка в формате WKT, например POINT(<долгота> <широта>) |
| Высота | Высота шлюза |
Заголовки колонок сервер пишет по-русски или по-английски — по языку запроса; если язык другой, по-английски.
Обновить покрытие
После подтверждения «Обновить покрытие?» сервер ставит в фон пересчёт покрытия выбранных шлюзов и их сетей, а интерфейс сообщает «Покрытие генерируется». В отличие от пересчёта при сохранении шлюза, здесь не проверяется, отключён ли шлюз и когда он выходил на связь. Условия самого расчёта при этом действуют — см. «Покрытие».
Права
Действие открывает окно «Назначение прав». В поле «Пользователь» выберите профиль из списка, затем право:
| Право | Что делает |
|---|---|
| «Просмотр» | Выдаёт право view_gateway и снимает change_gateway |
| «Изменение» | Выдаёт view_gateway и change_gateway |
| «Отозвать» | Снимает оба права |
Пользователь, кроме суперпользователя, может выдавать права только своим дочерним профилям и только на свои шлюзы. На чужие шлюзы сервер ответит Permission denied.
Импорт шлюзов из CSV и XLSX
- Нажмите «Импорт» — откроется панель «Импорт шлюзов». Кнопку видят только пользователи с признаком
staff. - Выберите файл
.xlsxили.csv. Образец — файлtemplate_gateways.xlsx. - Перетащите столбцы файла на поля базы данных. Обязательны «Название» и «EUI»; кроме них есть «Описание», «Ip», «Порт», «Последнее событие», «Местоположение» и «Высота».
- Выберите сеть покрытия в поле «Выберите покрытие». Пока сеть не выбрана, кнопка загрузки неактивна.
- Нажмите «Загрузить данные».
Правила импорта:
- Сервер проверяет право на выбранную сеть покрытия: импортировать может её владелец, пользователь с правом
change_coveragenetworkили суперпользователь. - Строка с EUI, который уже занят, получит ошибку
Gateway <EUI> already exists.; остальные строки сохраняются. - Значения столбцов «Ip», «Порт» и «Последнее событие» из файла сохраняются в записи шлюза и держатся до первого keepalive шлюза: он перезапишет IP и время, а порт заменит на 0.
Карточка шлюза
Вверху карточки сохранённого шлюза — кнопка со стрелкой (подсказка «Назад к шлюзам»), заголовок с EUI и строка «название, описание». Ниже, над формой, — блоки «Состояние сети» и «Текущие данные».
Пока карточка открыта, в боковом меню под пунктом «Шлюзы» есть подпункт с EUI шлюза и переходами к блокам «Состояние сети» и «Данные». При добавлении нового шлюза подпункта нет.
- Кнопка со стрелкой — подсказка «Назад к шлюзам», возврат к списку.
- Заголовок — EUI шлюза и строка «название, описание».
- Подпункт меню с EUI шлюза — переходы к блокам «Состояние сети» и «Данные».
- Период блока «Состояние сети» — по умолчанию 7 дней, время в UTC; кнопка рядом перезагружает графики.
- «Емкость шлюза» — эфирное время за час: столбцы — частоты, сегменты — типы сообщений.
- Сводка — «Общий airtime», «Пиковый час», «Join overhead», «Доля downlink».
- Кольцевые диаграммы — «Распределение SF», «Свой / Чужой трафик», «Трафик по операторам (NwkID)».
Состояние сети
По умолчанию взят период 7 дней. После выбора начала периода конец можно выбрать не дальше 30 дней от него. Время указывается в UTC.
Графики блока: «Емкость шлюза», «Индикатор уровня сигнала (RSSI)», «Отношение сигнал - шум» (LSNR), совместный пузырьковый график RSSI и LSNR, пузырьковые графики RSSI, LSNR и SF («Фактор распространения»), «Частоты приема», «Качество сети», «Количество уникальных узлов», «История трафика».
Емкость шлюза
График «Емкость шлюза» показывает эфирное время (airtime) шлюза по часам выбранного периода: столбцы разбиты по частотам, сегменты — по типам сообщений: JR (Join Request), JA (Join Accept), UDU (Unconfirmed Data Up), UDD (Unconfirmed Data Down) и другие. Под графиком — сводка.
| Карточка | Что показывает |
|---|---|
| «Общий airtime» | Суммарное эфирное время шлюза за период, мс |
| «Пиковый час» | Час с наибольшим эфирным временем и его airtime, мс |
| «Join overhead» | Доля эфира, занятая Join Request и Join Accept. Выше 20 % — красная |
| «Доля downlink» | Доля эфира, занятая downlink. Выше 30 % — красная |
Под карточками — кольцевые диаграммы «Распределение SF», «Свой / Чужой трафик» и «Трафик по операторам (NwkID)».
- «Свой» трафик — downlink этого ONS и uplink-кадры данных, DevAddr которых принадлежит устройству этого ONS. Остальное считается «Чужим», в том числе Join Request: у него нет DevAddr. Подробнее о делении трафика — на странице «Панель мониторинга».
- Если доля эфира confirmed uplink — Confirmed Data Up от суммы Confirmed и Unconfirmed Data Up — больше 10 %, выводится «Предупреждение о confirmed uplink: N% uplink трафика — confirmed, возможна перегрузка сети».
Текущие данные
Блок «Текущие данные» содержит таблицу «Данные» — записи журнала, привязанные к этому шлюзу: uplink, для которых он лучший, и downlink, отправленные через него. Если период не выбран, показывается последний месяц.
- Фильтры: «Все типы сообщений», «Все направления», «Показать за период». Время указывается в UTC.
- Кнопка «Обновлять через» с полем секунд (по умолчанию 10) включает и выключает автообновление таблицы.
Что важно знать
- Флажок «Отключен» не останавливает приём и передачу пакетов через шлюз — он влияет только на расчёт покрытия, карту «Покрытие» и SNMP-мониторинг.
- Из пакетов шлюза «Последнее событие», IP и RTT обновляет только keepalive (PULL_DATA), а не uplink.
- RTT пуст, пока через шлюз не прошёл downlink с подтверждением TX_ACK, и снова пуст после перезапуска ONS или после того, как шлюз больше 5 минут не присылал пакетов (сервер забывает его данные в памяти).
- После первого keepalive порт шлюза равен 0 — в списке, в карточке и в экспорте: сервер записывает его как 0.
- «Количество данных в час» учитывает только uplink, для которых шлюз был лучшим.
- Форма добавления подставляет высоту 0; шлюз с высотой меньше 0,1 не входит в расчёт покрытия сети.
- Зелёный значок «Покрытие готово» ставится и тогда, когда расчёт по шлюзу пропущен.
- «Выбрать все» при пустом поиске затрагивает только строки текущей страницы.
- Удалённый шлюз остаётся в базе неактивным; его EUI можно завести заново.
- «SSH подключения» работает, только если на установке развёрнут отдельный SSH-сервис.
Если шлюз не выходит на связь
| Что видно | Причина | Что сделать |
|---|---|---|
| «Последнее событие» и IP пустые | Keepalive шлюза не доходит до сервера: в packet forwarder не тот адрес сервера или порт, либо UDP-пакеты на порт 1700 сервера не проходят | Проверьте адрес сервера ONS и порт 1700 в настройках packet forwarder. Сервер слушает один порт, 1700/udp, для всех пакетов шлюза. Проверьте, что шлюз может отправлять UDP на этот порт |
| «Последнее событие» пустое, хотя адрес и порт верны | EUI шлюза в ONS не совпадает с Gateway ID в packet forwarder | Сравните EUI в карточке с Gateway ID: 16 шестнадцатеричных символов, в ONS — в верхнем регистре |
| Ячейка «Последнее событие» жёлтая или красная | Сервер не получает keepalive шлюза 1 час или 3 часа и больше | Проверьте питание и сетевое подключение шлюза и работу packet forwarder, затем адрес и порт сервера |
| Через шлюз идут uplink, а «Последнее событие» не обновляется | Это поле обновляет только keepalive (PULL_DATA), uplink его не меняет | Проверьте, что PULL_DATA уходят на порт 1700 сервера |
| Устройства на связи, а «Количество данных в час» — 0 | За последний час шлюз ни разу не был лучшим | Ничего: это не неисправность |
| Колонка RTT пустая | Через шлюз ещё не прошёл downlink с TX_ACK, ONS перезапускался или шлюз больше 5 минут не присылал пакетов (сервер забывает его данные в памяти) | Ничего: значение появится после первого downlink |
См. также
- Покрытие — как рассчитывается покрытие, какие шлюзы в него попадают и что значат статусы расчёта.
- Панель мониторинга — проблемные шлюзы, свой и чужой трафик, трафик по операторам.
- Профили — типы профилей, их группы и доступ к шлюзам.
- Журналы — журнал действий со шлюзами.
- Отправка данных на устройство — подтверждение TX_ACK и статусы кадра downlink.