涂鸦蓝牙有三条技术方案。蓝牙设备与手机一对一相连的蓝牙单点设备(BLE),涂鸦自研的蓝牙拓扑通信 涂鸦 Mesh 和蓝牙技术联盟发布的蓝牙拓扑通信 蓝牙 Mesh。除了以上三种之外,还有一些多协议设备也会使用到蓝牙技术,例如同时具备 Wi-Fi 能力和蓝牙能力的 双模设备,也可以兼容使用蓝牙和 Wi-Fi 进行配网。

类型

设备应用示例

蓝牙单点

体脂秤、手环、温控器、电动牙刷、门锁等

蓝牙 Mesh

一路、二路、五路等灯泡、插座、传感器等子设备

涂鸦 Mesh

与蓝牙 Mesh 产品类似,通信协议为涂鸦自研

双模设备

蓝牙 Mesh 网关、IPC 设备、新版多协议 Wi-Fi 设备等

说明:双模配网的蓝牙配网部分,使用的是蓝牙单点技术为设备配网,将放到蓝牙单点章节进行说明。

功能描述

蓝牙技术具备的部分功能如下:

设备配网

扫描并发现设备

设备配网

设备管理

检查设备当前联网状态

连接设备

设备操作和远程控制

解绑设备

固件升级

检测设备版本

升级设备固件 OTA

App 使用蓝牙所需要权限

在 iOS 13 中,苹果将原来蓝牙申请权限用的 NSBluetoothPeripheralUsageDescription 字段,替换为 NSBluetoothAlwaysUsageDescription 字段。在 info.plist 中添加新字段:

NSBluetoothAlwaysUsageDescription

NSBluetoothPeripheralUsageDescription

蓝牙单点

单点蓝牙设备指的是具有和手机终端通过蓝牙一对一连接的设备,例如蓝牙手环、蓝牙耳机、蓝牙音箱等。每个设备最多同时和一个手机进行蓝牙连接,每个手机终端目前同时蓝牙连接数量控制在 6 ~ 7 个内。

类名

说明

TuyaSmartBLEManager

单点蓝牙相关类

TuyaSmartBLEWifiActivator

双模设备配网相关类

TuyaSmartBLEManager包含单点蓝牙 SDK 的所有相关功能,包含扫描设备、单点设备配网、双模设备配网、蓝牙设备操作、固件升级、错误码等功能。

TuyaSmartBLEWifiActivator包含设备双模配网所需方法。

监测系统蓝牙状态

接口说明

SDK 提供了对系统蓝牙的状态监测的方法,在蓝牙状态变化(如开启或关闭)时,可以通过设置代理收到具体的消息。

示例代码

Objc:

// 设置代理

[TuyaSmartBLEManager sharedInstance].delegate = self;

/**

* 蓝牙状态变化通知

*

* @param isPoweredOn 蓝牙状态,开启或关闭

*/

- (void)bluetoothDidUpdateState:(BOOL)isPoweredOn {

NSLog(@"蓝牙状态变化: %d", isPoweredOn ? 1 : 0);

}

Swift:

// 设置代理

TuyaSmartBLEManager.sharedInstance().delegate = self

/**

* 蓝牙状态变化通知

*

* @param isPoweredOn 蓝牙状态,开启或关闭

*/

func bluetoothDidUpdateState(_ isPoweredOn: Bool) {

}

扫描设备

开始扫描

接口说明

处于待连接的蓝牙设备都会不停的向四周发蓝牙广播包,客户端作为终端可以发现这些广播包,根据广播包中包含涂鸦设备信息规则作为目标设备的过滤条件。

/**

* 开始扫描

*

* 如果扫描到未激活设备,结果会通过 `TuyaSmartBLEManagerDelegate` 中的 `- (void)didDiscoveryDeviceWithDeviceInfo:(TYBLEAdvModel *)deviceInfo` 返回;

*

* 如果扫描到激活设备,会自动进行连接入网,不会返回扫描结果

*

* @param clearCache 是否清理已扫描到的设备

*/

- (void)startListening:(BOOL)clearCache;

参数说明

参数

说明

clearCache

是否清理已扫描到的设备

示例代码

Objc:

// 设置代理

[TuyaSmartBLEManager shared

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: