Команда «bluetoothctl list сопряженные устройства» используется для отображения списка устройств, которые в данный момент сопряжены с контроллером Bluetooth в системе Linux. Он предоставляет информацию о сопряженных устройствах, такую как их MAC-адреса и имена.
Вот несколько методов на разных языках программирования для программного вывода списка сопряженных устройств Bluetooth:
-
Python:
import subprocess def list_paired_devices(): output = subprocess.check_output(["bluetoothctl", "paired-devices"]).decode("utf-8") devices = [] for line in output.splitlines(): parts = line.strip().split(" ") device = { "mac_address": parts[1], "name": " ".join(parts[2:]) } devices.append(device) return devices # Usage paired_devices = list_paired_devices() for device in paired_devices: print(f"Name: {device['name']}, MAC Address: {device['mac_address']}")
-
Баш:
#!/bin/bash devices=$(bluetoothctl paired-devices) while IFS= read -r line; do parts=($line) mac_address=${parts[1]} name="${parts[@]:2}" echo "Name: $name, MAC Address: $mac_address" done <<< "$devices"
-
Java:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BluetoothListPairedDevices { public static void main(String[] args) { try { Process process = Runtime.getRuntime().exec("bluetoothctl paired-devices"); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { String[] parts = line.trim().split(" "); String macAddress = parts[1]; String name = String.join(" ", Arrays.copyOfRange(parts, 2, parts.length)); System.out.println("Name: " + name + ", MAC Address: " + macAddress); } reader.close(); } catch (IOException e) { e.printStackTrace(); } } }