ESP-TOUCH_User_Guide__CN.pages

Similar documents
BT&BLE_Coexistence_Demo__CN.pages

4B-ESP8266__AT Command Examples__CN.pages

5A-ESP8266__SDK__SSL_User_Manual__CN.pages

0C-ESP-WROOM-02_Datasheet_CN.pages

ESP-WROOM-02D_ESP-WROOM-02U_Datasheet_CN.pages

ESP32-LyraT_User_Guide__CN.pages

ESP8089_Datasheet__CN

Intruduction to the NGINX stream subsystem and OpenResty's support

ESP32_FAQs__CN

production_testing_guide__CN.pages

Hippy-VueConf

python_free

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

0a-esp8266ex_datasheet_cn

CC213

C 1

面 試 考 古 題 01 請 你 先 簡 單 做 個 自 我 介 紹 自 我 介 紹 通 常 是 面 試 的 第 一 題 在 雙 方 對 彼 此 都 不 太 熟 悉 的 情 況 下, 由 求 職 者 簡 短 自 我 介 紹 中, 面 試 官 可 快 速 掌 握 求 職 者 的 背 景 資 料, 並

谚语阐因

untitled

Microsoft Word - 永政发〔2016〕48号.doc

构建 Bluetooth 移动应用 主讲人 : 任凯 微信 :kaiser-tech 2016 年 5 月 6 日 3

untitled

《美国名将全传——德怀特·戴维·艾森豪威尔》

Microsoft PowerPoint - ds-1.ppt [兼容模式]

untitled

Qcon北京2018-《唯快不破——高效定位线上 Node.js 应用内存泄漏》-黄一君

资 讯 速 递 台 基 于 大 数 据 的 学 校 督 导 评 估 系 统 建 设 上 海 市 闵 行 区 人 民 政 府 教 育 督 导 室 ( 摘 要 ) 闵 行 教 育 在 深 化 教 育 改 革 探 索 管 办 评 分 离 的 背 景 下, 把 教 育 督 导 评 估 系 统 建 设 作 为

浙江师范大学2014年度毕业生就业质量报告

目 录 监 管 资 讯 2016 年 全 国 保 险 监 管 工 作 会 议 召 开...3 协 会 动 态 赤 峰 保 险 行 业 协 会 召 开 数 据 统 计 和 信 息 宣 传 总 结 表 彰 会 议...5 赤 峰 市 保 险 行 业 协 会 秘 书 处 召 开 2015 年 度 述 职

同 时, 采 取 提 供 新 闻 线 索 和 素 材 安 排 专 访 等 方 式 主 动 为 新 闻 媒 体 服 务, 为 采 访 报 道 活 动 创 造 便 利 条 件 建 设 网 络 信 息 发 布 平 台 2013 年 9 月 开 通 中 央 纪 委 监 察 部 网 站,2015 年 1 月

公務員服務法第13條相關解釋彙整表

大陸教育部等6個部門公佈「現代職業教育體系建設規劃 ( 年)」規劃到2015年初步形成現代職業教育體系框架,到2020年基本建成「中國」特色現代職業教育體系

時間軸上的竹蓮記憶 學務主任 黃雅彙 我不是竹蓮國小的畢業校友 但對於身為新竹人的我來 說 仔細回想起來 似乎和竹蓮有著一種特別的緣分 對竹蓮國小最初的印象是在小學的時候 猶記得年幼的 我經過一段時日的啦啦隊舞蹈訓練後 老師便帶著我們從學 校步行到竹蓮國小來參加比賽 一踏入竹蓮校門 映入眼簾 的是黑

B1

Microsoft Word - 临政办发6.doc

B1

untitled

秘密

E11701


<4D F736F F D20D0C5CFA2BBAFB7A2D5B9D6D8B5E3D7A8CFEEB9E6BBAE2E646F63>

关于建立境内违法互联网站黑名单管理制度的通知

