Страница 1 из 1

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

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

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

Добавлено: 03 ноя 2017, 08:31
Chupaka

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

Добавлено: 03 ноя 2017, 13:34
Magvays
Спасибо! А как то попроще нельзя? чтобы не разбираться в куче доков а одной консольной командой узнать уровень и все?
Например уровень обычного 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;

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

Добавлено: 08 ноя 2017, 09:02
Chupaka
Так это уровень на локальной машине :)

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

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