ArduinoBLE函数库中文.docx

上传人:b****6 文档编号:5547346 上传时间:2022-12-19 格式:DOCX 页数:42 大小:40.12KB
下载 相关 举报
ArduinoBLE函数库中文.docx_第1页
第1页 / 共42页
ArduinoBLE函数库中文.docx_第2页
第2页 / 共42页
ArduinoBLE函数库中文.docx_第3页
第3页 / 共42页
ArduinoBLE函数库中文.docx_第4页
第4页 / 共42页
ArduinoBLE函数库中文.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

ArduinoBLE函数库中文.docx

《ArduinoBLE函数库中文.docx》由会员分享,可在线阅读,更多相关《ArduinoBLE函数库中文.docx(42页珍藏版)》请在冰豆网上搜索。

ArduinoBLE函数库中文.docx

ArduinoBLE函数库中文

Arduino-BLE-函数库中文

备注:

ArduinoFunction:

 BLEPeripheral.connected()

(缺失)

 

ArduinoBLE函数库

描述

蓝牙低功耗(BLE)协议从蓝牙规范版本4.0开始。

虽然以前的规范只允许制作一种无线UART,但该版本允许更智能的资源使用。

结果是适用于大多数具有限制能量需求的芯片的低功率通信。

BLE协议由多个角色组成。

BLE节点可以作为外设,中央,广播和观察者。

广播角色周期性地发送具有数据的广告包。

它不支持建立连接。

理论上,广播机构的角色可以用于仅发射机的无线电。

观察者角色收听来自广播对等体的广告数据包中嵌入的数据。

中心是能够建立到对等体的多个连接的设备。

中心角色始终是连接的发起者,并且基本上允许设备进入网络。

外设使用广告包来允许中心找到它,并且随后建立与之的连接。

BLE协议经过优化,至少在处理能力和内存方面要求极少的外设实现资源。

中央和外围设备不得与客户端和服务器错误。

他们之间没有联系。

中央和外围设备可以是客户机,服务器或两者,具体取决于应用

 

数据结构

BLE数据结构分层组成。

属性是定义的最小数据实体。

属性被分组到服务中,每个服务可以包含零个或多个特征。

这些特征又可以包括零个或多个描述符。

每个服务,特征和描述符都由UUID标识。

通用唯一标识符(UUID)是保证(或具有高概率)的全局唯一的128位(16字节)数字。

您可以定义自己的UUID或使用标准的UUID。

每个属性都可以有权限。

权限是指定可以对每个特定属性执行哪些操作以及具体安全要求的元数据。

广告包(广播包)

广告包是周边中心知道可用的方式。

在广告包中有关于外设的主要信息。

广告包长度为31字节,并且必须符合减少内部有效信息数量的特定格式。

如果中心想要进一步的信息,它可以发送一个扫描请求来请求另一个称为扫描响应的数据包,以便拥有其他31字节的信息。

如果您没有足够的数据传输,并且31字节(或62个最终)广告数据包就足够了,您可以实现广播者角色并传输数据,而无需建立连接。

如果您有更多的数据要传输,则必须执行外设角色进行传输。

有关广告包的进一步信息可以在此链接中找到,其中包含对此参数的基本介绍。

更多信息

在本节中,我们尝试简要介绍BLE标准。

然而,BLE标准比这更广泛。

如果你想加深一些争论,那里是链接到BLE标准规范:

有关BLE的其他有用信息及其在nRF52上的工作方式可以在北欧半导体网站上找到:

北欧还提供了一个有用的应用程序,通过BLE与您的板进行交互。

使用此应用程序可以读写特性并调试BLE通信:

相关功能

这个库由多个类组成:

BLEPeripheralRole(或BLEPeripheral)用于启用具有外设角色的BLE模块

BLECentralRole用于使BLE模块具有中心作用

表示外设连接的设备的BLECentralPeer(或BLECentral)

表示中央连接的设备的BLEPeripheralPeer

BLEService用于启用电路板提供的服务

BLECharacteristic用于实现电路板提供的特性

BLED描述符用于描述其所指的特征

 

由arduino.org撰写

函数介绍

BLE:

BLEPeripheralRole

BLEPeripheralRole是BLE库的一部分,

允许您使用BLE来让您的电路板充当外设和广播角色。

该库由SandeepMistry的BLEPeripheral库导出。

该类的旧名称已被维护,以保持与该库完全兼容。

