日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ble_host

更新時(shí)間:

更正文檔

概述

AliOS Things 3.3提供支持符合藍(lán)牙4.0/4.2/5.0核心協(xié)議規(guī)范的BLE Host軟件協(xié)議棧組件,方便用戶使用藍(lán)牙BLE功能。ble_host組件功能框圖如下圖紅色部分:

功能支持

ble_host組件主要支持如下功能:

  • Generic Access Profile(GAP)角色支持

  • Peripheral&Central

  • Observer&Broadcaster

  • Generic Attribute Profile(GATT)連接支持

  • GATT client

  • GATT server

  • Security Manager(SM)支持

  • Legacy Pairing

  • 多安全等級(jí)設(shè)定Security Level 1, 2, 3, 4

  • 安全連接Security Connection

  • LE Privacy(RPA地址生成)

  • HCI接口支持

  • 標(biāo)準(zhǔn)HCI接口,支持host-only,host通過HCI硬件接口(以UART為主)和controller對(duì)接

  • 虛擬HCI接口,支持host+controller,適合SoC的硬件平臺(tái)

版權(quán)說明

說明

Apache license v2.0

目錄結(jié)構(gòu)

|-- ble_profiles             #BLE服務(wù)
|-- bt_crypto                #BLE安全
|-- bt_defconfig             #BLE配置項(xiàng)
|-- bt_host                  #BLE Host核心代碼
|-- bt_preconfig             #BLE預(yù)配置項(xiàng)
|-- bt_shell                 #BLE控制臺(tái)命令
|-- include                  #頭文件
|-- package.yaml             #makefile
|-- README.md                #README文檔
|-- SConscript
|-- script

依賴組件

  • osal_aos

常用配置

無。

配置列表

配置在組件的package.yaml中定義,均已默認(rèn)打開,用戶可根據(jù)需求裁剪。

CONFIG_BT_CENTRAL

BLE Central角色功能開關(guān)

CONFIG_BT_PERIPHERAL

BLE 外設(shè)角色功能開關(guān)

CONFIG_BT_SMP

BLE SMP功能開關(guān)

CONFIG_BT_GATT_CLIENT

BLE GATT Client功能開關(guān)

CONFIG_BT_OBSERVER

BLE 廣播掃描功能開關(guān)

API說明

API列表

ble_stack_init

BLE協(xié)議棧初始化

ble_stack_event_register

注冊(cè)BLE事件處理函數(shù)

ble_stack_adv_start

BLE 廣播開始

ble_stack_adv_stop

BLE 廣播停止

ble_stack_scan_start

BLE 掃描開始

ble_stack_scan_stop

BLE 掃描停止

ble_stack_gatt_mtu_get

GATT,獲取當(dāng)前連接MTU大小

ble_stack_gatt_registe_service

GATT server,服務(wù)注冊(cè)

ble_stack_gatt_notificate

GATT server,屬性notificate方式上報(bào)

ble_stack_gatt_indicate

GATT server,屬性indicate方式上報(bào)

ble_stack_gatt_mtu_exchange

GATT client,協(xié)商MTU大小

ble_stack_gatt_discovery

GATT client,發(fā)現(xiàn)對(duì)端GATT服務(wù)

ble_stack_gatt_read

GATT client,讀取對(duì)端GATT server屬性

ble_stack_gatt_read_multiple

GATT client,讀取對(duì)端GATT server多個(gè)屬性

ble_stack_gatt_write

GATT client,寫入對(duì)端GATT server屬性

ble_stack_connect

開始BLE連接

ble_stack_disconnect

斷開BLE連接

ble_stack_connect_param_update

BLE連接參數(shù)協(xié)商

ble_stack_security

BLE連接安全等級(jí)設(shè)置

ble_stack_iocapability_set

BLE SMP IO能力配置

ble_stack_smp_cancel

BLE SMP配對(duì)請(qǐng)求取消

ble_stack_smp_passkey_entry

BLE SMP passkey輸入

ble_stack_smp_passkey_confirm

BLE SMP passkey確認(rèn)

ble_stack_dev_unpair

