Is it possible to obtain WiFi mobile phone's signal strength on router side via .NET?
让我们假设这样的网络布局:1 台路由器、1 台笔记本电脑(作为服务器)、1 部手机。
笔记本电脑和手机通过WiFi连接到路由器。
问题 1:是否有可能(使用 .NET 或 Java)从笔记本电脑端获取此手机的 dB 或 dBm(信号强度)值,而无需在手机端进行任何操作(除了连接到 wifi)?还是只有路由器厂商提供SDK才有可能?
问题2:路由器是否测量手机信号强度?
简短的回答是否定的,如果没有任何信息,我们就无法获得设备上的信号电平。限制我们的不是软件,而是物理。
较长的是:
信号电平是路由器发射功率、天线调整、设备位置(在路由器坐标系中)和环境条件(例如下雨或其他网络的干扰)的函数。
虽然您可能会从路由器 SW 获得路由器的发射功率,但不太可能获得天线(天线?)调整,几乎不可能获得设备位置(您需要某种类似 GPS 的接口,我相信,这非常特别)并且完全不可能获得天气条件。
好消息是该设备无论如何都会测量信号电平,因此如果您在其上安装了任何东西,则可以毫无问题地访问它。例如,这里有一些 Android 参考:
http://androidxref.com/4.2_r1/xref/frameworks/base/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java#103