ESP-TOUCH 用户指南

乐鑫自主研发的 ESP-TOUCH 协议采⽤的是 Smart Config(智能配置)技术,帮助用户将采用 ESP8266 和 ESP32 的设备(以下简称“设备”)连接至 Wi-Fi 网络。

技术原理

乐鑫自主研发的 ESP-TOUCH 协议采⽤的是 Smart Config(智能配置)技术,帮助用户将采用 ESP8266 和 ESP32 的设备(以下简称“设备”)连接至 Wi-Fi 网络。用户只需在⼿机上进行简单操作即可实现智能配置。

ESP-TOUCH 用户指南

由于设备一开始尚未联网,ESP-TOUCH 应用无法直接向设备发送信息。通过 ESP-TOUCH 通信协议,具有 Wi-Fi 网络接入能力的设备(例如智能手机)可以向 Wi-Fi 接入点 (AP) 发送一系列 UDP 数据包,其中每一包的长度(即 Length 字段)都按照 ESP- TOUCH 通信协议进⾏编码,SSID 和密码就包含在 Length 字段中,随后设备便能够接收这些 UDP 数据包,并从中解析出所需的信息。

数据包结构如下表所示:

字段 长度(字节) 描述
DA 6 目标 MAC 地址
SA 6 源 MAC 地址
Length 2 包含 SSID 和密钥
LLC 3 逻辑链路控制
SNAP 5 子网接入协议
DATA Variable 载荷
FCS 4 帧校验序列

ESP-TOUCH 操作指南

功能概述

  • 支持的平台:
    • ESP8266:OS SDK 和 NonOS SDK
    • ESP32:ESP-IDF
  • 协议兼容性:集成了微信 AirKiss 协议
  • 用户可以通过 ESP-TOUCH 应用或微信客户端配置设备

操作流程

  1. 准备一台支持 ESP-TOUCH 的设备,开启 Smart Config 功能。
  2. 将手机连接至目标路由器。
  3. 打开手机上的 ESP-TOUCH 应用。
  4. 输入路由器的 SSID 和密码以将设备连接到路由器。如果路由器是开放网络(未加密),则密码字段可留空。

重要注意事项

  • 距离影响:设备与路由器距离越远,连接耗时越长
  • 路由器状态:配置前需确保路由器已启动
  • 超时机制:
    • 应用端超时未连接会返回配置失败信息
    • 设备端超时未获取信息会自动重启 Smart Config
    • 可通过 esptouch_set_timeout(uint8 time_s) 或 esp_smartconfig_set_timeout(uint8 time_s) 设置超时时间
  • 工作模式:
    • ESP8266:需启用 Sniffer 模式,禁用 Station/soft-AP 模式
    • ESP32:可同时启用 Sniffer 和 Station 模式
  • IP 交互:配置完成后,手机端获取设备 IP,设备端返回手机 IP,支持自定义局域网通信
  • AP 隔离:路由器启用 AP 隔离可能导致应用无法收到成功提示
  • 多设备支持:应用可同时配置多个设备接入同一路由器
  • 网络限制:不支持 5 GHz 频段和 802.11ac 协议

性能分析

ESP-TOUCH 的通信模型可以抽象为某种错误率的单向通道,但这种错误率又根据带宽的不同而有所不同。通常:

  • 20 MHz 带宽下,数据包错误率约为 0–5%
  • 40 MHz 带宽下,数据包错误率约为 0–17%

假设所需要传递信息的最大长度为 104 字节,在这种情况下,若不采用纠错算法,则难以保证在有限的传递次数内完成信息的发送。

累积纠错算法

为了解决这一问题,ESP-TOUCH 采用了累积纠错算法,以确保在有限的次数内完成信息发送。该算法的理论基础是:在多轮数据发送过程中,同一位数据出错的概率非常低。因此可以累积多轮数据传递结果进行分析,在某一轮中发生错误的数据位可能在其他轮中找到其对应的正确值,从而保证在有限的次数内完成信息的发送。

信息发送的成功率可以通过以下公式表示:

成功率 = [1 – (1 – P)k]l

其中:

  • P:单个数据包的成功率
  • k:发送轮次
  • l:发送信息的长度(字节)

