# 通用访问 Profile (General Access Profile)

蓝牙低功耗 GAP 是对现有 BR/EDR GAP 的扩展。

要执行蓝牙 GAP 功能，您必须首先完成以下过程中的步骤。

## 为蓝牙 GAP 功能设置设备

**前提条件**

- 启用 SSH 以访问您的主机设备。有关说明，请参阅[使用 SSH 登录](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/how_to.html#use-ssh)。
- 将 DUT 和远程设备放置在蓝牙附近。

**步骤**

1. 在命令提示符下使用以下命令运行 SSH：

ssh root@<device_IP_address>
        Copy to clipboard

    **示例**

    如果设备的 IP 地址为 `10.92.160.222`，则运行以下命令：

ssh root@10.92.160.222
        Copy to clipboard
2. 输入以下密码来连接 SSH：

oelinux123
        Copy to clipboard
3. 设置唯一的蓝牙 MAC 地址。

    - 默认情况下，所有设备的蓝牙 MAC 地址为 `00:00:00:00:5a:ad`。
    - 如果设备具有默认蓝牙 MAC 地址，设置唯一地址。
    - 如果您的设备没有默认的蓝牙 MAC 地址，那么它是一次性程序 (OTP) 设置。您无需更改它。

    **示例**

    请运行以下命令，以便将蓝牙 MAC 地址设置为 `11:22:33:44:55:66`：

mount -o remount rw /
        Copy to clipboard

cd /var/bluetooth
        Copy to clipboard

python3 BtNvmUtility.py --BDA 11:22:33:44:55:66
        Copy to clipboard

    **示例输出**

sh-5.1#
        sh-5.1# mount -o remount rw /
        sh-5.1# cd /var/bluetooth
        sh-5.1# python3 BtNvmUtility.py --BDA 11:22:33:44:55:66
        ----------------------------------------------------------------------------
        *********************BD_Address updated successfully !!*********************
        ----------------------------------------------------------------------------
        Copy to clipboard
4. 通过运行以下命令打开蓝牙测试应用程序：

btapp
        Copy to clipboard

    **示例输出**

sh-5.1# btapp
        get_ap_interface
        :: get_ap_interface
        
        ***************** Menu *******************
                 gap_menu
                 test_menu
                 a2dp_sink_menu
                 hfp_client_menu
                 gattctest_menu
                 gattstest_menu
                 hogp_menu
                 hfp_ag_menu
                 a2dp_source_menu
                 spp_client_menu
                 spp_server_menu
                 eslap_menu
                 exit
        ******************************************
        Copy to clipboard
5. 通过运行以下命令转到 **GAP Menu**：

gap_menu
        Copy to clipboard

    `gap_menu` 由通用蓝牙功能组成。要执行这些功能，请参阅[执行蓝牙 GAP 功能](https://docs.qualcomm.com/doc/80-70018-13SC/topic/gap_commands.html#gap-commands)。

    **示例输出**

sh-5.1# btapp
        get_ap_interface
        :: get_ap_interface
        
        ***************** Menu *******************
                 gap_menu
                 test_menu
                 a2dp_sink_menu
                 hfp_client_menu
                 gattctest_menu
                 gattstest_menu
                 hogp_menu
                 hfp_ag_menu
                 a2dp_source_menu
                 spp_client_menu
                 spp_server_menu
                 eslap_menu
                 exit
        ******************************************
        gap_menu
        
        ***************** Menu *******************
                 enable
                 disable
                 inquiry
                 cancel_inquiry
                 get_role_req<space><bt_address>     eg. get_role_req 00:11:22:33:44:55
                 pair<space><bt_address><space><transport>     eg. pair 00:11:22:33:44:55 0(auto)/1(BREDR)/2(BLE)
                 unpair<space><bt_address>     eg. unpair 00:11:22:33:44:55
                 inquiry_list
                 bonded_list
                 get_state
                 get_bt_name
                 get_bt_address
                 set_bt_name<space><bt name>     eg. set_bt_name MDM_Fluoride
                 set_scan_mode<space><scan mode value (range 0-2)>     eg. set_scan_mode 0 --0-BT_SCAN_MODE_NONE,1- BT_SCAN_MODE_CONNECTABLE,2-BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE
                 set_afh<space><AFH_Host_Channel_Classification>     eg. set_afh 112233445566778899f0
                 send_hci_cmd<space><hci_cmd>     eg. send_hci_cmd 01,04,05,33,8b,9e,0a,00 - For Inquiry
                 read_clock<space><which_clock range(0-1)><space><bt_address>     eg. read_clock 0(local)/1(acl connection) 00:11:22:33:44:55
                 main_menu
                 switch_role_req<bt_address><space><new_role>     eg. switch_role_req 00:11:22:33:44:55 0 or get_role_req 00:11:22:33:44:55 1
        ******************************************
        Copy to clipboard

**后续步骤**

- [执行蓝牙 GAP 功能](https://docs.qualcomm.com/doc/80-70018-13SC/topic/gap_commands.html)
您可以使用通用 `gap_menu` 选项执行各种蓝牙 GAP 功能。

Last Published: Apr 30, 2025

[Previous Topic
验证 Fluoride 协议栈的功能](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/bluetooth_usecases.md) [Next Topic
执行蓝牙 GAP 功能](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/gap_commands.md)