[ad_1]
最近、Windows で Native WiFi API を使用して RSSI を取得できるのですが、RSSI データの変動が大きく、コンピューターを移動してもほとんど変化しないという問題がありました。 ネイティブ WiFi API が RSSI データを返してくるときにそのデータを平均化していると誰かが言っているので、NIC カードから直接 RSSI を取得したいと考えています。インターネットでたくさん検索しましたが、役に立つものは何もありませんでした。使い方がわかりません。これを実現するにはどの関数を使用すればよいですか、助けてください!ありがとう~
私が試したこと:
インターネットでたくさん検索しましたが、役立つものは何もありませんでした。
DeviceIoControl 関数を使用しましたが、常に false が返されます。
解決策 1
これは、カードごとに異なる方法でクエリされる種類の情報に非常に似ているようです。つまり、ハードウェアに依存すると予想されます。 この場合、デバイス ドライバーの内部で魔法が起こっていることになります。
あなたは、単一デバイスのリバース エンジニアリングにおいてどれくらい忍耐強く、上手ですか?
ハードディスクにはドライバーが必要ないため、DeviceIoControl を使用してアクセスする、合意されたインターフェイスを使用できます。 これが苦痛で退屈なプロセス以外の何ものでもないことが判明することを、私はほとんど期待していません (基本的にはゼロですが、それ以上の知識もありません!)。成果を上げる見込みはまだほとんどないかもしれません。
演習として、NRF24L01 および a7105 2.4GHz チップセットのそれぞれのデータシートをダウンロードしてみてください。 私は数年前に彼らと一緒に仕事をしましたが、記憶によれば、彼らは RSSI 値を取得するための類似した、しかしまったく異なる方法を持っていました。 NIC についても同じ状況を観察することになりますが、必要に応じて正しいラインを High/Lo に駆動し、応答をリッスンする方法について (もしあったとしても) ほとんどわかりません。 2.4 GHz チップセットに直接接続するため、代わりにボード上の MCU を経由する必要があります。 (したがって、リバースエンジニアリングの提案です)
a7105: [^]
NRF24L01: [^]
解決策 2
Windows 10 デバイスの場合: WiFiAvailableNetwork.NetworkRssiInデシベルミリワット | networkRssiInDecibelMilliwatts プロパティ – Windows アプリ開発[^]
で:
WiFiAvailableNetwork クラス – Windows アプリ開発[^]
ここに Win10 SDK サンプルの例があります。 マスターの Windows-universal-samples/Samples/WiFiScan · Microsoft/Windows-universal-samples · GitHub[^]
完全なスイートをここからダウンロードしてください:
GitHub – Microsoft/Windows-universal-samples: ユニバーサル Windows プラットフォームの API サンプル。[^]
Wi-Fi スキャナーの構築方法を示した最近の記事: 最新のアプリ – UWP で Wi-Fi スキャナーを構築する[^]
[ad_2]
コメント