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
Respuesta
¿Demasiados anuncios?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