Làm cách nào tôi có thể bắt đầu kết nối Bluetooth bằng dòng lệnh?


8

Tôi muốn một cách nhanh chóng để bắt đầu kết nối bằng iPhone của mình, hy vọng chỉ cần sử dụng bàn phím. Sử dụng menu bluetooth, tôi có thể chọn tùy chọn Kết nối với mạng trong menu phụ cho thiết bị của mình, nhưng liệu có thể tự động hóa việc này không?

Cuối cùng, tôi muốn gán cái này cho một phím tắt trong Alfred.app (rất tuyệt vời), nhưng mọi thứ sử dụng dòng lệnh hoặc AppleScript sẽ hoạt động.

Điều này có thể không? Cảm ơn!!

Câu trả lời:


3

Dường như không có từ điển AppleScript trực tiếp để làm việc với Bluetooth theo cách này.

Mặc dù vậy, bạn có thể sử dụng tập lệnh GUI, về cơ bản sử dụng tính năng trợ năng của Mac OS để chọn các mục menu, v.v.

Một bài viết tuyệt vời về cách bắt đầu với GUI AppleScript có sẵn trên MacOSAutomation.com .

Tự động hóa GUI có thể khó khăn nếu bạn có một danh sách các thứ liên tục thay đổi, nhưng nếu bạn thường có một danh sách các mục bluetooth được kết nối mà vẫn giữ nguyên thì bạn sẽ ổn.

Sau đó, bạn có thể gọi AppleScript này thông qua Alfred.


1

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

Trong liên kết trên có một đoạn script rất hay tôi vừa cập nhật một chút. Lưu ý rằng nó sử dụng blueutil [ git repo ] [ trang web / nhị phân ].

Kích hoạt 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

Vô hiệu hóa 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

0

Tôi khuyên bạn nên sử dụng trình tự động hóa cho việc này, bạn có thể gọi nó từ Alfred để làm cho nó dễ dàng :)

Quy trình tự động hóa hiện tại của tôi làm điều này:

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

Sử dụng phương pháp này bạn có thể tự động hóa hầu hết mọi thứ trong vòng một phút

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.