? 這 全 都 是 市 政 府 提 供 給 我 的 資 料 低 底 盤 公 車 計 畫 96 年 預 算 新 台 幣 4,500 萬 元 97 年 預 算 新 台 幣 1 億 6,500 萬 元 98 年 預 算 新 台 幣 3 億 2,300 萬 元, 共 有 307 台 低 底 盤 公 車,99

untitled

2C-ESP8266_Non_OS_SDK_API_Reference__CN.pages

中国证券监督管理委员会公告

从 宾 馆 到 又 一 城 是 十 五 分 钟, 从 又 一 城 到 邵 逸 夫 是 十 分 钟, 去 时 一 路 上 坡 很 辛 苦, 回 时 一 路 下 坡 很 轻 松, 很 像 上 小 学 时 的 心 情, 这 是 最 初 几 天 最 深 的 感 受 有 段 时 间 很 少 走 校 内 的 路

合金投资年报正文.PDF


ac2017-joeyguo-2.0.key

Espressif_FAQ_CN

新美大酒店开放平台SDK(JAVA版)使用说明.pages

AS北京2017-《知乎 Feed 流构架演进》-姚钢强.key

Chapter #

ChinaBI企业会员服务- BI企业

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Livescribe+ 用户指南

0A-ESP8266EX_Datasheet__CN

Sqoop使用简介

免 责 申 明 和 版 权 公 告 本 文 中 的 信 息, 包 括 供 参 考 的 URL 地 址, 如 有 变 更, 恕 不 另 行 通 知 文 档 按 现 状 提 供, 不 负 任 何 担 保 责 任, 包 括 对 适 销 性 适 用 于 特 定 用 途 或 非 侵 权 性 的 任 何 担 保

< Essential LEDtube > | < Philips >

彩圖 6 彩圖 7 彩圖 8 3

ESP32-WROOM-32D ESP32-WROOM-32U URL Wi-Fi Wi-Fi Bluetooth SIG 208

2A-ESP8266-SDK__Getting_Started_Guide__CN.pages

FY.DOC

[Table_MainInfo]

概述

开原天气参加铁岭市“三公开”教研活动 暨开原市农村小学语文识字

Microsoft Word - 文化2016(2)修改.doc

Moto Z

Bilibili海量监测平台的演进之路

习题课

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

上证指数

ESP32-WROOM URL Wi-Fi Wi-Fi Bluetooth SIG 2018

构建高效的私有云平台V3

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

TVS厂商接入流程API文档

Chap06

Tangram For GMTC 2017.key

ISBN: 书 名 : 作 者 : 著 出 版 社 : 立 信 会 计 出 版 社 中 图 法 分 类 号 :F.1296 出 版 日 期 :

ISBN: 书 名 : 作 者 : 著 出 版 社 : 立 信 会 计 出 版 社 中 图 法 分 类 号 :D.0053 出 版 日 期 :

30.00% 25.00% 25.00% 22.50% 20.00% 15.00% 12.50% 15.00% 12.50% 10.00% 7.50% 5.00% 2.50% 2.50% 0.00% 文 学 理 学 工 学 法 学 教 育 学 管 理 学 历 史 学 艺 术 学 ( 三 ) 学 生

目 录 概 述 背 景 社 会 背 景 行 业 背 景 需 求 分 析..6 3 优 势 分 析 资 源 优 势 品 牌 优 势 技 术 优 势 用 户 体 验.....

/ / 3 / Bose Corporation 32 F ~ 104 F (0 C ~ 40 C)

Microsoft Word - 01.DOC

ESP3-WROVER URL Wi-Fi Wi-Fi Bluetooth SIG 08

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

云商城

鍋爐系統

第 12 期 2

LV1

Microsoft Word - GT21L16S2W简要说明V3.7.doc

无类继承.key

LC3-分布式事务-姜宁

5

Microsoft PowerPoint - ds-9.ppt [兼容模式]

20A-ESP8266__RTOS_SDK__Programming Guide__CN.pages

Chap07

Transcription:

ESP-TOUCH 使 用指南 版本 2.0 版权 2018