这意味着该类可以称为BLEPeripheralRole或BLEPeripheralindistinclty。

 

ArduinoFunction:

BLEPeripheralConstructor

名称

BLEPeripheral

描述

BLEPeripheral类的构造方法

句法

BLEPeripheralblePeripheral=BLEPeripheral();

参数

无void

返回

没有

ArduinoFunction:

BLEPeripheral.begin

名称

begin

描述

开始初始化BLEPeripheral对象并开始广告。

句法

blePeripheral.begin();

参数

无void

返回

没有

ArduinoFunction:

BLEPeripheral.poll

名称

轮询

描述

为事件对广播进行轮询(询问)

句法

blePeripheral.poll();

参数

空虚

返回

没有

注意

此功能仅为了向后兼容而保留。

即使未调用此功能,所有BLE事件都将被转发。

ArduinoFunction:

BLEPeripheral.end

名称

结束

描述

断开连接中央,停止广告,并禁用广播。

句法

blePeripheral.end();

参数

空虚

返回

没有

ArduinoFunction:

BLEPeripheral.setAdvertisedServiceUuid

setServiceSolicitationUuid

描述

发布服务的UUID作为参数传递。

服务请求的用途是指示外设希望通过具有该特定服务的设备来连接。

句法

blePeripheral.setServiceSolicitationUuid(UUID);

参数

uuid:

constchar*。

要广播的UUID

返回

没有

注意

您可以多次调用此功能来发布多个UUID。

由于广告包长度,广告UUID的最大数量有限制。

广告包的最大长度为62字节(分为广告包的31个字节和扫描响应包的31个字节),因此广告的UUID的最大数量被这个限制所限制,其他的你可能想要做广告作为设备名称,外观等)。

ArduinoFunction:

BLEPeripheral.setServiceSolicitationUuid

名称

setServiceSolicitationUuid

描述

发布服务的UUID作为参数传递。

服务请求的用途是指示外设希望通过具有该特定服务的设备来连接。

句法

blePeripheral.setServiceSolicitationUuid(UUID);

参数

uuid:

constchar*。

要广告的UUID

返回

没有

ArduinoFunction:

BLEPeripheral.setManufacturerData

名称

setManufacturerData

描述

使用广告包发送个性化数据。

句法

blePeripheral.setManufacturerData(manufacturerData,dataLength);

参数

manufacturerData:

constunsignedchar[]。

要发布的字节数组。

dataLength:

数组长度,最多26字节。

返回

没有

ArduinoFunction:

BLEPeripheral.setLocalName

名称

setLocalName

描述

设置将为该设备发布的本地名称。

句法

blePeripheral.setLocalName(“本地名”);

参数

constchar*

返回

没有

ArduinoFunction:

BLEPeripheral.setAdvertisingInterval

名称

setAdvertisingInterval

描述

设置广告间隔为毫秒,默认为100毫秒。

句法

blePeripheral.setAdvertisingInterval(MS);

参数

ms:

unsignedshort。

两个广告包之间的间隔

返回

没有

ArduinoFunction:

BLEPeripheral.setConnectionInterval

名称

setConnectionInterval

描述

配置在与Central连接期间使用的参数。

句法

blePeripheral.setConnectionInterval(minimumConnectionInterval,maximumConnectionInterval);

参数

minimumConnectionInterval:

unsignedshort。

最小连接间隔,以1.25ms为增量。

maximumConnectionInterval:

unsignedshort。

最大连接间隔,以1.25ms为增量。

 

ArduinoFunction:

BLEPeripheral.setTxPower

名称

setTxPower

描述

将TX功率设置为dBm,默认值为0dBm。

句法

blePeripheral.setTxPower(TXPOWER);

参数

txPower:

int。

TX功率(dBm)。

返回

 bool:

成功之后,否则为false。

注意

只能精确地设置某些值,否则使用下一个可设置值:

-40,-30,-20,-16,-12,-8,-4,0,4

 

ArduinoFunction:

BLEPeripheral.setConnectable

名称

setConnectable

描述

使外设可连接(**默认**)或不可连接(仅限广播)。

句法

blePeripheral.setConnectable(连接);

参数

可连接:

bool。

如果您希望板可连接,则为真,否则为false。

返回

没有

ArduinoFunction:

BLEPeripheral.setBondStore

名称

setBondStore

描述

