是否有API,shell命令或AppleScript可以准确读取Mac OSX中当前的WiFi强度?
仅供参考我还可以打开浏览器并使用JavaScript(如果有值)。
我要做的是检查厨房或客厅中不同位置的WiFi强度。我需要检查每个点的WiFi强度。如果它很低我会移动到一个新的位置。 OSX显示的WiFi栏对我来说数据不足。
答案 0 :(得分:4)
这是一个使用CoreWLAN
框架的简单Python脚本:
#!/usr/bin/python
from AppKit import CWInterface
IFACE = 'en0'
NAME = 'MyWifiNetwork'
interface = CWInterface.interfaceWithName_(IFACE)
results, error = interface.scanForNetworksWithName_error_(NAME, None)
for result in results:
print 'SSID:', result.ssid()
print 'RSSI:', result.rssiValue()
答案 1 :(得分:3)
有一个内置的机场指挥部就可以完成。它的位置是:
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport
为方便起见,您可以创建一个链接,让您可以从任何地方运行命令。
airport -I
获取有关当前无线网络的信息
set wirelessRSSI to do shell script "airport -I | grep CtlRSSI | sed -e 's/^.*: //g'"
set wirelessStrength to (wirelessRSSI + 100) * 2
display notification "Wireless sigal quality: " & wirelessStrength & "%"
http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/
假设您已创建链接,AppleScript会将值转换为百分比并显示通知:
<ComponentGroup Id="BinComponents" Directory="BIN">
<Component Id="BinComponent" Guid="23D229D0-06EE-49f4-80B4-6D7136500721">
<File Id="MyProjectOutput" Name="MyProject.exe" Source="MyProject\bin\MyProject.exe"/>
<ServiceControl Id="RemoveService"
Stop="both"
Remove="both"
Name="MyProject.exe"
Wait="yes" /> <!-- Stop running MyProject instances -->
</Component>
</ComponentGroup>
答案 2 :(得分:1)
我必须承认,我不知道OS X是否具有易于访问的接收强度指标等信息。
从RF通信工程师的角度来看,我可以告诉你的是,所显示的信号强度绝对准确,而且实际上预测通信的工作效果甚至更低。
正如你所说,条形图对任何人来说都不够信息 - 事实上,你可以拥有五种不同数量的条形通常会大大夸大这些操作系统可用的准确性。 WiFi质量远远超过接收信号强度,因此无法直接将条形图映射到质量。我真的不知道为什么GUI继续包括那个措施而不是例如衡量一路上丢失了多少数据包(这实际上是操作系统可以观察到的)。
我假设你想做一些像“如果WiFi A很弱,切换到WiFi B”或类似的东西。我认为正确的方法实际上是OSI层模型的两个步骤,至少。我个人只是在互联网上的某个地方设置了一个回复UDP数据包并且可以ping通的服务器。然后,您只需使用标准ping来确定延迟是否仍然可以接受,并使用短UDP来查找服务器数据包以确定您看到的丢包量(您可以通过ping
和ICMP执行此操作,但这通常不会让你每秒发送几百个数据包 - 这就是我定期做的事情。
答案 3 :(得分:0)
这是一个隐藏得很好的宝石。只需在Finder中导航到文件夹
即可/System/Library/CoreServices/Applications
并运行
Wireless Diagnostics.app
它有许多内置工具。
在 之前点击“继续”(在第一个窗口中),您应该在“窗口”菜单中查看可用工具:
关于上述工具:
关于报告发送:
date_string.wdmon
的文件)要点:
Window menu
中提供了这些工具,正如我在答案中已经说过的那样。警告用户有关数据收集是一件好事。感谢您的明确警告。