質問

理想的には、ワイヤレスネットワークの信号強度をほぼリアルタイムで監視したいと思います。

私は使用しています 管理されたwifi RSSIを投票するライブラリ。私はインスタンス化します WlanClient client = new WlanClient(); 一度再利用してください client 毎秒程度の信号強度を測定するには(しかし、もっと頻繁にやりたいです):

foreach (WlanClient.WlanInterface wlanInterface in _client.Interfaces)
{
    Wlan.WlanBssEntry[] wlanBssEntries = wlanInterface.GetNetworkBssList();
    foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries)
    {
        int sigStr = wlanBssEntry.rssi; // signal strength in dBm
        // ...
    }
}

最速の実用的なポーリング遅延は何ですか、これが信号強度を測定する最良の方法ですか?

役に立ちましたか?

解決

ドライバーのスタックでは、最小のポーリング遅延が異なると思いますが、周囲のアクセスポイントの数も疑われています。 WiFiは、タイムスロットに基づくプロトコルです。

私の(限られた)エクスペリエンスから、1秒の間隔がほぼ正しいので、ステーションのリストが常に完了しているとは限らないことがわかります(つまり、1つのスキャンでは、次のスキャンではステーションがありません)。

これは信号強度を測定する最良の方法ですか?

依存しますが、どれくらい速く変わると思いますか?歩き回るとき、信号は1秒以上変化しません。

他のヒント

ほとんどの場合、監視したい場合 なんでも 合理的なガイドラインは、あなたの目的を果たすためにできる限りめったにないことを解決し、それ以上の頻度を増やして、遅延と予期しないスパイクをキャッチすることです。

たとえば、これをユーザーに表示しようとしていた場合、半秒に1回以上、ユーザーが意味に理解するには速すぎる変更を意味するので、約4分の1秒で十分になります必要なものをすべてキャッチしていることを確認してください。

ロギングしている場合、ログの期間がどのくらいの期間になるかに依存します。数分ごとに深刻な問題が発生する可能性が高いため、1分に1回は問題なく行われるはずです。

全体として、多くの場合、実用的な最大周波数がありますが、最大の有用な周波数が高く、目的に依存しない限り、考慮する価値はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top