使用作为参数传递的bondstore作为连接的绑定数据。

句法

blePeripheral.setBondStore(bondStore);

参数

bondStore:

BLEBondStore&。

BLEBondStore对象

返回

没有

ArduinoFunction:

BLEPeripheral.enableBond

名称

enableBond

描述

启用bonding并配置要使用的粘合类型。

一旦bonding过程完成,bond数据将被永久保存,即使在断电后,即使与同一远程对等体进一步连接,设备也将被bond。

要删除bond信息,请参阅clearBondStoreData函数。

句法

blePeripheral.enableBond(bondType);

参数

bondType:

BLEBondingType

-值:

JUST_WORKS,

DISPLAY_PASSKEY,

返回

没有

注意

如果未选择参数,则将选择默认参数(JUST_WORKS)

ArduinoFunction:

BLEPeripheral.clearBondStoreData

名称

clearBondStoreData

描述

清除债券数据。

句法

bleHIDPeripheral.clearBondStoreData();

参数

空虚

返回

没有

ArduinoFunction:

BLEPeripheral.getPasskey

名称

getPasskey

描述

用于获得必须在本地确认或插入中央设备的绑定过程中生成的密钥的功能(取决于使用enableBond()函数选择的绑定类型),以便完成绑定。

句法

blePeripheral.getPasskey();

参数

空虚

返回

char*:

生成密钥。

ArduinoFunction:

BLEPeripheral.sendPasskey

名称

sendPasskey

描述

发送其他设备生成的密钥以完成绑定过程的功能。

句法

blePeripheral.sendPasskey(passkey);

参数

passkey:

charpasskey[]。

包含密码的字符数组。

返回

没有

ArduinoFunction:

BLEPeripheral.setDeviceName

名称

setDeviceName

描述

设置设备的名称。

句法

setDeviceName(deviceName);

参数

deviceName:

constchar*。

设备名称

返回

没有

ArduinoFunction:

BLEPeripheral.setAppearance

名称

setAppearance

描述

设置董事会发布的外观。

 

句法

blePeripheral.setAppearance(appearance);

参数

appearance:

unsignedshort.外观要广告。

参数:

BLE_APPEARANCE_UNKNOWN

BLE_APPEARANCE_GENERIC_PHONE

BLE_APPEARANCE_GENERIC_COMPUTER

BLE_APPEARANCE_GENERIC_WATCH

BLE_APPEARANCE_WATCH_SPORTS_WATCH

BLE_APPEARANCE_GENERIC_CLOCK

BLE_APPEARANCE_GENERIC_DISPLAY

BLE_APPEARANCE_GENERIC_REMOTE_CONTROL

BLE_APPEARANCE_GENERIC_EYE_GLASSES

BLE_APPEARANCE_GENERIC_TAG

BLE_APPEARANCE_GENERIC_KEYRING

BLE_APPEARANCE_GENERIC_MEDIA_PLAYER

BLE_APPEARANCE_GENERIC_BARCODE_SCANNER

BLE_APPEARANCE_GENERIC_THERMOMETER

BLE_APPEARANCE_THERMOMETER_EAR

BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR

BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT

BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE

BLE_APPEARANCE_BLOOD_PRESSURE_ARM

BLE_APPEARANCE_BLOOD_PRESSURE_WRIST

BLE_APPEARANCE_GENERIC_HID

BLE_APPEARANCE_HID_KEYBOARD

BLE_APPEARANCE_HID_MOUSE

BLE_APPEARANCE_HID_JOYSTICK

BLE_APPEARANCE_HID_GAMEPAD

BLE_APPEARANCE_HID_DIGITIZERSUBTYPE

BLE_APPEARANCE_HID_CARD_READER

BLE_APPEARANCE_HID_DIGITAL_PEN

BLE_APPEARANCE_HID_BARCODE

BLE_APPEARANCE_GENERIC_GLUCOSE_METER

BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR

BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE

BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE

BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP

BLE_APPEARANCE_GENERIC_CYCLING

BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER

BLE_APPEARANCE_CYCLING_SPEED_SENSOR

BLE_APPEARANCE_CYCLING_CADENCE_SENSOR

BLE_APPEARANCE_CYCLING_POWER_SENSOR

BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR

返回

没有

ArduinoFunction:

BLEPeripheral.addAttribute

名称

addAttribute

描述

向外设添加一个属性。

