这与我之前的帖子有关: Wireless.h 如何打印信号电平?
在弄清楚如何以“dBm”形式打印之后,我意识到它与安装在 OpenWrt 上的“iw”工具相比实际上存在一些差异。
我使用来自 OpenWrt 终端的“iw wlan0 scan”命令在接入点的近距离使用无线路由器,并且我还运行了我的程序。
“iw”方法返回了大约 -14dBm 的正确值,但程序只显示到大约 -50dBm ......这根本不准确。
有什么想法可能导致这种情况吗?是我用来打印信号电平的转换吗?如上面提到的线程所示?还是我没有想到的其他原因?
printf("Transmit power: %d ", (int8_t) result->stats.qual.level);
这就是我在我的程序中打印出我从无线工具的wireless.h部分看到的信号强度的方式:
struct iw_quality
{
__u8 qual; /* link quality (%retries, SNR,
%missed beacons or better...) */
__u8 level; /* signal level (dBm) */
__u8 noise; /* noise level (dBm) */
__u8 updated; /* Flags to know if updated */
};
谢谢。