AP 无网激活

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

AP 无网激活是指 Wi-Fi 设备在无法直连广域网的情况下,通过 App 代理其去云端激活。App 完成代理激活后,连接设备的热点,与设备进行信息交互,让设备进入无网下的激活状态。

功能描述

  • 无网代理激活:目前,此功能主要被用在 IPC 设备上。

    1. 用户进入 App 扫码界面,使用 App 扫描设备上的二维码。
    2. App 通过扫描到的设备信息,可代理设备去云端激活。
    3. App 完成代理激活后,可通过目标设备散发的热点与设备组成局域网。
    4. 同时,App 会将云端下发的 DP 描述等信息传送给设备,让设备处于被激活绑定的状态。
    5. 之后,App 可通过局域网来控制设备,同步设备状态等。
  • 无网 OTA 升级

    1. App 将固件升级包下载到本地后,连接设备热点。
    2. 与设备组成局域网后,下发升级包到已被代理激活的设备,实现在设备不直连广域网时,也可以完成固件升级的目的。

流程

AP 无网激活

App云端设备进入扫码界面 扫描设备二维码,获取设备信息代理激活返回设备 DP 描述表等相关信息建立热点 SmartLife-xxxx (UUID 后四位)引导用户连接设备热点连接设备热点热点连接成功建立局域网通讯局域网通讯建立成功发送设备 DP 描述等信息接收成功设备进入被激活绑定的状态用户通过 App 控制设备发送控制命令设备执行指令返回设备当前状态App云端设备

无网 OTA

App云端设备进入面板获取设备信息返回设备信息请求设备最新的固件返回固件引导用户连接设备热点连接设备热点热点连接成功查询设备固件版本号等信息返回设备信息设备返回的版本号与云端返回的版本号不一致时 提示有新固件弹窗提示是否需要 OTA用户选择合适的升级方式发送固件返回接收结果固件升级二次进入面板,引导用户连接设备热点二次连接设备热点热点连接成功查询设备固件版本号等信息返回设备信息设备返回的版本号与云端返回的版本号相同 则 OTA 完成App云端设备

开发指导

关联头文件

  • tuya_iot_wifi_api.h

使用方法

目前支持无网激活功能的品类,要求设备热点的名称格式是 SmartLife-xxxx。其中,xxxx 是设备 UUID 的后 4 位,所以您需要按照要求设置 AP 热点。

不是所有的品类都支持 AP 无网激活的功能,您需要确认 App 和面板是否支持在该品类上使用 AP 无网激活的功能。

API 说明

设置 AP 热点名称

您可以调用该 API 设置设备的 AP 热点。

/**
 * @brief tuya_iot_set_user_def_ap_if
 *
 * @param[in] ssid: user defined ssid of device ap
 * @param[in] passwd: user defined ssid of device ap
 *
 * @return OPERATE_RET
 *
 * @note need call before tuya_iot_wf_xxx_init
 */
OPERATE_RET tuya_iot_set_user_def_ap_if(IN CONST CHAR_T *ssid, IN CONST CHAR_T *passwd);

使用示例

VOID __ty_set_user_ap_if()
{
    CHAR_T apSsid[WIFI_SSID_LEN + 1] = {0};
    CHAR_T suffix[6] = {0};
    snprintf(suffix, 4, "%s", get_gw_uuid() + strlen(get_gw_uuid())-4);
    snprintf(apSsid, SIZEOF(apSsid), "SmartLife-%s", suffix);
    if (OPRT_OK != tuya_iot_set_user_def_ap_if(apSsid, NULL)) {
        PR_ERR("set user ap if err");
    }
}

常见问题

哪个 TuyaOS 版本支持 AP 无网激活功能?

TuyaOS 3.6.0 版本正式支持。

AP 无网激活功能有哪些必要操作?

您需要:

  • 按照规定格式设置 AP 热点。详情请参考上文 使用方法
  • 确认 App 在所开发的品类上支持该功能。