Как узнать уровень WIFI из программы на С++

Автоматизация при помощи встроенного скриптового языка и RouterOS API
Ответить
Magvays
Сообщения: 2
Зарегистрирован: 02 ноя 2017, 17:17

Как узнать уровень WIFI из программы на С++

Сообщение Magvays » 02 ноя 2017, 17:26

Здравствуйте! Есть Микротик подключенный к Убунте проводом и есть WIFI соединение между Микротиком и другим устройством. Все работает хорошо, только появилась необходимость на Убунте из программы (QT C++) узнать уровень сигнала WIFI. Подскажите как это реализовать?


Magvays
Сообщения: 2
Зарегистрирован: 02 ноя 2017, 17:17

Re: Как узнать уровень WIFI из программы на С++

Сообщение Magvays » 03 ноя 2017, 13:34

Спасибо! А как то попроще нельзя? чтобы не разбираться в куче доков а одной консольной командой узнать уровень и все?
Например уровень обычного WIFI я узнавал так :
FILE * uname;
char wf[80];
int lastchar;
uname = popen("iwconfig wlp4s0 | grep level", "r");
lastchar = fread(wf, 1, 80, uname);
wf[lastchar] = '\0';
std::cout <<"WI-Fi Lavel is " << wf << std::endl;

Аватара пользователя
Chupaka
Сообщения: 832
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Как узнать уровень WIFI из программы на С++

Сообщение Chupaka » 08 ноя 2017, 09:02

Так это уровень на локальной машине :)

Можно добавить ssh-ключ на роутер - тогда можно будет делать что-то вроде uname = popen("ssh router.lan \"/interface wireless bla-bla-bla\" | grep bla-bla", "r");

Следующим шагом неплохо бы узнать, какое именно значение вы хотите узнать. Если роутер - не клиент wi-fi, а точка доступа, например.

Ответить