关于本 手册 发布说明 日期 版本 发布说明 2015.12 V1.0 首次发布 2016.04 V1.1 更更新第 2 章和第 3 章 V2.0 更更新第 3 章, 增加对 ESP32 的 支持 文档变更更通知 用户可通过乐鑫官 网订阅技术 文档变更更的电 子邮件通知 证书下载 用户可以通过乐鑫官 网下载产品证书

目录 1. ESP-TOUCH 技术原理理简介... 1 2. ESP-TOUCH 使 用 方式... 3 2.1. ESP-TOUCH 功能概述... 3 2.2. ESP-TOUCH 操作说明... 3 3. API 开发... 4 3.1. ESP8266 API... 4 3.1.1. smartconfig_start... 4 3.1.2. smartconfig_stop... 6 3.1.3. smartconfig_set_type... 6 3.1.4. 结构体... 7 3.2. ESP32 API... 7 3.2.1. esp_smartconfig_start... 7 3.2.2. esp_smartconfig_stop... 9 3.2.3. esp_smartconfig_set_timeout... 10 3.2.4. esp_smartconfig_set_type... 10 3.2.5. esp_smartconfig_fast_mode... 11 3.2.6. 类型... 11 3.2.7. 结构体... 12 4. ESP-TOUCH 通信协议性能分析... 13

! 1. ESP-TOUCH 技术原理理简介 1. ESP-TOUCH 技术原理理简介 乐鑫 自主研发的 ESP-TOUCH 协议采 用的是 Smart Config( 智能配置 ) 技术, 帮助 用户将 采 用 ESP8266EX 和 ESP32 的设备 ( 以下简称 设备 ) 连接 至 Wi-Fi 网络 用户只需在 手 机上进 行行简单操作即可实现智能配置 整个过程如下图所示 : 图 1-1. ESP-TOUCH 技术信息传输过程由于设备在 一开始并未连接 至 网络,ESP-TOUCH App 无法直接向设备发送信息 通过 ESP-TOUCH 通信协议, 具备 Wi-Fi 网络接 入能 力力的设备 ( 例例如智能 手机 ) 就可以向接 入点 (AP) 发送 一系列列 UDP 包, 其中每 一包的 长度 ( 即 Length 字段 ) 都按照 ESP- TOUCH 通信协议进 行行编码,SSID 和密码就包含在 Length 字段中, 随后设备便便可以获得并解析出所需的信息 数据包结构如图 1-2 所示 : Espressif! 1/15

! 1. ESP-TOUCH 技术原理理简介 6 6 2 3 5 Variable 4 DA SA Length LLC SNAP DATA FCS SSID 图 1-2. 数据包结构 Espressif! 2/15