PIN SMP配對(duì)解綁

API詳情

ble_stack_init

BLE模塊初始化。函數(shù)原型

int ble_stack_init(init_param_t *param)

輸入?yún)?shù)

args

description

param.dev_name

設(shè)備名,string類型,不超過28字符

param.dev_addr

設(shè)備mac地址,僅設(shè)置為random類型時(shí)生效

param.conn_num_max

最大連接數(shù)

返回參數(shù)0:成功, 其他值:失敗。

ble_stack_event_register

注冊(cè)BLE協(xié)議棧事件回調(diào)函數(shù)。注意:入?yún)⒉荒苁且粋€(gè)局部變量。函數(shù)原型

int ble_stack_event_register(ble_event_cb_t *callback)

輸入?yún)?shù)

args

description

callback.callback

回調(diào)函數(shù)

callback.next

無需填寫,由API函數(shù)處理

返回參數(shù)0:成功, 其他值:失敗。

ble_stack_adv_start

打開BLE廣播功能。函數(shù)原型

int ble_stack_adv_start(adv_param_t *param)

輸入?yún)?shù)

args

description

param.type

廣播類型,定義如下 0x00 普通廣播 0x01 直連廣播 0x02 可連接可掃描廣播 0x03 不可連接廣播, 0x04 低占空直連廣播

param.ad

ADV廣播內(nèi)容數(shù)組

param.sd

Scan Response廣播內(nèi)容數(shù)組

param.ad_num

ADV廣播內(nèi)容數(shù)組大小

param.sd_num

Scan Response廣播內(nèi)容數(shù)組大小

param.interval_min

廣播發(fā)送間隔最小值

param.interval_max

廣播發(fā)送間隔最大值

param.filter_policy

廣播過濾開關(guān),定義如下 0x00 接受所有連接與掃描請(qǐng)求 0x01 接受所有連接請(qǐng)求,接受白名單設(shè)備的掃描請(qǐng)求 0x02 接受白名單的連接請(qǐng)求,接受所有掃描請(qǐng)求 0x03 僅接受白名單內(nèi)的掃描與連接請(qǐng)求

param.channel_map

廣播信道設(shè)置, bit0: 37信道 bit1: 38信道 bit2: 39信道

param.direct_peer_addr

直連廣播設(shè)備地址,僅在廣播類型為直連類型時(shí)才生效

返回參數(shù)0:成功, 其他值:失敗。

ble_stack_adv_stop

關(guān)閉BLE廣播功能。函數(shù)原型

int ble_stack_adv_stop()

輸入?yún)?shù)

args

description

返回參數(shù)0:成功, 其他值:失敗。

ble_stack_scan_start

打開BLE掃描功能。函數(shù)原型

int ble_stack_scan_start(const scan_param_t *param)

輸入?yún)?shù)

args

description

param.type

掃描類型,定義如下 0x00 被動(dòng)掃描 0x01 主動(dòng)掃描

param.filter_dup

重復(fù)設(shè)備上報(bào)過濾開關(guān),定義如下 0x00 關(guān)閉過濾 0x01 開啟過濾

param.interval

掃描間隔,單位為0.625毫秒

param.window

掃描窗大小,單位為0.625毫秒

param.scan_filter

掃描過濾類型,定義如下 0x00 所有廣播均上報(bào) 0x01 僅白名單設(shè)備的廣播上報(bào)

返回參數(shù)0:成功, 其他值:失敗。

ble_stack_scan_stop

關(guān)閉BLE掃描功能。異步事件,掃描結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GAP_DEV_FIND函數(shù)原型

int ble_stack_scan_stop()

輸入?yún)?shù)

args

description

返回值0:成功, 其他值:失敗。

ble_stack_gatt_mtu_get

獲取一個(gè)連接的當(dāng)前MTU大小函數(shù)原型

int ble_stack_gatt_mtu_get(int16_t conn_handle)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

返回值23-65535: MTU大小

ble_stack_gatt_registe_service

注冊(cè)一個(gè)GATT服務(wù)函數(shù)原型

