涂鸦蓝牙有三条技术方案。蓝牙设备与手机一对一相连的蓝牙单点设备(BLE),涂鸦自研的蓝牙拓扑通信 涂鸦 Mesh 和蓝牙技术联盟发布的蓝牙拓扑通信 蓝牙 Mesh。除了以上三种之外,还有一些多协议设备也会使用到蓝牙技术,例如同时具备 Wi-Fi 能力和蓝牙能力的 双模设备,也可以兼容使用蓝牙和 Wi-Fi 进行配网。
类型
设备应用示例
蓝牙单点
体脂秤、手环、温控器、电动牙刷、门锁等
蓝牙 Mesh
一路、二路、五路等灯泡、插座、传感器等子设备
涂鸦 Mesh
与蓝牙 Mesh 产品类似,通信协议为涂鸦自研
双模设备
蓝牙 Mesh 网关、IPC 设备、新版多协议 Wi-Fi 设备等
说明:双模配网的蓝牙配网部分,使用的是蓝牙单点技术为设备配网,将放到蓝牙单点章节进行说明。
功能描述
蓝牙技术具备的部分功能如下:
设备配网
扫描并发现设备
设备配网
设备管理
检查设备当前联网状态
连接设备
设备操作和远程控制
解绑设备
固件升级
检测设备版本
升级设备固件 OTA
App 使用蓝牙所需要权限
在 iOS 13 中,苹果将原来蓝牙申请权限用的 NSBluetoothPeripheralUsageDescription 字段,替换为 NSBluetoothAlwaysUsageDescription 字段。在 info.plist 中添加新字段:
蓝牙单点
单点蓝牙设备指的是具有和手机终端通过蓝牙一对一连接的设备,例如蓝牙手环、蓝牙耳机、蓝牙音箱等。每个设备最多同时和一个手机进行蓝牙连接,每个手机终端目前同时蓝牙连接数量控制在 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
精彩内容
大家都在找:
物联网:物联网应用技术
app:红果免费短剧app下载最新版
发表评论