2. ESP-TOUCH 使 用 方式 2. ESP-TOUCH 使 用 方式 2.1. ESP-TOUCH 功能概述 ESP8266 OS 版和 非 OS 版 SDK 以及 ESP32 IDF 均 支持 ESP-TOUCH 上述 SDK 和 IDF 还集成微信 AirKiss 协议, 用户可使 用 ESP-TOUCH App 或微信客户端配置设备 说明 : ESP-TOUCH App 源码的下载地址为 :https://github.com/espressifapp 2.2. ESP-TOUCH 操作说明 1. 准备 一台 支持 ESP-TOUCH 的设备, 开启配置功能 ; 2. 将 手机连接 至路路由器器 ; 3. 打开安装在 手机上的 ESP-TOUCH App; 4. 在 App 界 面输 入路路由器器的 SSID 和密码 ( 若路路由不不加密则密码为空 ), 开始连接 说明 : 设备与 手机建 立链路路所需的时间和两者之间的距离有关, 若距离很近, 仅需数秒即可完成 在开启设备端 ESP-TOUCH 智能配置功能之前, 请确保路路由器器已经开启 由于开启此功能后, 设备会先扫描周围的 AP 信息, 如果路路由器器没有开启, 则 无法获取周围的 AP 列列表 ESP-TOUCH App 端发送序列列有超时限制, 即如果没有在规定的时间配置上路路由,App 会返回配置失败信息 ( 参考 App 源码 ) 设备端也会有超时限制, 从设备锁定通道开始计时到获取 SSID 和密码信息, 如果达到超时限制但并未获取到 SSID 和密码信息, 设备会 自动重新开始 一次 Smart Config 用户可以通过 esptouch_set_timeout(uint8 time_s) 或 esp_smartconfig_set_timeout(uint8 time_s) 设置超时时间 Smart Config 过程中设备需要开启 Sniffer 模式, 所以在 ESP8266 上 Station 和 soft-ap 模式都是关闭的, 不不要调 用其他相关 API ESP32 不不受此限制, 可以同时开启 Sniffer 和 Station 模式 配置结束后, 发送端获取设备的 IP, 设备端也会返回发送端的 IP, 如果 用户需要 自定义发送端和设备端的信息交互, 可以使 用此 IP 信息进 行行局域 网通信 如果路路由器器设置了了 AP 隔离, 会出现设备连接路路由器器成功, 但 App 未收到连接成功的提示的现象 支持 手机同时配置多个设备到同 一路路由器器上, 配置时 App 端选择接收多个返回结果 ESP8266 和 ESP32 不不 支持 5G 和 11AC 模式, 因此不不 支持 Smart Config 连接 5G 或 11AC 模式的路路由器器 Espressif! 3/15

3. API 开发! 3. API 开发 调 用如下 API 可实现 ESP-TOUCH 配置, 请尽量量使 用最新的 App 和固件版本 SDK 和 IDF 工程中提供使 用 ESP-TOUCH 的操作示例例供参考 3.1. ESP8266 API 3.1.1. smartconfig_start 功能 : 配置设备连接 AP 注意 : 调 用本接 口前, 设备需被设置成 Station 模式 smartconfig_start 未完成之前不不可重复执 行行 smartconfig_start 函数 如果需要停 止 Smart Config 过程, 则需调 用 smartconfig_stop 函数 函数定义 :bool smartconfig_start(sc_callback_t cb, uint8 log) 参数 : 设备在状态发 生改变时会产 生回调, 传 入回调函数的参数为 sc_status status 和 struct station_config 类型的指针变量量 传 入回调函数的参数 status 表 Smart Config 状态 : sc_callback_t cb 当 status 为 SC_STATUS_GETTING_SSID_PSWD 时, 参数 void *pdata 为 sc_type 类型的指针变量量, 用户可以根据此参数知道此次配置过程是 AirKiss 还是 ESP-TOUCH 当 status 为 SC_STATUS_LINK 时, 参数 void *pdata 为 struct station_config 类型的指针变量量 当 status 为 SC_STATUS_LINK_OVER 时, 参数 void *pdata 是移动端的 IP 地址的指针,4 个字节 ( 仅 支持在 ESP-TOUCH 方式下, 其他 方式 则为 NULL) 当 status 为其他状态时, 参数 void *pdata 为 NULL Espressif! 4/15

