З'єднайте з пристроєм Bluetooth через Термінал


12

Я намагаюся підключити і з'єднати пристрій Bluetooth з командного рядка. Я можу це зробити через графічний інтерфейс, використовуючи стандартний процес, але я прагну автоматизувати весь процес.

Я шукаю команди, які можна виконати в сценарії оболонки для підключення до пристрою Bluetooth. Так само, як у Linux є команди "hcitool", "pand", я намагаюся знайти еквівалентні команди для macOS.

Як я можу це досягти?

Відповіді:


2

Це здається трохи "хакітним", але ви можете зробити це, використовуючи oascript, який імітує GUI-взаємодії, необхідні для підключення: /programming//a/23018886/5269642

На жаль, я не міг знайти жодного документально підтвердженого API для Bluetooth, на жаль, підхід oascript був найкращим, що я міг знайти / подумати до цих пір.


1

blueutil(доступна через HomeBrew) - це відповідь. Я просто використовував його, дотримуючись вказівок у цій публікації блогу .

У моєму випадку у мене був iMac з macOS Catalina, у якого не було парних трекпадів. Я застряг у "Надіслати Apple Crash Analytics?" екран без управління клавіатурою. Використовуючи SSH, я підключився до машини і використав наступні команди, щоб з'єднати, а потім підключити трекпад без доступу до графічного інтерфейсу. (По-перше, мені довелося перетворити трекпад у режим "Відкриття". PIN-код за замовчуванням для вказівних пристроїв Apple є 0000.)

% blueutil --inquiry
address: d0-a6-xx-xx-xx-xx, not connected, not favourite, not paired, name: "-", recent access date: -
% blueutil --pair d0-a6-xx-xx-xx-xx
Type pin code (up to 16 characters) for "Cheshire, Josh’s Trackpad" (d0-a6-xx-xx-xx-xx) and press Enter: 0000
% blueutil --connect d0-a6-xx-xx-xx-xx

У цей момент трекпад працював.


0

Інструмент blueutil використовує приватні API з IOBluetooth для взаємодії з пристроями Bluetooth. Ви можете перелічити останні пристрої за допомогою:

blueutil --recent

і підключитися до певного пристрою за допомогою:

blueutil --connect $device_adress
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.