Довелось мне бороться с антенной для интернета через сотовую связь.
Написал сценарий на python, который непрерывно обновляет и считывает данные со страницы Информация об устройстве.
Строятся графики уровней RSRP, RSRQ, SINR и RSSI с указанием номера базовой станции.
GitHub
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
Автор темы - Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
Автор темы - Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Благодаря видео Python парсинг динамических страниц сайтов с JavaScript Ajax обнаружил API для сбора данных с модема по ссылке
Дописал сценарии сбора данных через API.
GitHub
http://192.168.9.1/api/device/signal
Дописал сценарии сбора данных через API.
GitHub
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
- Сообщения: 352
- Зарегистрирован: 22 июн 2019, 22:40
- Решено: 1
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Не по теме
demonlibra, случайно не знаешь есть для usb-модемов какая-нибудь программа которая отображает техническую информацию,modem manager gui как-то бедноват чего нибудь такого оригинального нет чтоб там графики,вышки интересное в общем было,пардон если не в тему

-
Автор темы - Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Я не искал.
Мне было интересно с Python`ом повозиться после прочтения книги Простой Python Bill Lubanovic
Мне было интересно с Python`ом повозиться после прочтения книги Простой Python Bill Lubanovic
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
Автор темы - Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Используя API можно получать данные через bash.
Эти команды можно использовать для вывода данных через апплет Датчики Bash (bash-sensors@pkkk)
Код: Выделить всё
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"
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
Автор темы - Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Тогда вдогонку,
Начинаем программировать на Python (5-е изд) 2022 Tony Gaddis
книги друг друга хорошо дополняют
Начинаем программировать на Python (5-е изд) 2022 Tony Gaddis
книги друг друга хорошо дополняют
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
- Сообщения: 10438
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 135
- Откуда: Нижний Тагил
- Благодарил (а): 792 раза
- Поблагодарили: 2051 раз
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
-
Автор темы - Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
После прочтения книжек стало чуть проще ))
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
-
- Сообщения: 4859
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 111
- Благодарил (а): 53 раза
- Поблагодарили: 2177 раз
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Ну, если специально не лезть в логические извращения и библиотеки глубоко - то весьма прост. Во всяком случае - всяких подводных камней и скрытых нюансов поменьше чем если сложный скрипт на BASH писать.


По моему впечатлению - python сразу либо нравится своим синтаксисом, либо сразу становится ненавидимым - именно за него же.

Лично я оценил то, что скрипт на нем либо сразу написан читабельно, либо просто не будет работать. Как меня в свое время достало в проекте с другим языком: 4 человека в команде, у трех собственная привычка к форматированию кода, а четвертый считает что форматирование - пофиг и дело десятое. Лишь бы код работал. Справедливости ради - именно у него он всегда работал.

-
- Сообщения: 583
- Зарегистрирован: 08 дек 2018, 01:08
- Решено: 18
- Благодарил (а): 37 раз
- Поблагодарили: 141 раз
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
Да уж, синтаксис там своеобразен. В каком-нибудь VB/VBA или 1С привыкаешь к тому, что на каждый if должен приходиться end if, а на каждый for - своей next. Потом без закрывающих операторов чувствуешь себя как китаец на стеклянном полу - как будто какой-то опоры не хватет. Но привыкнуть можно, со временем начинаешь воспринимать синтаксис как должное.
https://www.youtube.com/watch?v=PPDDQ5l0JsU
https://www.youtube.com/watch?v=PPDDQ5l0JsU
-
Автор темы - Сообщения: 844
- Зарегистрирован: 12 авг 2017, 09:09
- Решено: 13
- Откуда: Ростов-на-Дону
- Благодарил (а): 29 раз
- Поблагодарили: 204 раза
- Контактная информация:
Парсер уровней сигнала для модема Huawei (Vodafone) k5161h
При выводе данных через bash-sensors необходимо позаботиться о том, чтобы запросы были ограничены по времени.
Вывод номера станции:
Вывод основных данных:
Вывод времени получения эха сервера:
Вывод номера станции:
Код: Выделить всё
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" }'
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость