
Всем привет, я ведущий разработчик в ИТ-команде «Северстали» Сидоров Артём. Сегодня я хочу рассказать, как мы с командой реализовали систему контроля качества нашей частной сети LTE.
Для чего мы используем LTE?
Для непрерывной работы оборудования и сбора телеметрии в реальном времени нам нужен надёжный сетевой канал с достаточно хорошей пропускной способностью.
Для чего нужен сбор телеметрии с модемов?
Сбор телеметрии нужен для отслеживания состояния сети, если качество сети проседает в какой-то области, то нужно провести работы по восстановлению работоспособности LTE. Также это понимание, какой версии прошивка, какая сим-карта стоит в модеме на текущий момент.
Описание проекта
Для работы проекта командой изначально была разработана информационная система (ИС) для учёта LTE-оборудования и сим-карт. Для базы данных (БД) используется MS SQL Server. В данной ИС хранится вся информация по сим-карте и оборудовании LTE (время эксплуатации, когда попало в эксплуатацию, какой уровень сигнала).
Для получения данных используется модем IRZ RL22w. Этот модем работает на операционной системе OpenWrt.

Модем умеет работать в сети 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
}
]
}
После сбора телеметрии можно провести анализ работы сети или построить тепловую карту качества связи. Также можно обучить нейронную сеть, которая будет проводить различные настройки по улучшению работы сети.

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