热点配网

更新时间:2024-01-25 02:56:04LLM 副本以 Markdown 格式查看下载 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 或者项目经理。