典型场景分析:

  • 20 MHz 带宽 (P = 0.95):104 字节数据成功率可达 95%
  • 40 MHz 带宽 (P = 0.83):72 字节数据成功率可达 83%

以下表格显示了采用累积纠错算法时,信息发送的成功率和发送时间的不同情况。

表:20 MHz 带宽分析

轮次 时间(秒) – 104 字节 成功率 – 104 字节 时间(秒) – 72 字节 成功率 – 72 字节
1 4.68 0.0048 3.24 0.0249
2 9.36 0.771 6.48 0.835
3 14.04 0.987 9.72 0.991
4 18.72 0.9994 12.90 0.9996
5 23.40 0.99997 16.20 0.99998
6 28.08 0.999998 19.40 0.99999

表:40 MHz 带宽分析

轮次 时间(秒) – 104 字节 成功率 – 104 字节 时间(秒) – 72 字节 成功率 – 72 字节
1 4.68 3.84e-9 3.24 1.49e-6
2 9.36 0.0474 6.48 0.121
3 14.04 0.599 9.72 0.701
4 18.72 0.917 12.90 0.942
5 23.40 0.985 16.20 0.989
6 28.08 0.997 19.40 0.998
- 本文内容来自网络,如有侵权,请联系本站处理。

2025-03   阅读(288)   评论(0)
 标签: 创客电子 ESP32

涨知识
EDA

电子设计自动化(英语:Electronic design automation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。

评论:
相关文章
MimiClaw应用与开发教程1:部署和测试

MimiClaw‌ 是一款基于 ‌ESP32-S3‌ 芯片的超轻量级AI助手,适合嵌入式AI与物联网开发者快速部署本地化AI代理。本系列教程基于MimiClaw的Arduino移植版本进行讲解,小节主要讲解部署和测试。


ESP32扫描wifi 热点列表

就像我们用手机打开WiFi功能后可以浏览附近的可用WiFi。要将手机连接到热点,通常需要打开Wi-Fi设置应用程序,列出可用的网络,然后选择所需的热点。然后输入密码(或不输入密码),可以使用ESP32进行相同的操作。


MimiClaw 配置飞书机器人和添加硬件控制技能

本文本介绍配置飞书机器人为MimiClaw的一个输入/输出端,和添加一个控制WS2812与LED的控制技能。


ESP32-S3 部署 MimicLaw 完整教程:从零到成功调用 DeepSeek

一块 30 块钱的开发板 + 一个大模型 API,就能做出可以听懂人话的智能硬件。 本文记录完整安装过程和踩坑经验,确保你跟着做就能跑通。


MimiClaw 架构全解析,把 “智能龙虾” 跑在 ESP32 上

本文将从手绘架构图入手,逐层拆解 MimiClaw 的分层设计、核心模块、数据流转与底层实现,带你解剖这只“智能虾”的技术骨架,看懂在 C 语言加持下,AI 智能体如何以可穿戴设备的形态,在你身边稳稳运行、离线服务、主动响应。


如何用 platform.local.txt 深度定制 ESP32 编译流程?

本文介绍如何在不脱离 ArduinoIDE 可视化开发的前提下,通过一个名为 platform.local.txt 的小文件,实现对 ESP32 编译流程的精准控制。


优化Arduino-ESP32程序体积

本文将系统分析程序体积增长的五大根源,并提供经过验证的优化方案,帮助减小固件大小。


开发ESP32大模型AI语音助手-从软件到硬件

本文所DIY的语音助手设备端使用的是MicroPython、服务端是Python,对于很多开发者来说MicroPython入门没难度。


【ESP32 C++教程】Unit10-2:音频录制

本小节使用音频开发框架实现一个音频录制到文件的示例。


ESP32 I2S 接口深度解析:从时序、格式到 ESP-IDF 驱动实战

I2S协议通过BCLK、LRCLK和DATA三线精准传输音频数据,但时序边沿、帧格式、时钟源等细节常引发噪声或断连。本文详解ESP32的I2S实现,从协议原理到ESP-IDF v5.x代码配置,助你避开常见陷阱,确保音频稳定传输。