Как узнать уровень WIFI из программы на С++
-
- Сообщения: 2
- Зарегистрирован: 02 ноя 2017, 17:17
Как узнать уровень WIFI из программы на С++
Здравствуйте! Есть Микротик подключенный к Убунте проводом и есть WIFI соединение между Микротиком и другим устройством. Все работает хорошо, только появилась необходимость на Убунте из программы (QT C++) узнать уровень сигнала WIFI. Подскажите как это реализовать?
-
- Сообщения: 4095
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
-
- Сообщения: 2
- Зарегистрирован: 02 ноя 2017, 17:17
Re: Как узнать уровень WIFI из программы на С++
Спасибо! А как то попроще нельзя? чтобы не разбираться в куче доков а одной консольной командой узнать уровень и все?
Например уровень обычного 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;
Например уровень обычного 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;
-
- Сообщения: 4095
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Как узнать уровень WIFI из программы на С++
Так это уровень на локальной машине
Можно добавить ssh-ключ на роутер - тогда можно будет делать что-то вроде uname = popen("ssh router.lan \"/interface wireless bla-bla-bla\" | grep bla-bla", "r");
Следующим шагом неплохо бы узнать, какое именно значение вы хотите узнать. Если роутер - не клиент wi-fi, а точка доступа, например.
Можно добавить ssh-ключ на роутер - тогда можно будет делать что-то вроде uname = popen("ssh router.lan \"/interface wireless bla-bla-bla\" | grep bla-bla", "r");
Следующим шагом неплохо бы узнать, какое именно значение вы хотите узнать. Если роутер - не клиент wi-fi, а точка доступа, например.