该属性可以是BLEService,BLECharacteristic或BLEDescriptor对象。

句法

blePeripheral.addAttribute(service);

参数

service:

BLELocalAttribute&。

服务,特征或描述符对象。

返回

没有

注意

必须按照要求精确订单的BLE标准添加服务,特征和描述符。

必须遵循分层BLE数据结构:

添加服务后,必须先添加其所有特性才能添加连续服务。

以相同的方式,一旦添加了特征,就必须先添加其所有描述符以添加连续的特征。

例如,如果您有两个服务具有一定数量的特征,具有一定数量的描述符,则相对代码将是:

//添加具有三个特征的第一个服务

blePeripheral.addAttribute(serviceNoOne);

blePeripheral.addAttribute(characteristicOneOfSerivceOne);

blePeripheral.addAttribute(descriptorOne);

blePeripheral.addAttribute(characteristicTwoOfServiceOne);

blePeripheral.addAttribute(descriptorTwo);

blePeripheral.addAttribute(CharacteristicThreeOfSerivceOne);

//添加具有一个特征的第二个服务

blePeripheral.addAttribute(serviceNoTwo);

blePeripheral.addAttribute(characteristicOfServiceTwo);

请注意,一个特征也可以没有描述符,而且一个服务也没有特征。

ArduinoFunction:

BLEPeripheral.addRemoteAttribute

名称

addRemoteAttribute

描述

当主板用作客户端以指示板要查询到服务器的属性(服务,特性和描述符)时,可以使用此功能。

此函数的用法与addAttribute函数相同。

需要遵循BLE标准以正确的顺序插入属性。

请参考addAttribute函数以获取更多信息。

句法

blePeripheral.addRemoteAttribute(remoteService);

参数

remoteService:

BLERemoteAttribute&。

远程服务,特征或描述符对象。

返回

没有

ArduinoFunction:

 BLEPeripheral.connected()

(缺失)

ArduinoFunction:

BLEPeripheral.disconnect

名称

断开

描述

断开连接中央。

句法

blePeripheral.disconnect();

参数

空虚

返回

没有

ArduinoFunction:

BLEPeripheral.central

名称

中央

描述

返回表示板连接到的中央的BLECentralPeer对象。

句法

blePeripheral.central();

参数

空虚

返回

 BLECentralPeer:

表示远程中央的对象。

ArduinoFunction:

BLEPeripheral.status

名称

状态

描述

说明外设是连接,断开还是正在广告的功能。

句法

blePeripheral.status();

参数

空虚

返回

 BLEStatus:

可以是CONNECT,DISCONNECT,ADVERTISING。

ArduinoFunction:

BLEPeripheral.printBleMessage

名称

printBleMessage

描述

打印有关BLE状态的有用信息。

此函数必须被调用才能收到BLEMessage事件。

请参阅setEventHandler函数,以了解如何为传入事件设置回调。

句法

blePeripheral.printBleMessage(evtCode,messageCode);

参数

evtCode:

int。

代码检测当前消息的类型。

messageCode:

int。

代码检测具体消息。

返回

没有

ArduinoFunction:

BLEPeripheral.setEventHandler

名称

setEventHandler

描述

设置在特定事件发生时调用的回调。

句法

blePeripheral.setEventHandler(event,callback);

参数

event:

BLEPeripheralEvent。

BLE事件要监控。

值:

BLEConnected

BLEDisconnected

BLEBonded

BLERemoteServicesDiscovered

BLEPasskeyReceived

BLEPasskeyRequested

BLEMessage

callback:

BLEPeripheralEventHandler函数与BLECentralPeer(又称BLECentral)对象作为参数或BLEMessageEventHandler函数,两个整数作为参数(仅适用于BLEMessage事件)。

返回

没有

 

ArduinoFunction:

BLECentralRoleConstructor

名称

BLECentralRole

描述

BLECentralRole类的构造方法

句法

BLECentralRolebleCentral=BLECentralRole();

参数

空虚

返回

没有

ArduinoFunction:

BLECentralRole.setScanParameters

名称

setScanParameters

描述

功能设置扫描过程的参数。

扫描时,该板将作为观察者角色,并能够读取附近的所有广告数据包。

句法

bleCentral.setScanParameters(interval,window,timeout,active);

参数

interval:

短。

在扫描窗口内的时间内,电路板将扫描。

该值以0.625ms为增量表示,必须介于0x0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1