0

这与我之前的帖子有关: 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 */
};

谢谢。

4

0 回答 0