int ble_stack_gatt_registe_service(gatt_service *s, gatt_attr_t attrs[], uint16_t attr_num)

輸入?yún)?shù)

args

description

s.bt_gatt_attr

無需填寫,由API賦值

s.attr_count

無需填寫,由API賦值

s.node

無需填寫,由API賦值

attrs

屬性列表

attr_num

屬性列表大小

返回值0:成功, 其他值:失敗。

ble_stack_gatt_notificate

GATT服務(wù)某個(gè)屬性值上報(bào),此上報(bào)方式無需GATT Client回復(fù)函數(shù)原型

int ble_stack_gatt_notificate(int16_t conn_handle, uint16_t char_handle, const uint8_t *data, uint16_t len)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

char_handle

屬性句柄,在注冊(cè)服務(wù)時(shí)分配

data

上報(bào)數(shù)據(jù)指針

len

上報(bào)數(shù)據(jù)長(zhǎng)度

返回值0:成功, 其他值:失敗。

ble_stack_gatt_indicate

GATT服務(wù)某個(gè)屬性值上報(bào),此上報(bào)方式GATT Client回復(fù)confirm。函數(shù)原型

int ble_stack_gatt_indicate(int16_t conn_handle, int16_t char_handle, const uint8_t *data, uint16_t len)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

char_handle

屬性句柄,在注冊(cè)服務(wù)時(shí)分配

data

上報(bào)數(shù)據(jù)指針

len

上報(bào)數(shù)據(jù)長(zhǎng)度

返回值0:成功, 其他值:失敗。

ble_stack_gatt_mtu_exchange

GATT Client功能,確保配置項(xiàng)CONFIG_BT_GATT_CLIENT配置。GATT協(xié)商MTU大小,協(xié)商大小由配置項(xiàng)CONFIG_BT_L2CAP_RX_MTU與CONFIG_BT_L2CAP_TX_MTU的最小值以及對(duì)端設(shè)備的回復(fù)決定。異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GATT_MTU_EXCHANGE函數(shù)原型

int ble_stack_gatt_mtu_exchange(int16_t conn_handle)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

返回值0:成功, 其他值:失敗。

ble_stack_gatt_discovery

GATT Client功能,確保配置項(xiàng)CONFIG_BT_GATT_CLIENT配置。GATT服務(wù)或者屬性項(xiàng)發(fā)現(xiàn)。異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件根據(jù)入?yún)⒉煌煌?/p>

函數(shù)原型

int ble_stack_gatt_discovery(int16_t conn_handle,
                             gatt_discovery_type_en type,
                             uuid_t *uuid,
                             uint16_t start_handle,
                             uint16_t end_handle)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

type

GATT發(fā)現(xiàn)類型,定義如下 0x00 發(fā)現(xiàn)主服務(wù) 0x01 發(fā)現(xiàn)包含服務(wù) 0x02 發(fā)現(xiàn)屬性項(xiàng) 0x03 發(fā)現(xiàn)屬性描述項(xiàng)

uuid

需要發(fā)現(xiàn)的UUID值

start_handle

發(fā)現(xiàn)起始句柄

end_handle

發(fā)現(xiàn)結(jié)束句柄

返回值0:成功, 其他值:失敗。

ble_stack_gatt_read

GATT Client功能,確保配置項(xiàng)CONFIG_BT_GATT_CLIENT配置。GATT讀取某個(gè)屬性項(xiàng)的屬性值異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GATT_CHAR_READ_CB函數(shù)原型

int ble_stack_gatt_read(int16_t conn_handle, uint16_t attr_handle, uint16_t offset)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

attr_handle

讀取的屬性項(xiàng)句柄

offset

讀取起始位置

返回值0:成功, 其他值:失敗。

ble_stack_gatt_read_multiple

GATT Client功能,確保配置項(xiàng)CONFIG_BT_GATT_CLIENT配置。GATT讀取多個(gè)屬性項(xiàng)的屬性值異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GATT_CHAR_READ_CB函數(shù)原型

int ble_stack_gatt_read_multiple(int16_t conn_handle, uint16_t attr_count, uint16_t attr_handle[])

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