3. API 开发! 1, UART 打印连接过程 ; 否则 UART 仅打印连接结果 例例如 : uint8 log smartconfig_start(smartconfig_done,1): 串串 口将打印连接过程中的 DEBUG 信息 smartconfig_start(smartconfig_done): 串串 口不不打印 DUBUG 信息, 只 打印连接结果 返回 : TRUE FALSE 成功 失败 示例例 : void ICACHE_FLASH_ATTR smartconfig_done(sc_status status, void *pdata) { switch(status) { case SC_STATUS_WAIT: os_printf("sc_status_wait\n"); case SC_STATUS_FIND_CHANNEL: os_printf("sc_status_find_channel\n"); case SC_STATUS_GETTING_SSID_PSWD: os_printf("sc_status_getting_ssid_pswd\n"); sc_type *type = pdata; if (*type == SC_TYPE_ESPTOUCH) { os_printf("sc_type:sc_type_esptouch\n"); } else { os_printf("sc_type:sc_type_airkiss\n"); } case SC_STATUS_LINK: os_printf("sc_status_link\n"); struct station_config *sta_conf = pdata; wifi_station_set_config(sta_conf); wifi_station_disconnect(); wifi_station_connect(); Espressif! 5/15

3. API 开发 case SC_STATUS_LINK_OVER: os_printf("sc_status_link_over\n"); if (pdata!= NULL) { uint8 phone_ip[4] = {0}; memcpy(phone_ip, (uint8*)pdata, 4); os_printf("phone ip: %d.%d.%d. %d\n",phone_ip[0],phone_ip[1],phone_ip[2],phone_ip[3]); } smartconfig_stop(); } } smartconfig_start(smartconfig_done); 3.1.2. smartconfig_stop 功能 : 停 止配置设备, 并且释放调 用 smartconfig_start 函数所申请的内存 说明 : 连上 AP 后, 可调 用本接 口释放内存 函数定义 :bool smartconfig_stop(void) 参数 :Null 返回 : TRUE FALSE 成功 失败 3.1.3. smartconfig_set_type 功能 : 设置 smartconfig_start 模式的协议类型 说明 : 如需调 用本接 口, 请在 smartconfig_start 之前调 用 函数定义 :bool smartconfig_set_type(sc_type type) 参数 : typedef enum { SC_TYPE_ESPTOUCH = 0, SC_TYPE_AIRKISS, SC_TYPE_ESPTOUCH_AIRKISS, Espressif! 6/15

3. API 开发 返回 : } sc_type; TRUE FALSE 成功 失败 3.1.4. 结构体 typedef enum { SC_STATUS_WAIT = 0, SC_STATUS_FIND_CHANNEL = 0, SC_STATUS_GETTING_SSID_PSWD, SC_STATUS_LINK, SC_STATUS_LINK_OVER, } sc_status; 注意 : SC_STATUS_FIND_CHANNEL 状态 : 设备处于扫描信道的过程, 这时才可开启 App 进 行行配对连接 3.2. ESP32 API typedef enum { SC_TYPE_ESPTOUCH = 0, SC_TYPE_AIRKISS, SC_TYPE_ESPTOUCH_AIRKISS, } sc_type; 3.2.1. esp_smartconfig_start 功能 : 配置设备连接 AP 注意 : 调 用本接 口前, 设备需被设置成 Station 或者 Station + soft-ap 模式 esp_smartconfig_start 未完成之前不不可重复执 行行 esp_smartconfig_start 函数 如果需要停 止 Smart Config 过程, 则需调 用 esp_smartconfig_stop 函数 函数定义 :esp_err_t esp_smartconfig_start(sc_callback_t cb,...) Espressif! 7/15

