基础应用
BLE Peripheral
功能说明
BLE Peripheral 是一个简单的 BLE 外设应用, 可以打出蓝牙广播并被连线。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
Y |
Y |
Y |
Y |
Y |
Y |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=peripheral,1
使能 BLE Peripheral 功能。AT+BTDEMO=peripheral,1 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:04:06] HCI Revision is 0x000e, LMP Subversion is 0x8720. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250421202736 FW Length: 77317 Start upper stack [APP] BD_ADDR: 00:E0:4C:80:04:06(public) [APP] simple ble service register succeed! [APP] DIS register service succeed! [APP] HRS register service succeed! [APP] BAS register service succeed! [APP] IAS register service succeed! [APP] GLS register service succeed! [APP] Long uuid service register succeed! peripheral example enable OK! [MEM] After do cmd, available heap 513056 # [APP] ADV started: adv_type 0
使用手机搜索相应蓝牙地址的广播并发起连线, 可以成功与该设备建立蓝牙连线。
[APP] ADV stopped: reason 0x1 [APP] Connected, handle: 24, role: slave, remote device: 7A:AA:E7:3D:98:A0(random) [APP] PHY is updated, conn_handle: 24, tx_phy: 2, rx_phy: 2 [APP] Data len is updated, conn_handle: 24, max_tx_octets: 0x40, max_tx_time: 0x270, max_rx_octets: 0xfb, max_rx_time: 0x428 [APP] GATTS mtu exchange successfully, mtu_size: 180, conn_handle: 24
BLE Central
功能说明
BLE Central 是一个简单的 BLE 中心应用, 可以扫描 BLE 外设并与之连线。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
Y |
Y |
Y |
Y |
Y |
Y |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=central,1
使能 BLE Central 功能。AT+BTDEMO=central,1 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0d:c3] hci_phy_efuse[PEFUSE(0x741)] = 0x88 HCI Revision is 0x000d, LMP Subversion is 0x8721. Set baudrate to 3000000 success! Signature check success: Merge patch v2 FW Version: 20250424112906 FW Length: 29680 Start upper stack [APP] BD_ADDR: 00:E0:4C:80:0D:C3(public) central example enable OK! [MEM] After do cmd, available heap 261504
使用 AT 命令
AT+BLEGAP=scan,1
可以扫描周边蓝牙设备,AT+BLEGAP=scan,0
停止扫描。AT+BLEGAP=scan,1 GAP starting scan ... [MEM] After do cmd, available heap 261440 # [APP] Scan started, scan_type: 1 [APP] Scan info, [Device]: 37:D9:DB:9D:1C:8A(random), AD evt type: 3, RSSI: -82, len: 31 [APP] Scan info, [Device]: 73:46:2E:8A:AB:44(random), AD evt type: 0, RSSI: -86, len: 17 [APP] Scan info, [Device]: 26:10:07:5E:50:BD(random), AD evt type: 3, RSSI: -78, len: 31 [APP] Scan info, [Device]: 7D:CC:83:EF:4A:A3(random), AD evt type: 0, RSSI: -76, len: 19 [APP] Scan info, [Device]: 7D:CC:83:EF:4A:A3(random), AD evt type: 4, RSSI: -76, len: 0 [APP] Scan info, [Device]: 74:70:08:EE:5B:FA(random), AD evt type: 0, RSSI: -80, len: 23 [APP] Scan info, [Device]: 39:B5:F6:BA:01:40(random), AD evt type: 3, RSSI: -60, len: 31 [APP] Scan info, [Device]: 03:BD:97:0E:DD:EB(random), AD evt type: 3, RSSI: -62, len: 31 [APP] Scan info, [Device]: 01:7D:D2:66:88:86(random), AD evt type: 3, RSSI: -76, len: 31 [APP] Scan info, [Device]: 50:95:28:4A:CB:3C(random), AD evt type: 3, RSSI: -66, len: 31 [APP] Scan info, [Device]: 79:28:DE:38:4D:B0(random), AD evt type: 3, RSSI: -84, len: 31 [APP] Scan info, [Device]: 1A:01:D8:26:86:BC(random), AD evt type: 3, RSSI: -76, len: 31 [APP] Scan info, [Device]: 23:DB:AA:23:6E:34(random), AD evt type: 3, RSSI: -80, len: 31 AT+BLEGAP=scan,0 GAP stopping scan ... [MEM] After do cmd, available heap 261504 # [APP] Scan stopped, reason: 0x0
使用 AT 命令
AT+BLEGAP=conn,<addr_type>,<addr>
可以向其它蓝牙设备发起连线。AT+BLEGAP=conn,0,00e04c800ce9 GAP connecting to device 00:E0:4C:80:0C:E9(public) ... [MEM] After do cmd, available heap 261344 # [APP] Connected, handle: 16, role: master, remote device: 00:E0:4C:80:0C:E9(public) [APP] GATTC Profiles attach connection success, conn_handle: 16 [APP] Bonded device, start link encryption procedure [APP] GATTC mtu exchange success, mtu_size: 180, conn_handle: 16 [APP] Pairing success, conn_handle: 16 [APP] long term key is 0x0e9a02c59d7a54b6ad94696dc7d4a83b [APP] Data len is updated, conn_handle: 16, max_tx_octets: 0x40, max_tx_time: 0x270, max_rx_octets: 0x40, max_rx_time: 0x270
BLE Scatternet
功能说明
BLE Scatternet 是一个简单的 BLE 多连接应用, 可以在连接多个 BLE 外设的同时被其它中心设备连接。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
Y |
Y |
Y |
Y |
Y |
Y |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=scatternet,1
使能 BLE Scatternet 功能。AT+BTDEMO=scatternet,1 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0d:c3] hci_phy_efuse[PEFUSE(0x741)] = 0x88 HCI Revision is 0x000d, LMP Subversion is 0x8721. Set baudrate to 3000000 success! Signature check success: Merge patch v2 FW Version: 20250424112906 FW Length: 29680 Start upper stack [APP] BD_ADDR: 00:E0:4C:80:0D:C3(public) [APP] simple ble service register succeed! [APP] DIS register service succeed! [APP] HRS register service succeed! [APP] BAS register service succeed! [APP] IAS register service succeed! [APP] GLS register service succeed! [APP] Long uuid service register succeed! scatternet example enable OK! [MEM] After do cmd, available heap 258496 # [APP] ADV started: adv_type 0
BLE Scatternet 同时具有 BLE Peripheral 和 BLE Central 的功能, 可以参考 示例 和 示例 进行操作。
BLE Mesh Provisioner
功能说明
BLE Mesh Provisioner 是一个 Mesh 网络的组网应用, 可以扫描 Mesh 设备并进行组网。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
Y |
Y |
Y |
Y |
Y |
Y |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=provisioner,1
使能 BLE Mesh Provisioner 功能。AT+BTDEMO=provisioner,1 Before Enable BT [WLAN-A] IPS out Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0d:c3] hci_phy_efuse[PEFUSE(0x741)] = 0x88 HCI Revision is 0x000d, LMP Subversion is 0x8721. Set baudrate to 3000000 success! Signature check success: Merge patch v2 FW Version: 20250424112906 FW Length: 29680 Start upper stack [APP] BD_ADDR: 00:E0:4C:80:0D:C3(public) mesh provisioner example enable OK! [MEM] After do cmd, available heap 246496
使用 AT 命令
AT+BLEMESHSTACK=dev_info,1
发现周边未被配网的设备, 使用AT+BLEMESHSTACK=dev_info,0
停止发现。AT+BLEMESHSTACK=dev_info,1 [MEM] After do cmd, available heap 246496 # [APP] bt addr=0x00e04c800ce9 type=0 rssi=-30 prov=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800695 type=0 rssi=-66 prov=0x9506804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800ce9 type=0 rssi=-32 udb=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800ce9 type=0 rssi=-32 prov=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c80099c type=0 rssi=-66 snb=0x3ecaff672f673370 [APP] bt addr=0x00e04c80099c type=0 rssi=-66 proxy net id=0x003ecaff672f673370 [APP] bt addr=0x00e04c800ce9 type=0 rssi=-30 udb=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c80099c type=0 rssi=-68 snb=0x3ecaff672f673370 [APP] bt addr=0x00e04c800ce9 type=0 rssi=-30 prov=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800695 type=0 rssi=-66 udb=0x9506804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800695 type=0 rssi=-64 udb=0x9506804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800695 type=0 rssi=-66 udb=0x9506804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c80099c type=0 rssi=-66 proxy net id=0x003ecaff672f673370 [APP] bt addr=0x00e04c800ce9 type=0 rssi=-32 prov=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800ce9 type=0 rssi=-32 udb=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c800ce9 type=0 rssi=-30 prov=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c80099c type=0 rssi=-66 snb=0x3ecaff672f673370 [APP] bt addr=0x00e04c800ce9 type=0 rssi=-30 prov=0xe90c804ce000060708090a0b0c0d0e0f [APP] bt addr=0x00e04c80099c type=0 rssi=-66 snb=0x3ecaff672f673370 [APP] bt addr=0x00e04c800ce9 type=0 rssi=-30 udb=0xe90c804ce000060708090a0b0c0d0e0f AT+BLEMESHSTACK=dev_info,0 [MEM] After do cmd, available heap 246496
使用 AT 命令
AT+BLEMESHSTACK=pbadvcon,<UUID>
来建立 PB-ADV 连线, 再用AT+BLEMESHSTACK=prov
完成配网。AT+BLEMESHSTACK=pbadvcon,e90c804ce000060708090a0b0c0d0e0f [MEM] After do cmd, available heap 246336 # [APP] PB-ADV Link Opened! AT+BLEMESHSTACK=prov [MEM] After do cmd, available heap 246336 # [APP] PB-ADV Link Closed! [APP] Provisioning complete,unicast address:0x100
BLE Mesh Device
功能说明
BLE Mesh Device 是一个 Mesh 网络的设备应用, 可以被 Mesh Provisioner 扫描并进行组网。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
Y |
Y |
Y |
Y |
Y |
Y |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=device,1
使能 BLE Mesh Device 功能。AT+BTDEMO=device,1 [WLAN-A] IPS out Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0c:e9] hci_phy_efuse[PEFUSE(0x741)] = 0x88 HCI Revision is 0x000d, LMP Subversion is 0x8721. Set baudrate to 3000000 success! Signature check success: Merge patch v2 FW Version: 20250424112906 FW Length: 29680 Start upper stack [APP] Unprovisioned Device [APP] BD_ADDR: 00:E0:4C:80:0C:E9(public) mesh device example enable OK! [MEM] After do cmd, available heap 239968
Mesh Device 设备可以被 Provisioner 发现并进行配网。
[APP] PB-ADV link opened [APP] Being Provisioned [APP] Provisioning complete,unicast address:0x100 [APP] PB-ADV link closed
BLE Audio
功能说明
BLE Audio 是一个低功耗音频传输应用, 可以通过蓝牙低功耗传输音频数据。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
N |
Y |
N |
N |
Y |
N |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:进入
CONFIG BT
配置,勾选Enable BT
打开蓝牙功能,勾选BLE Audio
以及其所包含的BLE Audio Generic Demo
,BLE Audio Public Broadcast Profile
,BLE Audio Telephony and Media Audio Profile
,BLE Audio Gaming Audio Profile
。再返回上一级菜单, 进入
CONFIG APPLICATION
配置, 再进入Audio Config
配置, 勾选Enable Audio Framework
并在Select Audio Interfaces
选择Mixer
。3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=generic_le_audio_demo,initiator,1
使能 BLE Audio Initiator 功能。AT+BTDEMO=generic_le_audio_demo,initiator,1 Set cap initiator bt ant 0 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:55] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack [BAP] bt_stack_bap_init [CAP] bt_stack_cap_init [CAP] bt_stack_csis_cap_init, role Set Coordinator [CAP] bt_stack_mcs_server_cap_init [CAP] bt_stack_mcs_server_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:55 [APP] BD_ADDR: 00:E0:4C:80:0E:55(public) [LEA STACK] bt_stack_le_audio_gen_basic_data: group index: 0, group bis number :1 [LE Audio] Create initiator ext scan timer cap example enable OK! [MEM] After do cmd, available heap 1477248
使用 AT 命令
AT+BLEBAP=broadcast_start
可以开始播放广播流, 使用AT+BLEBAP=broadcast_stop
停止。AT+BLEBAP=broadcast_start [LEA STACK] Update broadcast state: IDLE prefer state:STREAMING [LEA STACK] Update broadcast state: CONFIGURED_STARTING prefer state:STREAMING BAP start successfully [MEM] After do cmd, available heap 1476416 # [LEA STACK] Update broadcast state: CONFIGURED prefer state:STREAMING [LEA STACK] bt_stack_le_audio_broadcast_establish: num_bis:1, sdu_interval:10000, rtn: 2, max_sdu: 80, max_transport_latency: 10, phy:0x2, packing:0x0, framing:0x0, encryption: 0x0 [LEA STACK] Update broadcast state: STREAMING_STARTING prefer state:STREAMING [LEA STACK] bt_stack_le_audio_broadcast_establish (source handle 0x60594d40) Success [LEA STACK] Update broadcast state: STREAMING prefer state:STREAMING [BAP] broadcast source streaming [LEA STACK] bt_stack_le_audio_add_iso_chann iso_conn_handle 0x1f, direction 1 [LEA STACK] bt_stack_le_audio_handle_data_path_setup iso handle 0x1f, frame_num 2, dir 1, sample_frequency 0x3, audio_channel_allocation 0x00000003, presentation_delay 0x[APP] broadcast setup path indication: bis_idx: 0x1, bis_conn_handle 0x1f, cause: 0x0 [APP] broadcast setup path indication: iso_conn_handle: 0x1f, path_direction 0x1, cause: 0x0 [LEA STACK] app_bt_le_audio_lc3_codec_entity_add audio_channel_allocation=0x3, sample_frequency=0x3 [BT AUDIO] BT codec try to add one codec [BT AUDIO] add codec type 8 ! [BT_AUDIO] lc3 codec init [APP] app_bt_le_audio_cap_encode_data_control 1 [APP] app_bt_le_audio_send_timer_update: time_interval_us=10000 AT+BLEBAP=broadcast_stop [LEA STACK] Update broadcast state: STREAMING prefer state:IDLE [APP] broadcast remove path indication: bis_conn_handle 0x1f, cause: 0x0 [LEA STACK] Update broadcast state: STREAMING_STOPPING prefer state:IDLE [APP] app_bt_le_audio_cap_encode_data_control 0 BAP stop successfully [MEM] After do cmd, available heap 1424832 [BT_AUDIO] lc3 codec deinit
BT A2DP
功能说明
BT A2DP 是一个音频传输应用, 可以通过蓝牙传输音频数据。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
N |
Y |
N |
Y |
Y |
N |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=a2dp,snk,1
使能 A2DP sink 功能。AT+BTDEMO=a2dp,snk,1 Set a2dp role (snk) bt ant 0 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:55] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack [AVRCP]app_avrcp_init [A2DP]app_a2dp_init [SDP]app_sdp_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:55 [APP] BD_ADDR: 00:E0:4C:80:0E:55 [A2DP Demo] Create auto reaconnect timer [A2DP Demo] Load a2dp demo reconnect data success [A2DP Demo] Load a2dp demo bond info table success [A2DP Demo] Bond Info List >> 1. mac addr 00:e0:4c:80:0e:56 name RTK_BT_CONCURRENT_DEV(0E56) >> 2. mac addr 00:e0:4c:80:07:19 name RTK_BT_CONCURRENT_DEV(0719) [A2DP Demo] Create bond info flush thread a2dp example enable OK! [MEM] After do cmd, available heap 1939392
使用手机可以扫描到 A2DP sink 设备, 可以与之建立连线并播放音乐。
[BR GAP] ACL connection indication dc:b5:4f:83:db:46 bt_stack_mgr_cback: link alloc success, hadnle 0x1 [A2DP Demo] Save a2dp demo reconnect data success [BR GAP] ACL connection success dc:b5:4f:83:db:46 bt_stack_mgr_cback: BT_EVENT_LINK_KEY_INFO [BR GAP] Set link key of dc:b5:4f:83:db:46 [A2DP Demo] Get Bond Number 3 [A2DP Demo] Get Bond addr dc:b5:4f:83:db:46 [A2DP Demo] Get Bond addr 00:e0:4c:80:0e:56 [A2DP Demo] Get Bond addr 00:e0:4c:80:07:19 [A2DP Demo] Save a2dp demo bond info table success bt_stack_mgr_cback: BT_EVENT_REMOTE_NAME_RSP [A2DP Demo] Save a2dp demo bond info table success [A2DP Demo] Bond Info List >> 1. mac addr dc:b5:4f:83:db:46 name ZC???iPhone >> 2. mac addr 00:e0:4c:80:0e:56 name RTK_BT_CONCURRENT_DEV(0E56) >> 3. mac addr 00:e0:4c:80:07:19 name RTK_BT_CONCURRENT_DEV(0719) app_a2dp_bt_cback: A2DP p_link confirmed [A2DP] Receive A2DP connection from dc:b5:4f:83:db:46 app_a2dp_bt_cback: A2DP Connected [A2DP] A2DP connection completion with dc:b5:4f:83:db:46 app_avrcp_bt_cback: T_EVENT_AVRCP_CONN_IND [AVRCP] Receive AVRCP connection from dc:b5:4f:83:db:46 app_avrcp_bt_cback: BT_EVENT_AVRCP_CONN_CMPL [AVRCP] Connection Completion [AVRCP] AVRCP connection completion with dc:b5:4f:83:db:46 app_a2dp_bt_cback: A2DP config: SBC [BT AUDIO] Audio Framework Mixer try to add one audio track [BT AUDIO] audio track init audio channels 2, rate 44100, format 2, left_volume [BT AUDIO] pcm data callback is NULL => I/AudioHal:[CreateAudioHwStreamOut]: startAudioHwStreamOut samplerate:44100, format:2, channel:2, framesize:4, period_size:1024 [AmpDummy-I] ++Create [Mixer-I] RawMixer init time_freq_ [OsalThread-W] [OsalThreadCreateEx] warn: set stack size to default 16384 rtk_bt_audio_track_init get start threshold:24576 rtk_bt_audio_track_init sample_rate 44100, channel_count 2, track_buf_size 24576 [BT AUDIO] Complete allocating audio track [BT AUDIO] BT codec try to add one codec [BT AUDIO] add codec type 1 ! [BT_AUDIO] sbc codec init [A2DP] Configure Complete CODEC 1 app_avrcp_bt_cback: BT_EVENT_AVRCP_REG_VOLUME_CHANGED => I/AudioHal:[ameba_audio_ctl_set_tx_volume]: set dacl volume to 0x6f => I/AudioHal:[ameba_audio_ctl_set_tx_volume]: set dacr volume to 0x6f [AVRCP] volume request set 78 app_avrcp_bt_cback: BT_EVENT_AVRCP_PLAY_STATUS_CHANGED [AVRCP]: Paused app_a2dp_bt_cback: A2DP STREAM is opened [A2DP] A2DP STREAM is opened [A2DP] A2DP stream open with dc:b5:4f:83:db:46 [A2DP] A2DP stream open max packet length is 991 app_avrcp_bt_cback: BT_EVENT_AVRCP_ABSOLUTE_VOLUME_SET => I/AudioHal:[ameba_audio_ctl_set_tx_volume]: set dacl volume to 0x2a => I/AudioHal:[ameba_audio_ctl_set_tx_volume]: set dacr volume to 0x2a [AVRCP] absolute volume set 29 app_avrcp_bt_cback: BT_EVENT_AVRCP_ABSOLUTE_VOLUME_SET [AVRCP] absolute volume set 29 app_avrcp_bt_cback: BT_EVENT_AVRCP_ABSOLUTE_VOLUME_SET [AVRCP] absolute volume set 29 app_avrcp_bt_cback: BT_EVENT_AVRCP_ABSOLUTE_VOLUME_SET [AVRCP] absolute volume set 29 app_avrcp_bt_cback: BT_EVENT_AVRCP_ABSOLUTE_VOLUME_SET [AVRCP] absolute volume set 29 app_avrcp_bt_cback: BT_EVENT_AVRCP_ABSOLUTE_VOLUME_SET [AVRCP] absolute volume set 29 app_a2dp_bt_cback: BT_EVENT_A2DP_STREAM_START_IND active_a2dp_idx 0, streaming_fg 1 [A2DP] BT_EVENT_A2DP_STREAM_START_IND active_a2dp_idx 0, streaming_fg 1 app_avrcp_bt_cback: BT_EVENT_AVRCP_PLAY_STATUS_CHANGED [AVRCP]: Playing
使用 AT 命令
AT+BTDEMO=a2dp,src,1
使能 A2DP source 功能。AT+BTDEMO=a2dp,src,1 Set a2dp role (src) bt ant 1 [WLAN-A] IPS out Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:41] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack [AVRCP]app_avrcp_init [A2DP]app_a2dp_init [SDP]app_sdp_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:41 [APP] BD_ADDR: 00:E0:4C:80:0E:41 [A2DP Demo] Create auto reaconnect timer [A2DP Demo] Fail to load a2dp reconnect data [A2DP Demo] Fail to load a2dp bond table [A2DP Demo] Create bond info flush thread a2dp example enable OK! [MEM] After do cmd, available heap 1939264
A2DP source 端使用 AT 命令
AT+BTA2DP=conn,<addr>
可以与 A2DP sink 端建立连线, 再使用AT+BTA2DP=start,<addr>
可以播放音乐。AT+BTA2DP=conn,00e04c800e55 A2DP connecting to device 00:E0:4C:80:0E:55 ... [MEM] After do cmd, available heap 1939392 # bt_stack_mgr_cback: link alloc success, hadnle 0x1 [A2DP Demo] Save a2dp demo reconnect data success [BR GAP] ACL connection success 00:e0:4c:80:0e:55 [A2DP] SDP Scan 00:e0:4c:80:0e:55 bt_stack_mgr_cback: BT_EVENT_LINK_KEY_REQ [BR GAP] Link Key Request received and found is 0x0 bt_stack_mgr_cback: BT_EVENT_LINK_KEY_INFO [BR GAP] Set link key of 00:e0:4c:80:0e:55 [A2DP Demo] Get Bond Number 1 [A2DP Demo] Get Bond addr 00:e0:4c:80:0e:55 [A2DP Demo] Save a2dp demo bond info table success bt_stack_mgr_cback: BT_EVENT_REMOTE_NAME_RSP [A2DP Demo] Save a2dp demo bond info table success [A2DP Demo] Bond Info List >> 1. mac addr 00:e0:4c:80:0e:55 name RTK_BT_AUDIO_DEVICE(0E55) app_a2dp_bt_cback: A2DP Connected [A2DP] A2DP connection completion with 00:e0:4c:80:0e:55 app_avrcp_bt_cback: BT_EVENT_AVRCP_CONN_CMPL [AVRCP] Connection Completion [AVRCP] AVRCP connection completion with 00:e0:4c:80:0e:55 app_avrcp_bt_cback: BT_EVENT_AVRCP_PLAY_STATUS_CHANGED_REG_REQ app_a2dp_bt_cback: A2DP config: SBC [BT AUDIO] BT codec try to add one codec [BT AUDIO] add codec type 1 ! [BT_AUDIO] sbc codec init [A2DP] Configure Complete CODEC 1 app_avrcp_bt_cback: BT_EVENT_AVRCP_VOLUME_CHANGED [AVRCP] Volume changed 100 app_a2dp_bt_cback: A2DP STREAM is opened [A2DP] A2DP STREAM is opened [A2DP] A2DP stream open with 00:e0:4c:80:0e:55 [A2DP] A2DP stream open max packet length is 661 AT+BTA2DP=start,00e04c800e55 A2DP starting to device 00:E0:4C:80:0E:55 ... [MEM] After do cmd, available heap 1927744 # bt_stack_mgr_cback: BT_EVENT_ACL_CONN_ACTIVE [BR GAP] ACL active 00:e0:4c:80:0e:55 [A2DP] BT_EVENT_A2DP_STREAM_START_IND active_a2dp_idx 0, streaming_fg 0 [A2DP Demo] Create Test Demo app_avrcp_bt_cback: BT_EVENT_AVRCP_PLAY_STATUS_CHANGED_REG_REQ
BT HFP
功能说明
BT HFP 是一个免提电话应用, 可以通过蓝牙传输音频数据并控制电话功能。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
N |
Y |
N |
Y |
Y |
N |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=hfp,ag,1
使能 HFP AG 功能。AT+BTDEMO=hfp,ag,1 Set hfp role (audio gate) bt ant 0 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:55] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack [SDP]app_sdp_init [HFP]app_hfp_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:55 [APP] BD_ADDR: 00:E0:4C:80:0E:55 hfp example enable OK! [MEM] After do cmd, available heap 1968576
使用 AT 命令
AT+BTHFP=conn,<addr>
可以与 HFP HF 端建立连线, 再使用AT+BTHFP=conn_income,<addr>,<phone_number>,0
给 HF 端打电话。AT+BTHFP=conn,00e04c800e41 HFP connecting to device 00:E0:4C:80:0E:41 ... [MEM] After do cmd, available heap 1968576 # bt_stack_mgr_cback: link alloc success, hadnle 0x1 [BR GAP] ACL connection success 00:e0:4c:80:0e:41 [HFP] SDP Scan 00:e0:4c:80:0e:41 bt_stack_mgr_cback: BT_EVENT_LINK_KEY_REQ br_gap_app_callback, Unknown GAP RTK_BLE_EVT: 8 app_hfp_bt_cback: BT_EVENT_HFP_AG_INDICATORS_STATUS_REQ [HFP] Receive AG indicators req from 00:e0:4c:80:0e:41 app_hfp_bt_cback: BT_EVENT_HFP_AG_CONN_CMPL [HFP] Receive AG connection completion from 00:e0:4c:80:0e:41 bt_stack_mgr_cback: BT_EVENT_ACL_CONN_SNIFF [BR GAP] ACL sniff mode from 00:e0:4c:80:0e:41 [BR GAP] ACL sniff interval 0x330 AT+BTHFP=call_income,00e04c800e41,10086,0 app_hfp_bt_cback: BT_EVENT_HFP_AG_CALL_STATUS_CHANGED [HFP] Receive AG call status change from 0 to 1 from 00:e0:4c:80:0e:41 HFP call income to device 00:E0:4C:80:0E:41 ... number is 10086 length is 5 type is 0 [MEM] After do cmd, available heap 1966016
使用 AT 命令
AT+BTDEMO=hfp,hf,1
使能 HFP HF 功能。AT+BTDEMO=hfp,hf,1 Set hfp role (hand free) bt ant 1 [WLAN-A] IPS out Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:41] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack [SDP]app_sdp_init [HFP]app_hfp_init [PBAP]app_pbap_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:41 [APP] BD_ADDR: 00:E0:4C:80:0E:41 hfp example enable OK! [MEM] After do cmd, available heap 1967040
在被 AG 端连线并收到 AG 端打来的电话时, 可以使用 AT 命令
AT+BTHFP=conn_answer,<addr>
可以接听电话, 使用AT+BTHFP=conn_terminate,<addr>
可以挂断电话。AT+BTHFP=call_answer,00e04c800e55 HFP call answer req to device 00:E0:4C:80:0E:55 ... [MEM] After do cmd, available heap 1871680 # app_hfp_bt_cback: BT_EVENT_HFP_CALL_STATUS [HFP] Receive HFP call status change from 1 to 3 from 00:e0:4c:80:0e:55 [HFP] ring alert outband inactive [GenTrack-I] time(608735964) track(0) [GenTrack-I] time(608736206) track(0) app_hfp_bt_cback: BT_EVENT_SCO_CONN_IND [HFP] Receive HFP SCO connection from 00:e0:4c:80:0e:55 AT+BTHFP=call_terminate,00e04c800e55 HFP call terminate req to device 00:E0:4C:80:0E:55 ... [MEM] After do cmd, available heap 1907072 # app_hfp_bt_cback: BT_EVENT_HFP_CALL_STATUS [HFP] Receive HFP call status change from 3 to 0 from 00:e0:4c:80:0e:55
BT SPP
功能说明
BT SPP 是一个串口通信应用, 可以通过蓝牙传输串口数据。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
RTL8721F |
---|---|---|---|---|---|---|
支持状态 |
N |
Y |
N |
Y |
Y |
N |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=spp,client,1
使能 SPP client 功能。AT+BTDEMO=spp,client,1 Set spp role (client) [APP] spp demo role : SPP Client bt ant 0 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:55] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack bt_stack_spp_init [SDP]app_sdp_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:55 [APP] BD_ADDR: 00:E0:4C:80:0E:55 spp example enable OK! [MEM] After do cmd, available heap 2380608
使用手机 app Bluetooth SPP tool 可以扫描到 SPP client 并且建立连线。
[SPP] SPP connection completion with dc: ee: 6: 6c: d: 55, server channel: 0x3 , frame size: 990, link credit: 7
使用 AT 命令
AT+BTDEMO=spp,server,1
使能 SPP server 功能。AT+BTDEMO=spp,server,1 Set spp role (server) [APP] spp demo role : SPP Server bt ant 0 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:55] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack bt_stack_spp_init [SDP]app_sdp_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:55 [APP] BD_ADDR: 00:E0:4C:80:0E:55 [APP] SPP server start inquiry... [APP] Start inquiry success spp example enable OK! [MEM] After do cmd, available heap 2380608
SPP server 端使用 AT 命令
AT+BTSPP=conn,<addr>
可以与 SPP client 建立连线。AT+BTSPP=conn,00e04c800e55 [bt_stack_spp_connect] SPP server stop inquiry failed! [bt_stack_spp_connect] SPP server start sdp discov success! SPP connecting to device 00:E0:4C:80:0E:55 ... [MEM] After do cmd, available heap 2380672 # bt_stack_mgr_cback: link alloc success, hadnle 0x2 [BR GAP] ACL connection success 00:e0:4c:80:0e:55 bt_stack_spp_evt_ind_cback: BT_EVENT_SDP_ATTR_INFO The uuid is registered and the local server channel is bonded bt_stack_spp_evt_ind_cback: local server channel is 0x3, remote server channel is 0x3 [SPP] SPP sdp attr info from 00:e0:4c:80:0e:55 [SPP] UUID type is uuid16 [SPP] uuid16 is : 0x1101 bt_stack_spp_evt_ind_cback: BT_EVENT_SDP_ATTR_INFO The uuid is registered and the local server channel is bonded bt_stack_spp_evt_ind_cback: local server channel is 0x4, remote server channel is 0x4 [SPP] SPP sdp attr info from 00:e0:4c:80:0e:55 [SPP] UUID type is uuid128 [SPP] uuid128 is : 6a 24 ee ab 4b 65 46 93 98 6b 3c 26 c3 52 26 4f bt_stack_spp_evt_ind_cback: BT_EVENT_SDP_DISCOV_CMPL SDP Discovery Completely bt_stack_spp_evt_ind_cback: BT_EVENT_SDP_DISCOV_CMPL send spp connection request success bt_stack_spp_evt_ind_cback: BT_EVENT_SDP_DISCOV_CMPL SDP Discovery Completely [SPP] SPP sdp discov cmpl from 00:e0:4c:80:0e:55 bt_stack_spp_evt_ind_cback: BT_EVENT_SDP_DISCOV_CMPL send spp connection request success [SPP] SPP sdp discov cmpl from 00:e0:4c:80:0e:55 bt_stack_mgr_cback: BT_EVENT_LINK_KEY_REQ br_gap_app_callback, Unknown RTK_BT_BR_GAP_EVT: 8 [SPP] SPP connection completion with 00:e0:4c:80:0e:55, server channel: 0x3, frame size: 244, link credit: 7 [SPP] SPP TX test to 00:e0:4c:80:0e:55, server channel: 0x3 bt_stack_spp_send_data: link credit is 6 [SPP] Send SPP tx test data success [SPP] SPP connection completion with 00:e0:4c:80:0e:55, server channel: 0x4, frame size: 244, link credit: 7 [SPP] SPP TX test to 00:e0:4c:80:0e:55, server channel: 0x4 bt_stack_spp_send_data: link credit is 6 [SPP] Send SPP tx test data success
特色应用
BLE WiFiMate
功能说明
BLE WiFiMate 是一个简单的蓝牙配网应用, 可以让设备通过蓝牙配网连接到 WiFi 网络。
支持的芯片
Ameba SOC |
RTL8721Dx |
RTL8726EA |
RTL8720EA |
RTL8713EA |
RTL8730E |
---|---|---|---|---|---|
支持状态 |
Y |
Y |
Y |
Y |
Y |
编译
1.进入
{sdk}/amebaxxx_gcc_project
目录2.在 Windows 的命令提示符窗口或 Linux 终端下运行
menuconfig.py
命令, 进入如下的配置界面:3.在 Windows 的命令提示符窗口或 Linux 终端下运行
build.py
命令, 编译工程。
示例
使用 AT 命令
AT+BTDEMO=ble_wifimate_configurator,1
使能 WiFiMate Configurator 功能。AT+BTDEMO=hfp,ag,1 Set hfp role (audio gate) bt ant 0 Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:55] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack [SDP]app_sdp_init [HFP]app_hfp_init bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:55 [APP] BD_ADDR: 00:E0:4C:80:0E:55 hfp example enable OK! [MEM] After do cmd, available heap 1968576
使用 AT 命令
AT+BLEGAP=conn,0,<addr>
可以与 WiFiMate Device 端建立连线, 再使用AT+BTDEMO=ble_wifimate_configurator,wifi_scan,<conn_handle>
可以让 Device 端做 WiFi scan。AT+BLEGAP=conn,0,00e04c800e41 GAP connecting to device 00:E0:4C:80:0E:41(public) ... [MEM] After do cmd, available heap 2334400 # [APP] Connected, handle: 16, role: master, remote device: 00:E0:4C:80:0E:41(public) [APP] BLE wifimate client set encrypt success. [APP] BLE wifimate client attach connection success, conn_handle: 16 [APP] GATTC mtu exchange success, mtu_size: 512, conn_handle: 16 [APP] GATTC discover primary by uuid result: start_handle: 0x0012, end_handle: 0x001e [APP] GATTC discover completed. profile_id: 8, conn_handle: 16, type: 1 [APP] GATTC discover characteristic of a service result: handle: 0x0013, properties: 0x08(write_req), value_handle: 0x0014, UUID: d020 [APP] GATTC discover characteristic of a service result: handle: 0x0015, properties: 0x08(write_req), value_handle: 0x0016, UUID: d021 [APP] GATTC discover characteristic of a service result: handle: 0x0017, properties: 0x20(indicate), value_handle: 0x0018, UUID: d022 [APP] GATTC discover characteristic of a service result: handle: 0x001a, properties: 0x08(write_req), value_handle: 0x001b, UUID: d023 [APP] GATTC discover characteristic of a service result: handle: 0x001c, properties: 0x20(indicate), value_handle: 0x001d, UUID: d024 [APP] GATTC discover completed. profile_id: 8, conn_handle: 16, type: 3 [APP] GATTC discover descriptor all result: handle: 0x0014, UUID: d020 [APP] GATTC discover descriptor all result: handle: 0x0015, UUID: 2803 [APP] GATTC discover descriptor all result: handle: 0x0016, UUID: d021 [APP] GATTC discover descriptor all result: handle: 0x0017, UUID: 2803 [APP] GATTC discover descriptor all result: handle: 0x0018, UUID: d022 [APP] GATTC discover descriptor all result: handle: 0x0019, UUID: 2902 [APP] GATTC discover descriptor all result: handle: 0x001a, UUID: 2803 [APP] GATTC discover descriptor all result: handle: 0x001b, UUID: d023 [APP] GATTC discover descriptor all result: handle: 0x001c, UUID: 2803 [APP] GATTC discover descriptor all result: handle: 0x001d, UUID: d024 [APP] GATTC discover descriptor all result: handle: 0x001e, UUID: 2902 [APP] BLE WiFiMate client discover all success [APP] GATTC discover completed. profile_id: 8, conn_handle: 16, type: 5 [APP] BLE WiFiMate client negotiate key: algo_type(0) key(00-00-00-00-00-00-00-00-00-00-00-00-00)... [APP] BLE WiFiMate client write charac negotiate key success AT+BTDEMO=ble_wifimate_configurator,wifi_scan,16 [MEM] After do cmd, available heap 2333376 # [APP] BLE WiFiMate client write charac wifi scan enable success [APP] BLE WiFiMate wifi scan info checksum pass! [APP] WiFi scan info: ssid=zzy_test, rssi=-9, security=12, channel=7 [APP] WiFi scan info: ssid=test_ap_2.4G, rssi=-12, security=12, channel=6 [APP] WiFi scan info: ssid=BT2SD2, rssi=-17, security=10, channel=11 [APP] WiFi scan info: ssid=ats_test, rssi=-27, security=7, channel=7 [APP] WiFi scan info: ssid=wn_lg_24_7, rssi=-27, security=10, channel=7 [APP] WiFi scan info: ssid=iteAP, rssi=-29, security=14, channel=4 [APP] WiFi scan info: ssid=TP-LINK_F18B, rssi=-29, security=14, channel=6 [APP] WiFi scan info: ssid=CMCC-2X9d, rssi=-29, security=10, channel=11 [APP] WiFi scan info: ssid=, rssi=-29, security=10, channel=11 [APP] WiFi scan info: ssid=TP-LINK_1524, rssi=-30, security=10, channel=1 [APP] WiFi scan info: ssid=, rssi=-30, security=10, channel=1 [APP] WiFi scan info: ssid=James_TP, rssi=-30, security=10, channel=6 [APP] WiFi scan info: ssid=WN_BT, rssi=-31, security=10, channel=11 [APP] WiFi scan info: ssid=AXE11000-2.4G, rssi=-32, security=0, channel=6 [APP] WiFi scan info: ssid=, rssi=-32, security=10, channel=11 [APP] WiFi scan info: ssid=WN_LG2, rssi=-34, security=10, channel=6 [APP] WiFi scan info: ssid=qwer, rssi=-34, security=0, channel=7 [APP] WiFi scan info: ssid=lll, rssi=-35, security=14, channel=4 [APP] WiFi scan info: ssid=Xiaomi_04E0, rssi=-35, security=12, channel=4 [APP] WiFi scan info: ssid=, rssi=-35, security=10, channel=6 [APP] WiFi scan info: ssid=ChinaNet-sgte, rssi=-37, security=7, channel=1 [APP] WiFi scan info: ssid=@Ruijie-sC737, rssi=-40, security=10, channel=12 [APP] WiFi scan info: ssid=test_ap_5G, rssi=-48, security=14, channel=161 [APP] WiFi scan info: ssid=HONOR, rssi=-49, security=7, channel=1 [APP] WiFi scan info: ssid=ats_test_5g, rssi=-50, security=14, channel=153 [APP] WiFi scan info: ssid=zzy_test_5g, rssi=-54, security=11, channel=60 [APP] WiFi scan info: ssid=ASUS_00_2G, rssi=-56, security=7, channel=11 [APP] WiFi scan info: ssid=wn_lg_5g, rssi=-56, security=10, channel=36 [APP] WiFi scan info: ssid=TP-LINK_1524, rssi=-56, security=10, channel=48 [APP] WiFi scan info: ssid=, rssi=-56, security=10, channel=48 [APP] WiFi scan info: ssid=TP-LINK_CTS, rssi=-57, security=10, channel=11 [APP] WiFi scan info: ssid=@Ruijie-sC737_5G, rssi=-57, security=14, channel=149 [APP] WiFi scan info: ssid=, rssi=-60, security=10, channel=11 [APP] WiFi scan info: ssid=wwwww, rssi=-60, security=7, channel=149 [APP] WiFi scan info: ssid=WN_BT, rssi=-62, security=10, channel=44 [APP] WiFi scan info: ssid=, rssi=-63, security=10, channel=44 [APP] WiFi scan info: ssid=TP-LINK_5G_F18B, rssi=-64, security=14, channel=149 [APP] WiFi scan info: ssid=, rssi=-64, security=10, channel=149 [APP] WiFi scan info: ssid=CMCC-U25Z, rssi=-65, security=10, channel=153 [APP] WiFi scan info: ssid=, rssi=-65, security=10, channel=153 [APP] WiFi scan info: ssid=RealOffice, rssi=-66, security=7, channel=157 [APP] WiFi scan info: ssid=RealGuest, rssi=-67, security=7, channel=157 [APP] WiFi scan info: ssid=OT-2Q5K, rssi=-68, security=10, channel=48 [APP] WiFi scan info: ssid=ASUS_00_5G, rssi=-68, security=12, channel=149 [APP] WiFi scan info: ssid=, rssi=-69, security=10, channel=48 [APP] WiFi scan info: ssid=WN_BT, rssi=-69, security=10, channel=153 [APP] WiFi scan info: ssid=, rssi=-69, security=10, channel=153 [APP] WiFi scan info: ssid=Xiaomi_04E0_5G, rssi=-69, security=12, channel=153 [APP] WiFi scan info: ssid=, rssi=-69, security=7, channel=153 [APP] WiFi scan info: ssid=RealOffice, rssi=-70, security=7, channel=40 [APP] WiFi scan info: ssid=RealGuest, rssi=-70, security=7, channel=40 [APP] WiFi scan info: ssid=RealGuest, rssi=-71, security=7, channel=161 [APP] WiFi scan info: ssid=HONOR_5G, rssi=-72, security=14, channel=44 [APP] WiFi scan info: ssid=TP-LINK_CTS, rssi=-72, security=10, channel=149 [APP] WiFi scan info: ssid=, rssi=-72, security=10, channel=149 [APP] WiFi scan info: ssid=Biubiubiu_5G, rssi=-76, security=11, channel=157 [APP] WiFi scan info: ssid=RealOffice, rssi=-79, security=7, channel=40 [APP] WiFi scan info: ssid=RealGuest, rssi=-79, security=7, channel=40 [APP] WiFi scan info: ssid=ChinaNet-sgte, rssi=-80, security=7, channel=149 [APP] WiFi scan info: ssid=TP-LINK_Demo, rssi=-81, security=10, channel=153 [APP] WiFi scan info: ssid=RealOffice, rssi=-82, security=7, channel=56 [APP] WiFi scan info: ssid=, rssi=-82, security=10, channel=153 [APP] WiFi scan info: ssid=NICLab-R7000-5G, rssi=-82, security=7, channel=161 [APP] WiFi scan info: ssid=, rssi=-84, security=7, channel=153 [APP] BLE WiFiMate wifi scan num=64
接着使用 AT 命令
AT+BTDEMO=ble_wifimate_configurator,wifi_connect,<conn_handle>,<ssid>,<security>,<password>
可以给 Device 配网。AT+BTDEMO=ble_wifimate_configurator,wifi_connect,16,test_ap_2.4G,12,12345678 [AT+BTDEMO] BLE wifimate configurator conn_handle=16, ssid_len=12, ssid=test_ap_2.4G, security=12, password_len=8, password=12345678 [MEM] After do cmd, available heap 2333312 # [APP] BLE WiFiMate Client conn_handle=16, wifi_state=1, err_code=0 [APP] Disconnected, reason: 0x113, handle: 16, role: master, remote device: 00:E0:4C:80:0E:41(public) [APP] GATTC Profiles detach connection success, conn_handle: 16
使用 AT 命令
AT+BTDEMO=ble_wifimate_configurator,1
可以使能 WiFiMate Device 功能。AT+BTDEMO=ble_wifimate_device,1 bt ant 1 [WLAN-A] IPS out Bluetooth init BT_ADDR in cfgbuf [00:e0:4c:80:0e:41] HCI Revision is 0x000e, LMP Subversion is 0x8730. Set baudrate to 3000000 success! Signature check success: Merge patch v3 FW Version: 20250513111223 FW Length: 82449 Start upper stack bt_stack_mgr_cback: bt_ready, bd_addr 00:e0:4c:80:0e:41 [APP] BD_ADDR: 00:E0:4C:80:0E:41(public) [APP] BLE WiFiMate service register succeed! Ble wifimate device example enable OK! [MEM] After do cmd, available heap 2333760 # [APP] ADV started: adv_type 0