attr_count

讀取的屬性項(xiàng)列表大小

attr_handle

讀取的屬性項(xiàng)句柄列表

返回值0:成功, 其他值:失敗。

ble_stack_gatt_write

GATT Client功能,確保配置項(xiàng)CONFIG_BT_GATT_CLIENT配置。GATT寫入某個(gè)屬性項(xiàng)的屬性值異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GATT_CHAR_WRITE_CB函數(shù)原型

int ble_stack_gatt_write(int16_t conn_handle, uint16_t attr_handle, uint8_t *data, uint16_t len, uint16_t offset, gatt_write_en type)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

attr_handle

寫入的屬性項(xiàng)句柄

data

寫入的數(shù)據(jù)指針

len

寫入的數(shù)據(jù)長(zhǎng)度

offset

寫入到屬性項(xiàng)的起始位置

type

寫入類型,定義如下 0x00 帶回復(fù)寫入 0x01 不帶回復(fù)寫入 0x02 帶簽名寫入

返回值0:成功, 其他值:失敗。

ble_stack_gatt_read_multiple

GATT Client功能,確保配置項(xiàng)CONFIG_BT_GATT_CLIENT配置。此函數(shù)用于GATT讀取多個(gè)屬性項(xiàng)的屬性值。異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GATT_CHAR_READ_CB函數(shù)原型

int ble_stack_gatt_read_multiple(int16_t conn_handle, uint16_t attr_count, uint16_t attr_handle[])

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接成功后分配

attr_count

讀取的屬性項(xiàng)列表大小

attr_handle

讀取的屬性項(xiàng)句柄列表

返回值0:成功, 其他值:失敗。

ble_stack_connect

BLE連接功能,確保配置項(xiàng)CONFIG_BT_CONN配置。此函數(shù)用于BLE連接某個(gè)設(shè)備。異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GATT_CONN_CHANGE函數(shù)原型

int ble_stack_connect(dev_addr_t *peer_addr, conn_param_t *param, uint8_t auto_connect)

輸入?yún)?shù)

args

description

peer_addr.type

對(duì)端設(shè)備的地址類型

peer_addr.val

對(duì)端設(shè)備的藍(lán)牙地址

param.interval_min

連接間隔最小值參數(shù),單位是0.625毫秒

param.interval_max

連接間隔最大值參數(shù),單位是0.625毫秒

param.lantency

連接延遲參數(shù),單位是連接間隔,注意此時(shí)間長(zhǎng)度不能超過timeout參數(shù)的一半。

param.timeout

連接超時(shí)參數(shù),單位10ms

auto_connect

是否自動(dòng)連接定義如下 0x00 不自動(dòng)連接 0x01 自動(dòng)連接

返回值0:成功, 其他值:失敗。

ble_stack_disconnect

BLE連接功能,確保配置項(xiàng)CONFIG_BT_CONN配置。此函數(shù)用于BLE斷開某個(gè)設(shè)備的連接。異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GATT_CONN_CHANGE函數(shù)原型

int ble_stack_disconnect(int16_t conn_handle)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接事件中返回

返回值0:成功, 其他值:失敗。

ble_stack_connect_param_update

BLE連接功能,確保配置項(xiàng)CONFIG_BT_CONN配置。此函數(shù)用于BLE修改某個(gè)連接的連接參數(shù)。異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GAP_CONN_PARAM_UPDATE函數(shù)原型

int ble_stack_connect_param_update(int16_t conn_handle, conn_param_t *param)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接事件中返回

param.interval_min

連接間隔最小值參數(shù),單位是0.625毫秒

param.interval_max

連接間隔最大值參數(shù),單位是0.625毫秒

param.lantency

連接延遲參數(shù),單位是連接間隔,注意此時(shí)間長(zhǎng)度不能超過timeout參數(shù)的一半。

param.timeout

連接超時(shí)參數(shù),單位10ms

返回值0:成功, 其他值:失敗。

ble_stack_security