3. API 开发! 参数 : 设备在状态发 生改变时会产 生回调, 传 入回调函数的参数为 smartconfig_status_t status 和 wifi_config_t 类型的指针变量量 传 入回调函数的参数 status 表 Smart Config 状态 : sc_callback_t cb 当 status 为 SC_STATUS_GETTING_SSID_PSWD 时, 参数 void *pdata 为 smartconfig_type_t 类型的指针变量量, 用户可以根据此参数知道此次配置过程是 AirKiss 还是 ESP-TOUCH 当 status 为 SC_STATUS_LINK 时, 参数 void *pdata 为 wifi_config_t 类 型的指针变量量 当 status 为 SC_STATUS_LINK_OVER 时, 参数 void *pdata 是移动端的 IP 地址的指针,4 个字节 ( 仅 支持在 ESP-TOUCH 方式下, 其他 方式则为 NULL) 当 status 为其他状态时, 参数 void *pdata 为 NULL 1, UART 打印连接过程 ; 否则 UART 仅打印连接结果 例例如 :... esp_smartconfig_start(smartconfig_done,1): 串串 口将打印连接过程中 的 DEBUG 信息 esp_smartconfig_start(smartconfig_done): 串串 口不不打印 DUBUG 信 息, 只打印连接结果 返回 : ESP_OK others 成功 失败 示例例 : void sc_callback(smartconfig_status_t status, void *pdata) { switch(status) { case SC_STATUS_WAIT: printf("sc_status_wait\n"); case SC_STATUS_FIND_CHANNEL: printf("sc_status_find_channel\n"); case SC_STATUS_GETTING_SSID_PSWD: printf("sc_status_getting_ssid_pswd\n"); Espressif! 8/15

3. API 开发 smartconfig_type_t *type = pdata; if (*type == SC_TYPE_ESPTOUCH) { printf("sc_type:sc_type_esptouch\n"); } else { printf("sc_type:sc_type_airkiss\n"); } case SC_STATUS_LINK: printf("sc_status_link\n"); wifi_config_t *wifi_conf = pdata; esp_wifi_disconnect(); esp_wifi_set_config(esp_if_wifi_sta, wifi_conf); esp_wifi_connect(); case SC_STATUS_LINK_OVER: printf("sc_status_link_over\n"); if (pdata!= NULL) { uint8 phone_ip[4] = {0}; memcpy(phone_ip, (uint8*)pdata, 4); printf("phone ip: %d.%d.%d. %d\n",phone_ip[0],phone_ip[1],phone_ip[2],phone_ip[3]); } esp_smartconfig_stop(); } } esp_smartconfig_start(sc_callback); 3.2.2. esp_smartconfig_stop 功能 : 停 止配置设备, 并且释放调 用 esp_smartconfig_start 函数所申请的内存 说明 : 连上 AP 后, 可调 用本接 口释放内存 函数定义 :esp_err_t esp_smartconfig_stop(void) 参数 :Null 返回 : ESP_OK others 成功 失败 Espressif! 9/15

3. API 开发 3.2.3. esp_smartconfig_set_timeout 功能 : 设置 Smart Config 的超时时间 说明 : 如需调 用本接 口, 请在 esp_smartconfig_start 之前调 用 超时时间是从 SC_STATUS_FIND_CHANNEL 状态开始计算, 超时之后重新开始 Smart Config 函数定义 :esp_err_t esp_smartconfig_set_timeout(uint8_t time_s) 参数 : time_s 超时时间, 范围 15 ~ 255s 返回 : ESP_OK others 成功 失败 3.2.4. esp_smartconfig_set_type 功能 : 设置 esp_smartconfig_start 模式的协议类型 说明 : 如需调 用本接 口, 请在 esp_smartconfig_start 之前调 用 函数定义 :esp_err_t esp_smartconfig_set_type(smartconfig_type_t type) 参数 : typedef enum { SC_TYPE_ESPTOUCH = 0, SC_TYPE_AIRKISS, SC_TYPE_ESPTOUCH_AIRKISS, } smartconfig_type_t; 返回 : ESP_OK others 成功 失败 Espressif! 10/15

3. API 开发 3.2.5. esp_smartconfig_fast_mode 功能 : 设置 Smart Config 快速模式是否使能 说明 : 如需调 用本接 口, 请在 esp_smartconfig_start 之前调 用 ; 快速模式需要配合对应的 App 使 用 函数定义 :esp_err_t esp_smartconfig_fast_mode(bool enable) 参数 : enable True: 使能快速模式,False: 禁 用快速模式 返回 : ESP_OK others 成功 失败 3.2.6. 类型 Typedef void (*sc_callback_t)(smartconfig_status_t status, void *pdata) 功能 : 传 入 esp_smartconfig_start 的回调函数 参数 : smartconfig_status_t Void* 设备的状态 当 status 为 SC_STATUS_GETTING_SSID_PSWD 时, 参数 void *pdata 为 smartconfig_type_t 类型的指针变量量, 用户可以根据此参数知道此次配置过程是 AirKiss 还是 ESP-TOUCH 当 status 为 SC_STATUS_LINK 时, 参数 void *pdata 为 wifi_config_t 类型的指针变量量 当 status 为 SC_STATUS_LINK_OVER 时, 参数 void *pdata 是移动端的 IP 地址的指针,4 个字节 ( 仅 支持在 ESP-TOUCH 方式下, 其他 方式则为 NULL) 当 status 为其他状态时, 参数 void *pdata 为 NULL Espressif! 11/15

