ESP32 测试(八):不同 Wi-Fi 协议对 ESP32 AP 模式发包时的持续时间以及电流功耗的测试

一. 测试目的

经常会有开发者提出不同 Wi-Fi 协议对 ESP32 AP 模式发包时的持续时间以及电流功耗,本文将进行此项测试。


二. 测试环境

为了保证测试结果的一致性,采用以下测试环境:

  • esp-idf
    本文使用 release/v3.3 版本进行测试,对应 commit 为 2befd5c。可通过以下命令确认:

    git log --oneline -1
    

    结果为:

    2befd5c Merge branch 'feature/wifi_prov_ext_httpd_v3.3' into 'release/v3.3'
    
  • toolchain 版本
    gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) ,可通过以下命令确认:

    xtensa-esp32-elf-gcc -v
    

    结果为(log 过长,只需要关注最后的这部分。如下):

    Thread model: posix
    gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 
    
  • 测试主机
    Linux 环境,Ubuntu 16.04 LTS,可选用其他平台。

  • 开发板
    ESP32-WROOM-32D 开发板,可选用其他基于 ESP32 的开发板。

  • 测试示例
    esp-idf 里的 softAP 示例

  • 测试工具
    Tektronix MDO3104 示波器。


三. 测试步骤

此次测试使用了 esp-idf 里的 softAP 示例

1. 接入示波器

测试时测量 Vcc 引脚上连接导线的电流即可。

2. 代码修改

首先你需要 下载并配置 esp-idf,配置完成后,你可以输入以下指令来进入对应的项目:

cd ~/esp/esp-idf/examples/wifi/getting_started/softAP

然后你需要添加 Wi-Fi 协议设置的 API。以下是具体的操作:

  • 添加 Wi-Fi 协议设置的 API:在 softap_example_main.c 里的 wifi_init_softap() 函数中添加 esp_wifi_set_protocol(ESP_IF_WIFI_AP,WIFI_PROTOCOL_11B),这样就将 Wi-Fi 协议设置为 802.11b。以下是 esp-idf 支持的 Wi-Fi 协议:
     
    802.11 B     esp_wifi_set_protocol(ifx, WIFI_PROTOCOL_11B)
    802.11 BG    esp_wifi_set_protocol(ifx, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G)
    802.11 BGN   esp_wifi_set_protocol(ifx, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N)
    802.11 BGNLR esp_wifi_set_protocol(ifx, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N|WIFI_PROTOCOL_LR)
    802.11 LR    esp_wifi_set_protocol(ifx, WIFI_PROTOCOL_LR)
    

    注:ifx 参数在此处应为 ESP_IF_WIFI_AP。

3. 固件烧写及串口监视

在正确修改 Wi-Fi 协议后,你可以进行固件烧写及串口监视,首先你需要针对 Wi-Fi 账号密码进行简单配置:

make menuconfig

menuconfig 界面,你需要设置想要的 AP 的 SSIDpassword,然后你就可以运行如下指令进行固件烧录及串口监视:

make flash monitor

在串口监视工具中,当你看到 AP 模式成功初始化并显示 SSIDpassword 时,就可以开始此次测试了。


四. 测试结果

运行此示例,在首次烧录并成功初始化 AP 之后,你即可从示波器上观测到想要的测试信息。以下是对应不同 Wi-Fi 协议下的 AP 模式发包时的持续时间以及电流功耗结果:

Wi-Fi 协议 AP 模式发包时的持续时间 AP 模式发包时的电流功耗
802.11b 1.28 ms 264 mA
802.11b/802.11g 1.52 ms 392 mA
802.11b/802.11g/802.11n 1.96 ms 392 mA

对应示波器截图如下:

  • 802.11b
    在这里插入图片描述

  • 802.11b|802.11g
    在这里插入图片描述

  • 802.11b|802.11g|802.11n
    在这里插入图片描述


五. 总结

通过以上方法,可测出 ESP32 的不同 Wi-Fi 协议对 ESP32 AP 模式发包时的持续时间以及电流功耗,用户可选择采用以上方法对自己的 ESP32 进行对应测试。


六. 附录:相关知识整理

1. Wi-Fi IEEE 802.11b

IEEE 802.11b 是无线局域网的一个标准。其载波的频率为 2.4 GHz,可提供 1、2、5.5 及 11 Mbit/s 的多种传输速度。在 2.4 GHz 的 ISM 频段共有 11 个频宽为 22 MHz 的频道可供使用,它是 11 个相互重叠的频段。IEEE 802.11b 的后继标准是 IEEE 802.11g。

