Всем привет, я ведущий разработчик в ИТ-команде «Северстали» Сидоров Артём. Сегодня я хочу рассказать, как мы с командой реализовали систему контроля качества нашей частной сети LTE.

Для чего мы используем LTE?

Для непрерывной работы оборудования и сбора телеметрии в реальном времени нам нужен надёжный сетевой канал с достаточно хорошей пропускной способностью.

Для чего нужен сбор телеметрии с модемов?

Сбор телеметрии нужен для отслеживания состояния сети, если качество сети проседает в какой-то области, то нужно провести работы по восстановлению работоспособности LTE. Также это понимание, какой версии прошивка, какая сим-карта стоит в модеме на текущий момент.

Описание проекта

Для работы проекта командой изначально была разработана информационная система (ИС) для учёта LTE-оборудования и сим-карт. Для базы данных (БД) используется MS SQL Server. В данной ИС хранится вся информация по сим-карте и оборудовании LTE (время эксплуатации, когда попало в эксплуатацию, какой уровень сигнала).

Для получения данных используется модем IRZ RL22w. Этот модем работает на операционной системе OpenWrt.

Модем модели IRZ RL22w
Модем модели IRZ RL22w

Модем умеет работать в сети LTE и WiFi, также имеет выход под GPS-антенну, что позволяет получать не только данные по качеству сигнала, но и знать в каком месте были сняты показания.

Для получения данных по состоянию сети LTE и сим-карте модема используется скрипт:

SignalQuality=$(echo $(echo $(talk -t /dev/ttyMODEM1_AUX -c '+qeng="servingcell"')|tr -d '\"')|tr -d '+QENG:')

PowerSignal=$(echo $(talk -t /dev/ttyMODEM1_AUX -c '+CSQ')|tr -d '+CSQ: ')

imsi=$(talk -t /dev/ttyMODEM1_AUX -c '+CIMI')

imei=$(talk -t /dev/ttyMODEM1_AUX -c '+GSN')

Для получения данных GPS можно использовать скрипт:

gga=$(echo $(gpspipe -r -n 10 | grep GGA)|tr -d '\n\r')

Чтобы получить точную картину, стоит сделат�� «демона», который будет с момента старта модема писать данные в файл. Так мы осуществим сбор данных как состояния «в сети», так и «не в сети» с данными местоположения. Очень удобно, что в модем можно вставить SD-карту.

Далее нужно создать файл формата CGI, положить его в папку по пути «www/api» и дать разрешение на выполнение. В файле реализовываем чтение сохранённых данных и переводим их в формат JSON или в любой другой формат, который вам удобен. Пример ссылки, которая должна получиться: «http://ip роутера/api/как назвали файл.cgi».

Пример результата:

{
  "lte_ip": "10.32.144.157",
  "dt": "24.07.2025 12:06:28",
  "gga": "$GNGGA,,,,,,0,00,99.99,,,,,,*56",
  "SignalQuality": "servingcell,OCO,LT,FDD,999,05,4478A18,427,400,1,3,3,2B2A,-94,-13,-82,13,29",
  "PowerSignal": "25,99",
  "imsi": "999050010050156",
  "imei": "863141051425625",
  "ver": "MAJOR=20;MINOR=7;MICRO=1;FIRMWARE=20.7.1;BUILD=200701;MODEL=mt02;DATE=2023-06-28;TIME=14:13:40",
  "system": ";config system; option ttylogin '0'; option log_size '64'; option urandom_seed '0'; option telnet_port '23'; option enable_telnet '0'; option timezone 'GMT-3'; option unitname 'T60'; option hostname 'T60';;config timeserver 'ntp'; option enabled '1'; option enable_server '1'; list server '10.32.14.5'; list server '10.32.14.165'",
  "ip_check": [
    {
      "ip": "192.168.1.111",
      "isEnabled": 1
    },
    {
      "ip": "192.168.1.80",
      "isEnabled": 1
    },
    {
      "ip": "192.168.1.90",
      "isEnabled": 1
    },
    {
      "ip": "192.168.1.65",
      "isEnabled": 1
    }
  ]
}

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

Пример карты тепловой связи
Пример карты тепловой связи

Что в результате

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

Комментарии (0)