BLE連接功能,確保配置項(xiàng)CONFIG_BT_CONN配置。此函數(shù)用于BLE修改某個(gè)連接的安全參數(shù)。異步事件,執(zhí)行結(jié)果在注冊(cè)的事件回調(diào)函數(shù)中返回,返回事件EVENT_GAP_CONN_SECURITY_CHANGE函數(shù)原型

int ble_stack_security(int16_t conn_handle, security_en level)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接事件中返回

level

安全等級(jí),定義如下 0x00 無安全,無加密無鑒權(quán) 0x01 低安全,等同于0x00 0x02 中安全,有加密無鑒權(quán) 0x03 高安全,有加密有鑒權(quán)

返回值0:成功, 其他值:失敗。

ble_stack_iocapability_set

BLE SMP配對(duì)功能,確保配置項(xiàng)CONFIG_BT_SMP配置。此函數(shù)用于設(shè)置BLE設(shè)備的IO能力,這個(gè)設(shè)置會(huì)在BLE SMP配對(duì)被使用。函數(shù)原型

int ble_stack_iocapability_set(uint8_t io_cap)

輸入?yún)?shù)

args

description

io_cap

IO能力,定義如下 bit0-bit2: 0x01 無輸入 0x02 輸入正確/錯(cuò)誤 0x03 鍵盤輸入 bit3-bit4: 0x00 無輸出 0x01 顯示器輸出

返回值0:成功, 其他值:失敗。

ble_stack_smp_cancel

BLE SMP配對(duì)功能,確保配置項(xiàng)CONFIG_BT_SMP配置。此函數(shù)用于取消當(dāng)前BLE的SMP配對(duì)請(qǐng)求。函數(shù)原型

int ble_stack_smp_cancel(int16_t conn_handle)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接事件中返回

返回值0:成功, 其他值:失敗。

ble_stack_smp_passkey_entry

BLE SMP配對(duì)功能,確保配置項(xiàng)CONFIG_BT_SMP配置。此函數(shù)用于SMP Passkey模式下輸入當(dāng)前passkey,當(dāng)接收到EVENT_SMP_PASSKEY_ENTER后調(diào)用。函數(shù)原型

int ble_stack_smp_passkey_entry(int16_t conn_handle, uint32_t passkey)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接事件中返回

passskey

0-999999之間

返回值0:成功, 其他值:失敗。

ble_stack_smp_passkey_confirm

BLE SMP配對(duì)功能,確保配置項(xiàng)CONFIG_BT_SMP配置。此函數(shù)用于SMP Passkey模式下確認(rèn)當(dāng)前的passkey是否正確,當(dāng)接收到EVENT_SMP_PASSKEY_CONFIRM后調(diào)用。函數(shù)原型

int ble_stack_smp_passkey_confirm(int16_t conn_handle)

輸入?yún)?shù)

args

description

conn_handle

連接句柄,在連接事件中返回

返回值0:成功, 其他值:失敗。

ble_stack_dev_unpair

BLE SMP配對(duì)功能,確保配置項(xiàng)CONFIG_BT_SMP配置。此函數(shù)用于解除某臺(tái)已SMP配對(duì)的設(shè)備的配對(duì),如果連接存在則斷開連接。函數(shù)原型

int ble_stack_dev_unpair(dev_addr_t *peer_addr)

輸入?yún)?shù)

args

description

peer_addr.type

地址類型

peer_addr.val

設(shè)備地址

返回值0:成功, 其他值:失敗。

使用示例

本用例測(cè)試過程中使用到的工具有:

  • 串口工具

  • NRF Connect(手機(jī))

組件使用示例相關(guān)的代碼下載、編譯和固件燒錄均依賴AliOS Things配套的開發(fā)工具,所以首先需要參考《AliOS Things集成開發(fā)環(huán)境使用說明之搭建開發(fā)環(huán)境》,下載安裝。 待開發(fā)環(huán)境搭建完成后,可以按照以下步驟進(jìn)行示例的測(cè)試。

步驟1 創(chuàng)建或打開工程

打開已有工程

如果用于測(cè)試的案例工程已存在,可參考《AliOS Things集成開發(fā)環(huán)境使用說明之打開工程》打開已有工程。

