Написал сценарий на python, который непрерывно обновляет и считывает данные со страницы Информация об устройстве.
Строятся графики уровней RSRP, RSRQ, SINR и RSSI с указанием номера базовой станции.
GitHub

inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
http://192.168.9.1/api/device/signal
Код: Выделить всё
curl -s 192.168.9.1/api/device/signal
while [ abc ]; do curl -s 192.168.9.1/api/device/signal | grep 'cell_id' | grep -o -G "[0-9]*"; sleep 5; done
while [ abc ]; do curl -s 192.168.9.1/api/device/signal | grep 'rsrp' | grep -o -P "(\-?)([0-9]*)dBm"; sleep 5; done
Код: Выделить всё
curl -s 192.168.9.1/api/device/signal | grep 'cell_id' | grep -o -G "[0-9]*"
curl -s 192.168.9.1/api/device/signal | grep 'rsrp' | grep -o -P "(\-?)([0-9]*)dBm"
Ну, если специально не лезть в логические извращения и библиотеки глубоко - то весьма прост. Во всяком случае - всяких подводных камней и скрытых нюансов поменьше чем если сложный скрипт на BASH писать.
Код: Выделить всё
cell=`curl -s --max-time 3 192.168.9.1/api/device/signal | grep 'cell_id' | grep -o -G "[0-9]*"`; if [ $cell ]; then echo $cell; else echo 'no signal'; fi
Код: Выделить всё
data=`curl -s --max-time 3 192.168.9.1/api/device/signal | grep 'rsrq\|rsrp\|rssi\|sinr' | grep -o -E "(\-?)[0-9]*(\.[0-9])?"`; array=($(echo $data | tr ' ' "\n")); echo "RSRQ = ${array[0]} dB | RSRP = ${array[1]} dBm | RSSI = ${array[2]} dBm | SINR = ${array[3]} dB"
Код: Выделить всё
ping -w 5 -qc1 google.com 2>&1 | awk -F/ '/^rtt/ { printf "%.0f мс", $5; ok = 1 } END { if (!ok) print "FAIL" }'
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей