Bagaimana saya bisa memulai tethering Bluetooth menggunakan baris perintah?

8

Saya ingin cara cepat mulai tethering menggunakan iPhone saya, semoga saja menggunakan keyboard. Dengan menggunakan menu bluetooth, saya dapat memilih opsi Sambungkan ke Jaringan di submenu untuk perangkat saya, tetapi apakah mungkin untuk mengotomatiskan ini?

Pada akhirnya saya ingin menetapkan ini pada pintasan di Alfred.app (yang sangat mengagumkan), tetapi apa pun yang menggunakan baris perintah atau AppleScript akan berfungsi.

Apakah ini mungkin? Terima kasih!!

mcobrien
sumber

Jawaban:

3

Sepertinya tidak ada kamus AppleScript langsung untuk bekerja dengan Bluetooth dengan cara ini.

Anda dapat menggunakan skrip GUI, yang pada dasarnya menggunakan fitur aksesibilitas Mac OS untuk memilih item menu, dll.

Langgan yang bagus tentang cara memulai dengan GUI AppleScript tersedia di MacOSAutomation.com .

Otomasi GUI bisa menjadi sulit jika Anda memiliki daftar hal yang terus berubah, tetapi jika Anda biasanya memiliki daftar item bluetooth yang terhubung tetap sama, Anda seharusnya baik-baik saja.

Anda kemudian dapat memanggil AppleScript ini melalui Alfred.

jmlumpkin
sumber
1

http://macscripter.net/viewtopic.php?id=38559

Di tautan di atas ada skrip yang sangat bagus. Saya baru saja memperbarui sedikit. Perhatikan bahwa ia menggunakan blueutil [ git repo ] [ situs web / binari ].

Aktifkan Bluetooth:

-- Enable Bluetooth and Connect to iPhone

property blueutilPath : "/opt/local/bin/blueutil"

-- Turn on bluetooth.
if execBlueutil("status") contains "Status: off" then
    execBlueutil("on")

    connectDevice()

    doGrowl()

end if

on execBlueutil(command)
    set res to do shell script blueutilPath & " " & command
    if res contains "Error" then
        display dialog res
        quit
    end if
    return res
end execBlueutil

-- Connect Device
on connectDevice()
    tell application "System Preferences"
        activate
        set AppleScript's text item delimiters to "."
        set current pane to pane "com.apple.preference.network"
        set winNetwork to "Network"
        set btooth to "Bluetooth"

        tell application "System Events" to tell process "System Preferences"
            set theRow to row 1 of table 1 of scroll area 1 of window winNetwork whose value of static text 1 contains btooth
            select theRow --clicks the bluetooth row
            --If Bluetooth is already connected, the button will say Disconnect, so we don't want to turn it off:
            try
                click (button 1 of group 1 of window winNetwork whose title is "Connect")
            end try
        end tell
        tell application "System Preferences"
            quit
        end tell
    end tell
end connectDevice

on doGrowl()
    tell application "System Events"
        set isRunning to (count of (every process whose bundle identifier is "com.Growl.GrowlHelperApp")) > 0
    end tell
    if isRunning then
        tell application id "com.Growl.GrowlHelperApp"
            set the allNotificationsList to ¬
                {"Bluetooth Setting"}
            set the enabledNotificationsList to ¬
                {"Bluetooth Setting"}
            register as application ¬
                "AppleScript - Bluetooth" all notifications allNotificationsList ¬
                default notifications enabledNotificationsList

            notify with name ¬
                "Bluetooth Setting" title ¬
                "Bluetooth is On & iPhone Connected" description ¬
                "Bluetooth has been enabled with iPhone tethered." application name "AppleScript - Bluetooth" icon of file (path to me)
        end tell
    end if
end doGrowl

Nonaktifkan bluetooth:

property blueutilPath : "/opt/local/bin/blueutil"

-- Turn off Bluetooth.
if execBlueutil("status") contains "Status: on" then
    execBlueutil("off")

    doGrowl()
end if
on execBlueutil(command)
    set res to do shell script blueutilPath & " " & command
    if res contains "Error" then
        display dialog res
        quit
    end if
    return res
end execBlueutil

on doGrowl()
    tell application "System Events"
        set isRunning to (count of (every process whose bundle identifier is "com.Growl.GrowlHelperApp")) > 0
    end tell
    if isRunning then
        tell application id "com.Growl.GrowlHelperApp"
            set the allNotificationsList to ¬
                {"Bluetooth Setting"}
            set the enabledNotificationsList to ¬
                {"Bluetooth Setting"}
            register as application ¬
                "AppleScript - Bluetooth" all notifications allNotificationsList ¬
                default notifications enabledNotificationsList

            notify with name ¬
                "Bluetooth Setting" title ¬
                "Bluetooth Off" description ¬
                "Bluetooth has been disabled." application name "AppleScript - Bluetooth" icon of file (path to me)
        end tell
    end if
end doGrowl
Meetai.com
sumber
0

Saya akan merekomendasikan menggunakan automator untuk ini, Anda dapat memanggilnya dari Alfred untuk memudahkannya :)

Alur kerja automator saya saat ini melakukan ini:

Click the "bluetooth" menu bar item.
Connect to Network

Dengan menggunakan metode ini Anda dapat mengotomatisasi hampir semua hal dalam satu menit

Wolph
sumber