創(chuàng)建新的工程

組件的示例代碼可以通過編譯鏈接到AliOS Things的任意案例(solution)來運(yùn)行,這里選擇helloworld_demo案例。helloworld_demo案例相關(guān)的源代碼下載可參考《AliOS Things集成開發(fā)環(huán)境使用說明之創(chuàng)建工程》

步驟2 添加組件

案例下載完成后,需要在helloworld_demo組件的package.yaml中添加對(duì)組件的依賴:

depends:
  - ble_host: master

步驟3 下載組件

在已安裝了的開發(fā)環(huán)境工具欄中,選擇Terminal -> New Terminal啟動(dòng)終端,并且默認(rèn)工作路徑為當(dāng)前工程的workspace,此時(shí)在終端命令行中輸入:

aos install ble_host

上述命令執(zhí)行成功后,組件源碼則被下載到了./components/ble_host路徑中。

步驟4 添加示例

修改solutions/helloworld_demo/helloworld_demo.c,如下:

頭文件修改

#include <aos/ble.h>
#include <atomic.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/gatt.h>
#include <bluetooth/uuid.h>

代碼修改

#define EXAMPLE_BLE_DEV_NAME        "HaaS BLE"
#define DEVICE_ADDR                 {0xE8,0x3B,0xE3,0x88,0xB4,0xC8}

int application_start(int argc, char *argv[])
{
    int count = 0;
    int ret;
    dev_addr_t addr = {DEV_ADDR_LE_RANDOM, DEVICE_ADDR};
    init_param_t init = {
        .dev_name = EXAMPLE_BLE_DEV_NAME,
        .dev_addr = &addr,   //&addr,
        .conn_num_max = 1,
    };

    printf("nano entry here!\r\n");

#if 1
    /* bt stack init */
    ret = ble_stack_init(&init);
    if (ret) {
        printf("error: ble_stack_init!, ret = %x\r\n", ret);
        return -1;
    }
#endif

    while(1) {
        printf("hello world! count %d \r\n", count++);
        aos_msleep(1000);
    };
}

步驟5 編譯固件

在示例代碼已經(jīng)添加至組件的配置文件,并且helloworld_demo已添加了對(duì)該組件的依賴后,就可以編譯helloworld_demo案例來生成固件了,具體編譯方法可參考《AliOS Things集成開發(fā)環(huán)境使用說明之編譯固件》

步驟6 燒錄固件

helloworld_demo案例的固件生成后,可參考《AliOS Things集成開發(fā)環(huán)境使用說明之燒錄固件》來燒錄固件。

步驟7 打開串口

固件燒錄完成后,可以通過串口查看示例的運(yùn)行結(jié)果,打開串口的具體方法可參考《AliOS Things集成開發(fā)環(huán)境使用說明之查看日志》

當(dāng)串口終端打開成功后,可在串口中輸入help來查看已添加的測(cè)試命令。

步驟8 測(cè)試示例

打開串口工具,在串口工具中輸入ble,可看到ble的cli命令集。

BLE廣播與連接測(cè)試

在串口工具中輸入ble adv start 020106,可以在串口日志中看到如下打印

adv_type:0;adv_interval_min:160 (*0.625)ms;adv_interval_max:240 (*0.625)ms
Advertising started

此時(shí)在手機(jī)端打開NRF Connect工具并搜索廣播包,可以看到設(shè)備。

點(diǎn)擊連接,可以看到Generic Access(GAP)和Generic Attribute(GATT)2個(gè)服務(wù),點(diǎn)擊GAP服務(wù)的Device Name的讀取按鍵(下圖紅色圈中的箭頭),可以讀取到數(shù)值“HaaS BLE”

常見問題

Q:此協(xié)議棧是否支持藍(lán)牙音樂播放 A:不支持經(jīng)典藍(lán)牙功能,僅支持BLE功能

Q:常見的GATT Service是否支持 A:支持,包括BAS,DIS,HIDS等等,詳情請(qǐng)參考ble_host/ble_profiles文件下的實(shí)現(xiàn)。