3. API 开发 3.2.7. 结构体 typedef enum { SC_STATUS_WAIT = 0, SC_STATUS_FIND_CHANNEL = 0, SC_STATUS_GETTING_SSID_PSWD, SC_STATUS_LINK, SC_STATUS_LINK_OVER, } smartconfig_status_t; 注意 : SC_STATUS_FIND_CHANNEL 状态 : 设备处于扫描信道的过程, 这时才可开启 App 进 行行配对连接 typedef enum { SC_TYPE_ESPTOUCH = 0, SC_TYPE_AIRKISS, SC_TYPE_ESPTOUCH_AIRKISS, } smartconfig_type_t; Espressif! 12/15

4. ESP-TOUCH 通信协议性能分析 4. ESP-TOUCH 通信协议性能分析 ESP-TOUCH 技术中的通信模型可以抽象为某种错误率的单向的信道, 但这种错误率 又根据带宽的不不同 而有所不不同 20M 带宽的包错误率为 0 ~ 5%,40M 带宽的包错误率为 0 ~ 17% 假设所需要传递信息的最 大 长度为 104 Byte 在这种情况下, 如果不不采 用纠错算法, 就很难保证在有限次数内完成信息的发送 ESP-TOUCH 采 用了了累积纠错算法来保证在有限次内完成传输过程 累积纠错算法的理理论基础为 : 多轮数据发送过程中, 在同 一位数据上发 生错误的概率是很低的 因此可以累积多轮的数据传递结果进 行行分析, 其中 一轮中某 一位错误数据有很 大的概率能其它轮中找到其对应的正确值, 这样就能保证在有限次内完成信息的发送 信息的成功率可抽象为公式 :! (! : 包的成功率,! : 循环发送的轮数,! : 发送信息的 长度 ) 假定需要传递信息的 长度为 104 Byte 和 72 Byte, 我们计算了了在最坏的情况下, 即! =0.95 (20M) 和! =0.83 (40M) 使 用累积纠错算法与不不使 用累积纠错算法信息发送成功的概率与发送次数的关系, 结果如下表所示 : 表 4-1. ESP-TOUCH 纠错能 力力分析 (20 MHz 宽带 ) 发送轮数 信息 长度 :104 Byte 信息 长度 :72 Byte 发送时间 (s) 成功率发送时间 (s) 成功率 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.9 0.9996 5 23.40 0.99997 16.2 0.99998 6 28.08 0.999998 19.4 0.99999 Espressif! 13/15

4. ESP-TOUCH 通信协议性能分析 表 4-2. ESP-TOUCH 纠错能 力力分析 (40 MHz 宽带 ) 发送轮数 信息 长度 :104 Byte 信息 长度 :72 Byte 发送时间 (s) 成功率发送时间 (s) 成功率 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.9 0.942 5 23.40 0.985 16.2 0.989 6 28.08 0.997 19.4 0.998 Espressif! 14/15

免责申明和版权公告本 文中的信息, 包括供参考的 URL 地址, 如有变更更, 恕不不另 行行通知 文档 按现状 提供, 不不负任何担保责任, 包括对适销性 适 用于特定 用途或 非侵权性的任何担保, 和任何提案 规格或样品在他处提到的任何担保 本 文档不不负任何责任, 包括使 用本 文档内信息产 生的侵犯任何专利利权 行行为的责任 本 文档在此未以禁 止反 言或其他 方式授予任何知识产权使 用许可, 不不管是明示许可还是暗示许可 Wi-Fi 联盟成员标志归 Wi-Fi 联盟所有 蓝 牙标志是 Bluetooth SIG 的注册商标 乐鑫 IoT 团队 www.espressif.com 文中提到的所有商标名称 商标和注册商标均属其各 自所有者的财产, 特此声 明 版权归 2018 乐鑫所有 保留留所有权利利