0

これは私の以前の投稿に関連しています: Wireless.h 信号レベルを出力するにはどうすればよいですか?

それを「dBm」形式で出力する方法を見つけた後、OpenWrt にインストールされている「iw」ツールと比較して、実際にはいくつかの違いがあることに気付きました。

OpenWrt端末から「iw wlan0 scan」コマンドを使用して、アクセスポイントから近距離でワイヤレスルーターを使用し、プログラムも実行しました。

「iw」メソッドは約-14dBmの正しい値を返しましたが、プログラムは約-50dBmまでしか表示しません...これはまったく正確ではありません.

これを引き起こす可能性のあるアイデアはありますか?信号レベルを出力するために使用した変換ですか? 上記のスレッドに見られるように?それとも思いもよらなかった別の理由?

printf("Transmit power: %d ", (int8_t) result->stats.qual.level);

これは、Wireless Toolsの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