4 votos

¿Hay alguna forma de cambiar automáticamente de red inalámbrica en función de la intensidad de la señal?

Tengo un router Linksys de doble banda. Cerca de la parte trasera de nuestra casa (que es donde se encuentran la mayoría de nuestros ordenadores) sólo llega la red G, así que cuando estoy trabajando en la parte delantera de nuestra casa, me gusta conectarme a la red N para obtener la velocidad extra. Por desgracia, no podemos trasladar nuestro router. Si es posible, me gustaría que mi Mac cambiara automáticamente de red en función de la intensidad de la señal. ¿Hay alguna forma de hacerlo? Nuestros Macs tienen la versión 10.8. Gracias

3voto

Malik hassan Puntos 16

No digo que esto sea ideal o que funcione bien. Pero sólo para darle una idea.

Puedes utilizar herramientas de línea de comandos para escribir un script que compruebe la fuerza. y luego cambia la red según sea necesario.

Para obtener la fuerza puede utilizar este código de línea de comandos:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I |grep -i "agrCtlRSSI:"

Consulte las páginas de manual de /usr/sbin/networksetup para cambiar la configuración.

Como ejemplo aquí está un rápido applescript. Solo se ejecuta una vez ya que es solo un ejemplo de uso. Pero en tu script yo lo haría como LaunchAgent Hay una aplicación llamada lingon que simplifica la escritura de los LaunchAgents. Los LaunchAgents pueden iniciar aplicaciones, ejecutar scripts en momentos específicos, regularmente o cuando algo sucede.

Espero que esto ayude

set wifi1 to "wifissid1"
set wifi2 to "wifissid2"

try
    set strength to last word of (do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I |grep -i \"agrCtlRSSI:\"") as number
    log strength
end try
set network to do shell script "/usr/sbin/networksetup -getairportnetwork en1"
log network

if strength is less than 50 then

    if network is not equal to "Current Wi-Fi Network: " & wifi1 then

        do shell script "/usr/sbin/networksetup -setairportnetwork en1 " & wifi1 & " &> /dev/null & "

    end if

else

    if network is not equal to "Current Wi-Fi Network: " & wifi2 then

        do shell script "/usr/sbin/networksetup -setairportnetwork en1 " & wifi2 & " &> /dev/null & "

    end if

end if

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