802.11b 工作在 2.4G 的 ISM 频段上,物理层上使用了的补码键控(CCK)调制方式,不同于 802.11 原始标准,使得最大速率达到 11 Mbps。在介质访问控制上,标准采用载波侦听多路访问/冲突避免(CSMA/CA)的方式,这与原始标准相同。考虑到 CSMA/CA 协议的开销,802.11b 设备间的最大吞吐量,TCP 可以达到 5.9 Mbps,UDP达到 7.1 Mbps。由于微波炉,蓝牙设备,ZigBee 等产品都工作在 ISM 频段上,802.11b 设备可能会受到其他设备的干扰。

2. Wi-Fi IEEE 802.11g

IEEE 802.11g 在 2003 年7 月被通过。其载波的频率为 2.4 GHz(跟 802.11b 相同),共 14 个频段,最大传送速度为 54 Mbit/s。802.11g 的设备向下与 802.11b 兼容。

802.11g 工作在 2.4G 的 ISM 频段上,物理层上使用了正交频分复用(OFDM)调制方式,不同于 802.11 原始标准和 802.11b 标准,而与802.11a 标准相同,使得最大速率达到 54 Mbps。在介质访问控制上,标准采用载波侦听多路访问/冲突避免(CSMA/CA)的方式,这与其他标准相同。考虑到 CSMA/CA 协议的开销,802.11g 设备间的最大吞吐量可以达到 31.4 Mbps。由于微波炉,蓝牙设备,ZigBee 等产品都工作在 ISM 频段上,802.11g 设备可能会受到其他设备的干扰。

3. Wi-Fi IEEE 802.11n

IEEE 802.11n(又被称为 Wi-Fi 4),于 2009 年 9 月正式批准。该标准增加了对 MIMO 的支持,最大传输速度為 450 Mbit/s。同时,通过使用 Alamouti 提出的空时分组码,该标准扩大了数据传输范围。

4. Wi-Fi IEEE 802.11b/g/n 的区别

协议标准时间 发布时间 工作频段 标准速度 理想最高速率 覆盖范围
802.11b 1999 2.4-2.5 GHz 6.5 Mbps 11 Mbps 30 m / 100 m
802.11g 2003 2.4-2.5 GHz 25 Mbps 54 Mbps 30 m / 100 m
802.11n 2009 2.4 GHz / 5 GHz 300 Mbps 600 Mbps 70 m / 250 m

4. 英文简写术语解释

  • ISM:ISM 频段 (Industrial Scientific Medical Band),分別是工业的 (Industrial)、科学的(Scientific)和医学的(Medical),因此 ISM 频段就是各国挪出某一段频段主要开放给工业,科学和医学机构使用。应用这些频段无需许可证或费用,只需要遵守一定的发射功率(一般低于1 W),并且不要对其它频段造成干扰即可。ISM 频段在各国的规定并不统一。如在美国有三个频段 902-928 MHz、2400-2484.5 MHz 及5725-5850 MHz,而在欧洲 900 MHz 的频段则有部份用于 GSM 通信。而 2.4 GHz 为各国共同的 ISM 频段。因此无线局域网 (IEEE 802.11b/IEEE 802.11g)、蓝牙、ZigBee 等无线网络,均可工作在 2.4 GHz 频段上。
  • CCK:补码键控
  • OFDM:正交频分多工 (Orthogonal frequency-division multiplexing) 有时又称为分离复频调变技术 (discrete multitone modulation, DMT),可以视为多载波传输的一个特例,具备高速率资料传输的能力,加上能有效对抗频率选择性衰减衰減,而逐渐获得重视与采用。
    OFDM 使用大量紧邻的正交子载波 (Orthogonal sub-carrier),每个子载波采用传统的调变方案,進行低符号率调制。可以视为一调变技术与多工技术的结合。
  • CSMA/CA:载波侦听多路访问 (Carrier Sense Multiple Access) 是一种介质访问控制 (MAC) 的协议。载波侦听 (Carrier Sense) 指任何连接到介质的设备在欲发送帧前,必须对介质进行侦听,当确认其空闲时,才可以发送。多路访问 (Multiple Access) 指多个设备可以同时访问介质,一个设备发送的帧也可以被多个设备接收。
  • MIMO:多输入多输出系统 (Multi-input Multi-output) 是一种用來描述多天线无线通信系统的抽象数学模型,能利用发射端的多个天线各自独立发送信号,同时在接收端用多个天线接收并恢复原信息。
  • mbps:是 Million bits per second 的缩写,是一种传输速率单位,指每秒传输的位(比特)数量。
发布了53 篇原创文章 · 获赞 21 · 访问量 8368

猜你喜欢

转载自blog.csdn.net/zztiger123/article/details/103960988