TuyaOS
|
涂鸦TuyaOS
支持蓝牙作为一个近场通信的功能,和Powered by Tuya
设备进行配对、连接,建立蓝牙通道,并对设备进行蓝牙配网、蓝牙激活、蓝牙控制、蓝牙校时、蓝牙遥控器、蓝牙定时、蓝牙产测等功能。
未配网设备发送蓝牙广播,涂鸦智能APP在接收到蓝牙广播数据之后,会对未配网设备发起配对,配对完成之后,根据涂鸦蓝牙协议进行配网交互,涂鸦智能APP向云端申请Token
,并将SSID
、Password
和Token
发送给待配网设备。待配网设备拿到SSID
、Password
和Token
之后,连接Wi-Fi
路由器,并连接涂鸦IoT
平台,进行激活绑定。
蓝牙配网功能不需要客户进行编码,涂鸦TuyaOS
直接提供了相关的能力。此功能支持配置开关裁剪,也支持客户编码定制。
此功能包括蓝牙兜底激活、连云激活功能。作为配网的兜底方案,设备在蓝牙配网失败时,会触发兜底激活,即通过涂鸦智能APP代理连云激活,以实现设备在无网的情况下可以对设备进行dp控制等业务功能;当设备有网络,且已经兜底激活时,用户可以进一步操作连云激活功能,涂鸦智能APP设置SSID
、Password
信息并发送给设备,设备拿到SSID
、Password
信息后,连接Wi-Fi
路由器,并且正常连云,此时设备状态和普通蓝牙/WIFI配网结果状态一致。
蓝牙激活功能不需要客户进行编码,涂鸦TuyaOS
直接提供了相关的能力。此功能支持配置开关裁剪,也支持客户编码定制。
蓝牙控制,即设备提供了蓝牙链路的DP控制功能,包括DP上报、下发、DP查询功能。
蓝牙控制涉及客户的DP业务,可参考DP功能描述中的蓝牙相关部分。此功能支持配置开关裁剪,也支持客户编码定制。
当蓝牙连接建立的时候,通过涂鸦蓝牙协议,对设备进行时间校准。
蓝牙校时功能不需要客户进行编码,涂鸦TuyaOS
直接提供了相关的能力。
蓝牙遥控器需要Powered by Tuya
设备开启蓝牙扫描能力。蓝牙遥控器当前支持线上和线下两个版本。线上版本,蓝牙遥控器在绑定设备时,蓝牙遥控器和Powered by Tuya
设备必须已配网,且配在相同家庭下;Powered by Tuya
设备需要从涂鸦IoT平台获取beacon_key
,用于蓝牙遥控协议数据的解密。线下版本,即遥控器绑定设备时,设备没有必须已配网的限制,蓝牙遥控器也无需配网,因此也称为免配网蓝牙beacon遥控器。
设备在接收到遥控器发送的蓝牙广播数据的时候,线上版本,会使用beacon_key
对数据进行解密、过滤,线上版本会通过随机数特殊算法对数据进行解密、过滤,并将解密之后的数据发送给开发者,开发者根据蓝牙遥控器协议的定义,解析数据并执行相关的遥控操作。
蓝牙校时功能需要客户注册遥控器回调,从而实现客户的业务数据处理需求。此功能支持配置开关裁剪,也支持客户编码定制。
蓝牙定时,即Powered by Tuya
设备提供蓝牙通道的定时器功能。此功能主要在设备无网场景时,涂鸦智能APP可以通过蓝牙通道,完成定时器任务功能。
蓝牙定时功能不需要客户进行编码,涂鸦TuyaOS
直接提供了相关的能力。此功能支持配置开关裁剪,也支持客户编码定制。
蓝牙产测功能,即Powered by Tuya
设备提供了蓝牙通道的产测功能,产测协议可参考涂鸦WIFI产测协议。客户如需增加产测内容,可以参考涂鸦产测相关功能介绍。
蓝牙产测功能不需要客户进行编码,涂鸦TuyaOS
直接提供了相关的能力。此功能支持配置开关裁剪,也支持客户编码定制。
此功能支持客户编码定制蓝牙各子功能。默认蓝牙功能全开。如果客户定制了蓝牙子功能,未使能的功能将不会被链接到固件BIN中,从而节省客户FLASH成本。
此接口用于注册蓝牙遥控功能的数据接收回调,其中TUYA_BLE_APP_SCAN_HANDLE
为回调函数原型。注册该回调之后,设备会的确蓝牙扫描功能,并将接收到的蓝牙广播进行过滤,通过回调通知应用。
此接口用于注册蓝牙遥控器绑定、解绑时客户检查回调,以及绑定、解绑结果通知,以满足客户个性化需求。
此接口用于设置蓝牙遥控器绑定时间窗,以满足客户个性化需求。参数为秒,最小时间窗为30s;如果传入为0,则表示时间窗常打开。设备在上电后会打开时间窗,只有在时间窗内可以绑定蓝牙遥控器。
此接口用于重新打开蓝牙遥控器绑定时间窗,以满足客户个性化需求。如电工设备,没有上电场景,因此需要其他方式来重新打开绑定时间窗,以支持绑定功能。
此接口用于使能蓝牙基础能力
此接口用于使能蓝牙配网能力
此接口用于使能蓝牙激活能力
此接口用于使能蓝牙dp控制能力
此接口用于使能蓝牙定时能力
此接口用于使能蓝牙psk3.0能力
此接口用于使能蓝牙产测能力
1.应用需要在pre_device_init中(即TuyaOS初始化之前)先做蓝牙功能裁剪。 2.基础蓝牙能力必须打开后,再进行子功能裁剪。 3.子功能必须SDK蓝牙配置项打开前提下才能裁剪,否则接口将会找不到。