赞
踩
目录
为了开发一款亚马逊物联网产品,开始入手ESP32模块。为了能够记录自己的学习过程,特记录如下操作过程。
ESP32 是一套 Wi-Fi (2.4 GHz) 和蓝牙 (4.2) 双模解决方案,集成了高性能的 CPU 内核、超低功耗协处理器和丰富的外设。ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用和不同功耗需求。
乐鑫为用户提供完整的软、硬件资源进行 ESP32 设备的开发。乐鑫所研发的软件开发环境 ESP-IDF 能够帮助用户快速开发物联网 (IoT) 应用,满足用户对于 Wi-Fi、蓝牙、低功耗等性能的需求。
Wi-Fi 库支持配置及监控 ESP32 Wi-Fi 连网功能。
- 基站模式(即 STA 模式或 Wi-Fi 客户端模式),此时 ESP32 连接到接入点 (AP)。
- AP 模式(即 Soft-AP 模式或接入点模式),此时基站连接到 ESP32。
- AP-STA 共存模式(ESP32 既是接入点,同时又作为基站连接到另外一个接入点)。
- 上述模式的各种安全模式(WPA、WPA2 及 WEP 等)。
- 扫描接入点(包括主动扫描及被动扫描)。
- 使用混杂模式监控 IEEE802.11 Wi-Fi 数据包。
WiFi是在TCP/IP协议的基础之上实现的2.4GHz的一种通信方式,不同的实现标准对应的的频带和最大速率不一样。
标准 |
频率 |
最大速率 |
802.11b |
2.4GHz |
11Mbps |
802.11a |
5GHz |
54Mbps |
802.11g |
2.4GHz |
54Mbps |
802.11n |
2.4GHz,5GHz |
450Mbps |
802.11ac |
5GHz |
1300Mbps |
Wi-Fi 驱动程序(WiFi Driver)可以看作是一个无法感知上层代码(如 TCP/IP 堆栈、应用程序任务、事件任务等)的黑匣子。通常,应用程序任务(Application task)负责调用 Wi-Fi 驱动程序 APIs 来初始化 Wi-Fi,并在必要时处理 Wi-Fi 事件。然后,Wi-Fi 驱动程序(WiFi Driver)接收并处理 API 数据,并在应用程序(Application task)中插入事件。
Wi-Fi 事件处理是在 esp_event 库 的基础上进行的。Wi-Fi 驱动程序(WiFi Driver)将事件发送至 默认事件循环,应用程序(Application task)便可以使用 esp_event_handler_register() 中的回调函数处理这些事件。除此之外,esp_netif 组件 也负责处理 Wi-Fi 事件,并产生一系列默认行为。例如,当 Wi-Fi station 连接至一个 AP 时,esp_netif 将自动开启 DHCP 客户端服务(系统默认)。
因此,整个WiFi的连接过程,其实是一个事件驱动和处理的过程。Wi-Fi 驱动程序将事件发送至 默认事件循环。
在本次示例中,用的示例如下:
事件名称 |
触发条件 |
---|---|
WIFI_EVENT_STA_START |
如果调用函数 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。