|
TuyaOS
|
配网是 Wi-Fi 产品特有的一个能力,他的主要目的,是通过具有配网能力的设备,对未配网的 Wi-Fi 设备进行网络连接配置。在配网过程中,具有配网能力的设备,会通过交互,把指定的Wi-Fi路由器的 SSID、Password 以及在涂鸦 IoT 平台上申请创建出来的 Token 信息,发送给未配网设备;未配网设备拿到这些信息之后,连接Wi-Fi路由器,并通过涂鸦 IoT 平台提供的 IoT-DNS 服务获取对应区域的服务器地址,然后通过 Atop 服务进行激活,并连接到涂鸦 IoT 平台进行正常的业务交互。
目前按照交互方式,涂鸦 TuyaOS 主要支持以下配网能力。
smartcfg 配网
根据涂鸦 smartcfg 规则,将 SSID、Password 和 Token 进行编码到 udp 广播、组播报文中,并在Wi-Fi路由器局域网内部发送,未配网设备在接收到报文,识别特征之后,进行解码,提取出 SSID、Password 和 Token,并进行后续的连接 Wi-Fi 路由器,并连接涂鸦 IoT 平台,进行激活绑定。
smartcfg配网模式在TuyaOS 3.4.0版本之后因为安全性和兼容性问题,已经移除,不再支持,为了保持对老产品的兼容支持,配网模式依然保留,只是不再起作用。双模设备我们推荐使用蓝牙配网,单Wi-Fi设备推荐使用AP配网。
AP 配网
未配网设备根据用户配置或者是默认的涂鸦 AP 配网规则,创建一个 Wi-Fi AP 热点,并启动涂鸦 AP 配网协议服务。具备配网能力的设备会连接到这个热点,并连接到该服务端口,根据涂鸦 AP 配网协议进行交互,将 SSID、Password 和 Token 发送给待配网设备。待配网设备拿到 SSID、Password 和 Token 之后,连接 Wi-Fi 路由器,并连接涂鸦 IoT 平台,进行激活绑定。
蓝牙配网
未配网设备发送蓝牙广播,具备配网能力的设备在接收到蓝牙广播数据之后,会对未配网设备发起配对,配对完成之后,根据涂鸦蓝牙配网协议进行交互,将 SSID、Password 和 Token 发送给待配网设备。待配网设备拿到 SSID、Password 和 Token 之后,连接 Wi-Fi 路由器,并连接涂鸦 IoT 平台,进行激活绑定。
闪电配网
闪电配网是一种伙伴免密配网技术,即一台支持闪电配网的已联网设备,对支持闪电配网的的设备进行配网。支持闪电配网的已联网设备通过Wi-Fi管理帧,按照涂鸦闪电配网协议的定义,发现在设备周边新出现的支持闪电配网的未配网设备,并跟涂鸦 APP 进行交互,当客户进入涂鸦 APP 主界面的时候,进行弹窗显示,只需要用户在APP上进行简单的发现、添加操作,即可将设备配网,减少了人为的输入密码操作,优化了配网体验,使得新设备可以做到上电添加之后即可使用。
FFS 配网
FFS配网是 Alexa Frustration-Free Setup的缩写,也是一种伙伴免密配网技术,在amazon Alexa智能音箱的支持下,按照amazon定义的 Frustration-Free Setup流程,对支持FFS配网的设备进行配网,过程不需要人工介入,设备只要插电即可配网,优化了配网的流程和客户的使用体验。
用户配网
为了支持其他类型的配网,如屏幕输入、声波、扫二维码、局域网等任意开发者自行开发出来的获取 SSID、Password 和 Token 的方式,通过这些机制拿到了 SSID、Password 和 Token 并调用API设置到涂鸦 TuyaOS,待配网设备拿到 SSID、Password 和 Token 之后,连接 Wi-Fi 路由器,并连接涂鸦 IoT 平台,进行激活绑定。
配网模式是指涂鸦 TuyaOS 根据客户需求,抽象出来的配网方案,满足不同产品、不同场景的需求。配网模式子在设备初始化的时候,调用tuya_iot_wf_mcu_dev_init 或者 tuya_iot_wf_soc_dev_init的时候提供,包括以下几种。
| 配网模式 | 描述 |
|---|---|
WF_START_AP_ONLY | 仅支持 AP 配网模式。 |
WF_START_SMART_ONLY | 仅支持smartcfg配网模式。 |
WF_START_AP_FIRST | 支持AP配网或者smartcfg配网模式,默认AP配网模式,但是经过重置,可以切换成smartcfg配网模式。 |
WF_START_SMART_FIRST | 支持AP配网或者smartcfg配网模式,默认smartcfg配网模式,但是经过重置,可以切换成AP配网模式。 |
WF_START_SMART_AP_CONCURRENT | 涂鸦万能配网模式,支持AP、smartcfg配网共存,同时根据产品的形态和客户的需求,自定义支持蓝牙配网、闪电配网和FFS配网。 |
注意,在以上几个配网模式下,用户配网方式是默认支持的,即在任意模式之下,都是可以通过接口直接设置SSID、Password和Token进行配网操作的。
注意,在以上几个配网模式下,蓝牙配网在开启蓝牙功能的时候,是默认支持的,即在任意模式下,只要有蓝牙能力,都是可以直接使用蓝牙进行配网。
Wi-Fi工作模式是Wi-Fi产品特有的模式,在设备初始化的时候,调用tuya_iot_wf_mcu_dev_init 或者 tuya_iot_wf_soc_dev_init的时候提供,其目的是为了规范设备工作时候的具体行为,提高使用体验。
Wi-Fi工作模式 | 描述 |
|---|---|
GWCM_OLD | 主要使用在通用对接类固件上。 设备只有在 mcu发起产测的时候,才会扫描产测路由器,任意时刻都可以进入产测。 |
GWCM_LOW_POWER | 主要使用在soc插座上。配网前上电低功耗常亮,需要手工切换才能进入配网状态; 配网状态下,10秒内没配网成功,手工重启保持上次配网状态,10s后未配网,手工重启进入低功耗常亮状态;15分钟未配网,自动进入低功耗常亮状态,其中15分钟可以设置; 配网成功后,app移除设备自动重启,进入配网状态,默认 smartcfg配网模式,擦除保存的ssid和password;手工移除,设备自动进入配网状态,擦除保存的ssid和password;设备只有在低功耗状态下,重启设备才会扫描产测路由,进入产测模式。 |
GWCM_SPCL_MODE | 主要使用在soc照明上。配网前上电低功耗常亮,需要手工切换才能进入配网状态; 配网状态下,10秒内没配网成功,手工重启保持上次配网状态,10s后未配网,手工重启进入低功耗常亮状态,15分钟未配网,自动进入低功耗常亮状态,其中15分钟可以设置; 配网成功后,app移除设备自动重启,进入配网状态,默认 smartcfg配网模式,擦除保存的ssid和password;手工移除,设备自动进入配网状态,进入防误触模式,不擦除保存的ssid和password;设备只有在低功耗状态下,重启设备才会扫描产测路由,进入产测模式。 |
GWCM_OLD_PROD | 主要使用在soc照明上。上电即可进入配网状态,并且一直处于配网状态; 设备在配网状态下,重启设备都会主动扫描产测路由,进入产测模式。 |
GWCM_LOW_POWER_AUTOCFG | 配网前上电进入smartcfg配网模式,smartcfg和ap模式来回切换;配网状态下,15分钟内重启,保持,保持上次配网状态,15分钟未配网自动进入低功耗常亮状态,其中15分钟可以设置; 配网成功后,app移除设备自动重启,进入配网状态,默认 smartcfg配网模式;手工移除,设备自动进入配网状态,默认smartcfg配网模式;设备在配网状态下,重启设备都会主动扫描产测路由,进入产测模式。 |
GWCM_SPCL_AUTOCFG | 配网前上电进入smartcfg配网模式,smartcfg和ap模式来回切换;配网状态下,15分钟内重启,保持上次配网状态,15分钟未配网自动进入低功耗常亮状态,其中15分钟可以设置; 配网成功后,app移除设备自动重启,进入配网状态,默认 smartcfg配网模式,擦除保存的ssid和password,15分钟内重启,保持上次配网状态,15分钟未配网自动进入低功耗常亮状态,其中15分钟可以设置;手工移除,设备自动进入配网状态,进入防误触模式,不擦除保存的ssid和password,10秒内重启,保持上次配网状态,10秒后重启,立即连接已经配网路由器,15分钟内重启,保持,保持上次配网状态,15分钟未配网自动进入低功耗常亮状态,其中15分钟可以设置;;设备在配网状态下,重启设备都会主动扫描产测路由,进入产测模式。 |
此接口用于设置用户自定义的AP配网的SSID和Password。如果用户设置自定义的AP的SSID和Password之后,AP配网将显示该SSID,并在连接的时候使用该Password进行验证。因此,此接口必须在调用tuya_iot_wf_mcu_dev_init 或者 tuya_iot_wf_soc_dev_init之前调用。
此接口用于查询用户设置的AP配网的SSID和Password。如果用户没有设置返回设备烧录授权时写入的默认的SSID和Password。
此接口用于配置设备Wi-Fi网络配置,除了通过涂鸦提供的配网能力去获取Wi-Fi网络配置之外,还可以通过用户自己的方式去获取SSID、Password和Token,然后通过此接口设置,进行连接路由器、绑定激活等工作。
Wi-Fi配网超时是指设备进入配网状态之后,一段时间没有完成配网,则退出配网模式的行为。设备配网的过程是一个设备和涂鸦智能APP、路由器频繁交互的一个阶段,功耗很高,长时间处于配网状态会造成设备消耗较多的电力,提高设备的使用成本,也可能会导致设备不稳定。因此涂鸦TuyaOS默认进入配网状态15分钟之后,配网超时退出配网,这个时间是可设置的,通过tuya_iot_wf_timeout_set可以修改超时时间。
Wi-Fi配网主要是在初始化的时候指定了配网模式,其主要的工作是初始化的时候进行的,以下是一端示例代码,在初始化的时候设置了ap_ssid和ap_passwd,并以GWCM_SPCL_AUTOCFG工作模式和WF_START_AP_FIRST配网模式启动设备。