配网模式

更新时间:2023-12-19 08:36:57下载pdf

TuyaOS 开发框架提供了很多设备配网方案,例如 热点配网蓝牙配网闪电配网 等。设备如何启动、停止或者配置这些配网方案的行为,会根据场景的不同而发生变化。为了满足不同场景下的需求,TuyaOS 开发框架定义了多种设备配网模式。

功能描述

设备配网模式的配置包含了选择设备 配网模式 和选择 配网启动方式

配网模式中涉及到的低功耗,是指关闭射频模组,芯片并非进入了睡眠模式。

上电配网

设备状态
描述
未配网 上电就进入待配网状态
待配网/配网中 一直处于待配网状态
配网激活后被移除 进入待配网状态

上电低功耗

设备状态
描述
未配网 上电默认低功耗状态,需调用 重置接口 才能进入配网状态
待配网/配网中 一段时间后(默认 15 min,您可以自定义)没有配网成功,设备自动进入低功耗状态。这时,如果重启设备,重启后的状态为:
  • 配网时间小于 10 秒,保持上次配网状态
  • 配网时间超过 10 秒,进入低功耗
配网激活后被移除 进入配网状态

上电配网和低功耗

设备状态
描述
未配网 上电就进入配网状态
待配网/配网中 一段时间后(默认 15 min,您可以自定义)没有配网成功,设备自动进入低功耗状态
配网激活后被移除 进入配网状态

上电低功耗和记忆重连

设备状态
描述
未配网 上电默认低功耗状态,需调用 重置接口 才能进入配网状态
待配网/配网中
  • 本地移除后进入配网状态:一段时间后(默认 15 min,您可以自定义)没有配网成功,设备连接被移除前所连接的路由器(记忆重连)。这时,如果重启设备,重启后的状态为:
    • 配网时间小于 10 秒,保持上次配网状态
    • 配网时间超过 10 秒,连接被移除前所连接的路由器(记忆重连)
  • 从未配网切换到配网状态或者远程移除进入配网状态:一段时间后(默认 15 min,您可以自定义)没有配网成功,设备自动进入低功耗状态。这时,如果重启设备,重启后的状态为:
    • 配网时间小于 10 秒,保持上次配网状态
    • 配网时间超过 10 秒,进入低功耗
配网激活后被移除 进入配网状态

上电配网、低功耗和记忆重连

设备状态
描述
未配网 上电就进入配网状态
待配网/配网中
  • 本地移除后进入配网状态:一段时间后(默认 15 min,您可以自定义)没有配网成功,设备连接被移除前所连接的路由器(记忆重连)这时,如果重启设备,重启后的状态为:
    • 配网时间小于 10 秒,保持上次配网状态
    • 配网时间超过 10 秒,连接被移除前所连接的路由器(记忆重连)
  • 从未配网切换到配网状态或者远程移除进入配网状态:一段时间后(默认 15 min,您可以自定义)没有配网成功,设备自动进入低功耗状态。这时,如果重启设备,重启后的状态为:
    • 配网时间小于 15 min(默认 15 min,您可以自定义),保持上次配网状态
    • 配网时间超过 15 min (默认 15 min,您可以自定义),进入低功耗
配网激活后被移除 进入配网状态

配网启动方式

Tuyaos 3.4.0 及以上版本不再支持快连模式配网,如果用户选择 默认启动热点模式配网默认启动快连模式配网 这两种启动方式,TuyaOS 默认使用 万能配网 的启动方式做兼容处理。

配网启动方式
描述
仅支持热点模式配网 仅支持 热点模式配网,调用设备重置接口后设备启动还是热点配网
仅支持快连模式配网 仅支持快连模式配网,调用设备重置接口后,还是快连模式配网
默认启动热点模式配网 设备启动默认先进入热点模式配网,调用设备重置接口后会进入快连模式配网,以此循环
默认启动快连模式配网 设备启动默认先进入快连模式配网,调用设备重置接口后进入热点模式配网,以此循环
万能配网 任何配网方式都生效,热点模式配网,快连模式配网,闪电配网FFS 配网

蓝牙配网 独立于任何一种配网方式,只要蓝牙服务及蓝牙配网功能是打开的,配网功能被启动时,框架会自动开启蓝牙配网功能。

数据结构

配网模式的定义

宏定义 配网模式 备注说明
GWCM_OLD / GWCM_OLD_PROD 上电配网 GWCM_OLD_PROD 模式在启动时会扫描成品产测的指定信标。
在 TuyaOS 3.0.0 及以上的版本里,扫描成品产测信标的功能由应用自行实现。
GWCM_LOW_POWER 上电低功耗 -
GWCM_SPCL_MODE 上电低功耗和记忆重连 -
GWCM_LOW_POWER_AUTOCFG 上电配网和低功耗 -
GWCM_SPCL_AUTOCFG 上电配网和低功耗和记忆重连 -
/* tuya sdk definition of wifi work mode */
typedef BYTE_T GW_WF_CFG_MTHD_SEL; // wifi config method select
#define GWCM_OLD                0   // do not have low power mode
#define GWCM_LOW_POWER          1   // with low power mode
#define GWCM_SPCL_MODE          2   // special with low power mode
#define GWCM_OLD_PROD           3   // GWCM_OLD mode with product
#define GWCM_LOW_POWER_AUTOCFG 4   // with low power mode && auto cfg
#define GWCM_SPCL_AUTOCFG       5   // special with low power mode && auto cfg

配网启动方式的定义

宏定义 配网启动方式 备注说明
WF_START_AP_ONLY 仅支持热点模式配网 -
WF_START_SMART_ONLY 仅支持快连模式配网 Tuyaos 3.4.0 及以上版本的框架不支持快连模式配网。
会被当成万能配网做兼容处理。
WF_START_AP_FIRST 默认启动热点模式配网 -
WF_START_SMART_FIRST 默认启动快连模式配网 Tuyaos 3.4.0 及以上版本的框架不支持快连模式配网。
故该启动方式会被当成万能配网做兼容处理。
WF_START_SMART_AP_CONCURRENT 万能配网 -
/* tuya sdk definition of wifi start mode */
typedef BYTE_T GW_WF_START_MODE;
#define WF_START_AP_ONLY        0   // only have ap-cfg mode
#define WF_START_SMART_ONLY     1   // only have smart-cfg mode
#define WF_START_AP_FIRST       2   // have both ap-cfg and smart-cfg. default is ap-cfg mode
#define WF_START_SMART_FIRST    3   // have both ap-cfg and smart-cfg. default is smart-cfg mode
#define WF_START_SMART_AP_CONCURRENT    4   // ap-cfg and smart-cfg is concurrent

使用方式

开发者设置设备的配网模式可通过设置 设备初始化接口 的对应参数来实现。

API 说明

设置配网超时时间

您可通过该接口设置设备保持配网状态的时间。如果在该时间内设备没有配网成功,开发框架会停止配网,根据配网模式的设置进入相应的状态。

/**

 * @brief Set wifi netcfg timeout value in seconds
 *
 * @param[in] timeout_s time out value of netcfg.
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

VOID set_wf_netcfg_timeout(UINT_T timeout_s)