Sinyal gücüne bağlı olarak kablosuz ağları otomatik olarak değiştirmenin bir yolu var mı?


4

Bir Linksys çift bant yönlendiricisine sahibim. Evimizin arkasında (bilgisayarlarımızın çoğunlukla bulunduğu yer) sadece G ağı gerçekten geçiyor, bu yüzden evin önünde çalışırken, N ağına ekstra hız bağlamak istiyorum. Maalesef yönlendiricimizi taşıyamıyoruz. Mümkünse, sinyal gücüne bağlı olarak Mac'imin ağları otomatik olarak değiştirmesini istiyorum. Bunu yapmanın bir yolu var mı? Mac'lerimizde 10.8 var. Teşekkürler


at apple.stackexchange.com/a/163118/8546 (2014-12-22): "… şu anda bağlı olan SSID'nin RSSI değerini kontrol etmek için bir komut dosyası ... daha düşük RSSI ile… SSID olarak değiştirin ... ağ değişikliği ile tetiklenir.".
Graham Perrin

Yanıtlar:


3

Bunun ideal olduğunu ya da iyi çalıştığını söylememek. Ama sadece sana bir fikir vermek için.

Gücünü kontrol eden bir komut dosyası yazmak için komut satırı araçlarını kullanabilirsiniz. ve sonra ağı gerektiği gibi değiştirir.

Gücü elde etmek için bu komut satırı kodunu kullanabilirsiniz:

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

İçin man sayfalarına bakın. / Usr / Sbin / networksetup Kurulumu değiştirmek için.

Örnek olarak hızlı bir el yazısıdır. Yalnızca bir kullanım örneği olduğu için yalnızca bir kez çalışır. Ama senaryonuzda bunu bir LaunchAgent Denilen bir uygulama var lingon bu, LaunchAgent'ın yazılmasını basitleştirir. LaunchAgent'lar uygulamaları başlatabilir, komut dosyalarını belirli zamanlarda çalıştırabilir, düzenli olarak veya bir şey olduğunda.

Umarım bu yardımcı olur

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.