TuyaOS
局域网

局域网广播

有线、Wi-FiWi-Fi&BLE产品,在连接上网络并检测到局域网连接可用的时候,会在局域网内进行设备的设备信息广播。广播是UDP报文,在局域网内部发送,目的IP为255.255.255.255,端口为6667。域网的广播包含以下信息:

内容 描述
ip 设备IP地址
gwId 如果设备已经激活,gwId=虚拟id;如果设备没有激活,gwId=uuid
active 2=已经激活,其他=没有激活
ability 默认为0,尚未使用
encrypt 默认为true,加密
version 局域网协议版本号
token 是否需要token,true=需要,false=不需要
wf_cfg 是否需要配置Wi-Fi,true=需要,false=不需要

此时如果APP和设备处于同一个局域网网络,就可以通过APP的自动发现,接收局域网内的设备广播包,解析广播包内容,识别设备类型,发现该设备。然后可以通过密钥交互,建立安全的局域网连接,然后基于涂鸦局域网协议就可以进行相关的协议交互。

默认情况下,涂鸦TuyaOS支持3个局域网连接,即可以通过三个不同的APP或者中控对设备进行控制。

局域网协议

涂鸦局域网定协议定义了Powered by Tuya设备和涂鸦智能APP之间进行局域网交互的报文格式和协议细节,这些业务逻辑不需要开发者关心,逻辑都是实现在涂鸦TuyaOS内部。局域网协议主要包括局域网绑定激活、局域网控制等功能。

局域网绑定是指设备和涂鸦智能APP之间建立局域网连接之后,如果设备尚未激活,则可以通过局域网进行绑定激活。涂鸦智能APP基于涂鸦局域网协议,发送局域网协议报文,设备在收到报文之后进行协议解析、识别之后为用户绑定命令,对设备进行绑定激活,参照激活绑定局域网绑定。

局域网控制是指设备和涂鸦智能APP之间建立局域网连接之后,涂鸦智能APP基于涂鸦局域网协议,发送局域网协议报文,设备在收到报文之后进行协议解析、识别之后为局域网控制命令,对设备进行控制操作。局域网控制拥有最高的控制优先级,即当设备和涂鸦智能APP建立局域网连接,会优先走局域网通道进行控制,以保证设备的使用体验,并降低用户的流量成本。

局域网日志

参照Online Log "涂鸦Online Log 服务"服务。

局域网关闭

局域网可以按照开发者的需求打开和关闭。关闭局域网之后,不会再有局域网广播,也不会启动局域网服务。提高了设备的安全性。

局域网关闭只能在设备激活之后进行,在激活之前设置可能会无效。

接口描述

关闭局域网

OPERATE_RET tuya_svc_lan_disable(VOID);
OPERATE_RET tuya_svc_lan_disable(VOID)
Disable LAN service

关闭局域网,停止发送局域网广播,关闭局域网服务。

打开局域网

OPERATE_RET tuya_svc_lan_enable(VOID);
OPERATE_RET tuya_svc_lan_enable(VOID)
Enable LAN service

打开局域网,发送局域网广播,启动局域网服务,能够接受局域网连接请求,并提供涂鸦局域网协议定义的各项功能服务。

使用示例

void test_lan()
{
// 关闭局域网
TUYA_CALL_ERR_LOG(tuya_svc_lan_disable());
// 打开局域网
TUYA_CALL_ERR_LOG(tuya_svc_lan_enable());
}