热点配网

更新时间:2024-01-25 02:56:04下载pdf

设备生成热点(AP),App 连接设备 AP 并下发路由器信息和 Token 等激活信息给设备,由设备完成激活。

流程说明

APP路由器云端设备连接路由器连接成功获取 Token返回 Token设备生成 AP 热点连接设备 AP 热点连接成功获取 IP返回地址 xxx.xxx.176.xxx发送 UDP 包,type 字段 0x11收到 UDP 包发送 SSID、PASSWD、Token 等配网激活信息连接路由器连接成功,返回 IP根据 Token,轮询查询激活成功设备设备激活激活成功MQTT 连接,上线返回激活成功设备查询设备详细信息返回设备详细信息APP路由器云端设备

开发指导

环境准备

  • 准备涂鸦体系的 App、设备和路由器。
  • 设备 Wi-Fi 支持 AP 和 Station 模式切换。

设备开发

  • 设置配网模式为无线配网。

    connect_mode = PARING_MODE_WIFI_AP
    
  • 设置连接模式为无线连接。

    TUYA_IPC_LINK_TYPE_E link_type = TUYA_IPC_LINK_WIFI;
    ipc_sdk_run_var.net_info.link_type = link_type;
    
  • 适配 tkl_wifi.c

    开发框架会提供一套 Linux 标准实现接口,您根据平台特性需要检查并完成适配。

  • API 调用顺序如下。

启动配网
设备切换到 Station 模式
SDK 调用 tkl_wifi_get_mac
SDK 调用 tkl_wifi_start_ap
严格按照 WF_AP_CFG_IF_S 设置 SSID&PASSWD&IP 信息
SDK 内部和 App 交互获取配网信息
SDK 获取配网信息
SDK 调用 tkl_wifi_stop_ap
SDK 调用 tkl_wifi_station_connect
SDK 轮询调用 tkl_wifi_station_get_status 和 tkl_wifi_get_ip 来感知网络状态
设备连接路由器正常后主动通过 WIFI_EVENT_CB 告知 SDK 状态
SDK 内部完成云端注册激活
设备通过 ipc_status_change_cb 回调感知设备上线成功
结束配网

常见问题

App 找不到特定的设备热点?

  1. 确认设备 Wi-Fi AP 模式是否生效。
  2. 确认是否严格按照 tkl_wifi_start_ap 给出的 cfg 来配置 AP 名称和 IP 网段。

App 连接设备热点,发送路由信息,设备无法正常激活?

  1. 确认设备是否调用到 tkl_wifi_station_connect
  2. 确认设备是否可正常访问外网。
  3. 确认是否严格按照 tkl_wifi_start_ap 给出的 cfg 来配置 IP 网段。
  4. 确认分配给 App 的 IP 地址是 192.168.176.x 网段。
  5. 确认是否主动通过 WIFI_EVENT_CB 告知 SDK 路由器连接问题。
  6. 确认设备授权信息是否正确,包括 PID、UUID 和 AUTHKEY。

如何修改设备配网阶段 AP 热点名称?

  1. 设备默认 AP 名称为 SmartLife_xxxx,其中 SmartLife 前缀为程序固化,xxxx 为设备 MAC 地址。
  2. 通过 tkl_wifi_start_ap -> WF_AP_CFG_IF_S 传出,用户可以在此处自定义 AP 热点名称。
  3. 涂鸦体系的 App 目前只识别 SmartLife 前缀的 AP 名称,需要联系 BD 或者项目经理。