4 votos

¿Puede AppleScript o cualquier otro script medir la potencia de la señal wifi de un Macbook?

En mi casa tengo a separar los dos routers, debido a la mala señales cuando se está en una ubicación en oposición a la otra.

Cuando trabajo en mi Macbook desde diferentes lugares en los que resulta molesto cuando tengo para cambiar entre los routers. El objetivo final es ejecutar un más compleja secuencia de comandos en launchd a identificar si una de las mejores redes está presente y automatizar el proceso de cambio.

He tratado de experimentar con networksetup -listnetworkserviceorder y networksetup -listallhardwareports pero no han tenido suerte.

En AppleScript o cualquier otro lenguaje de scripting una manera de medir dos router fuerza similar a lo que es visible en el menú de la barra de señal wifi?

4voto

Buscar웃 Puntos 23467

Si su principal prioridad es tener a tu Mac que cambie automáticamente a la siguiente más fuerte punto de acceso.....

Tu Mac puede hacer eso por usted.

Por supuesto, tienen que configurar ambos routers como Unirse Automáticamente a y en la parte superior de su lista.

A continuación, dígale a vagar y se conectará automáticamente a la siguiente señal más fuerte de la red.

Mejor aún es si el SSID y WPA son las mismas para ambos.

Para activar el roaming en caso de que se fuera a hacer esto en la Terminal:

sudo defaults write /Library/Preferences/com.apple.airport.opproam enabled -bool true

A continuación, configurarlo para que se conecte automáticamente a la próxima más fuerte punto de acceso

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport prefs joinMode=Strongest

Usted está hecho, ahora se puede mover alrededor y tu Mac se mantiene conectado a la señal más fuerte.

Más material de lectura aquí

Y Apple explica cómo funciona

Si usted todavía prefieren de secuencias de comandos de este proceso aquí está la lista de Aeropuerto de comandos /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport

3voto

qarma Puntos 71

Aquí hay un JavaScript para secuencia de comandos de automatización (JXA) que busque redes WiFi y recuperar la SSID y RSSI valores:

Presenta la salida de pares de clave y valor ordenados por intensidad de señal (RSSI) en orden, a partir de la señal más fuerte de la red de WiFi en primer lugar:

Aquí, los valores RSSI son números negativos, con un número más cercano a 0 indicativo (más positivo) de una fuerte señal de WiFi.

2voto

maP1E bluE Puntos 11

Sí, tanto en la red actual y potencial de las redes pueden ser secuencias de comandos de línea de comandos de unix / shell para que se extiende a la mayoría de los lenguajes de automatización - incluyendo AppleScript. Me gustaría hacer de su último programa en python o swift, pero aquí está cómo iniciar el proceso con la fuerza de la señal.

Obtención de la conexión actual de la red es fácil y rápido. Las entradas relevantes para la señal y el ruido son la cruda de radio de valores en el canal de negociado, pero sería mejor llave de la Velocidad de Transmisión ya que mientras más rápido que la X de la red, realmente no importa qué señal / ruido ya que la velocidad de transmisión se cae cuando la señal cae o el ruido aumenta.

system_profiler SPAirPortDataType:

       AC88U_5G:
          PHY Mode: 802.11ac
          BSSID: 54:36:9b:2d:78:e2
          Channel: 149
          Country Code: CN
          Network Type: Infrastructure
          Security: WPA2 Personal
          Signal / Noise: -26 dBm / -81 dBm
          Transmit Rate: 867
          MCS Index: 9
      Other Local Wi-Fi Networks:
        AC88U:
          PHY Mode: 802.11n
          BSSID: 54:36:9b:2d:78:e1
          Channel: 7
          Country Code: CN
          Network Type: Infrastructure
          Security: WPA2 Personal
          Signal / Noise: -18 dBm / 0 dBm

El escaneo de todos los posibles radios y canales es bastante más lento (de 5 a 10 segundos en lugar de una fracción de un segundo para correr) que la simple volcado de arriba, así que vas a necesitar un programa para manejar o una secuencia de comandos que es mucho más inteligente. Me gustaría empezar con airport --scan y el filtro de tu preferencia SSID o conocido dirección MAC en la base de las estaciones:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --scan

Una vez que hemos analizado, el system_profiler debe reportar los resultados como los resultados del análisis parecen ser localmente en caché durante un tiempo.

WiFi ingenieros de realizar esta optimización de todo el tiempo por el control de la MCS / velocidad de Transmisión. Simplemente elija todas las velocidades de transmisión que desea desalojar a todos los clientes para su principal radio y una vez que se pierde la conexión, en el preferido de alta velocidad, a todos OS va a caer y, a continuación, recoger la siguiente radio disponible. Mucho más fácil que el despliegue de secuencias de comandos personalizadas para todos los dispositivos que se conectan a los dos radios.

También, se va sin decir - si usted podría hacer las dos radios de difusión en el mismo SSID - a continuación, los productos de Apple simplemente vagan pero tal vez usted tiene una buena razón para no tener el mismo nombre de red y simplificar su trabajo.

Y para responder a @nohillside pregunta "¿cómo decidir que Wi-Fi es más fuerte" aquí hay algunas pautas.

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X