admin管理员组文章数量:1572240
目录
一、ESP32简单介绍
二、ESP32 Wi-Fi模块介绍
三、ESP32 Wi-Fi 编程模型
四、ESP32 Wi-Fi 事件处理流程
五、ESP32 Wi-Fi开发环境
六、ESP32 Wi-Fi具体代码
七、ESP32 Wi-Fi代码解读
6.1 主程序app_main
7.2 自定义代码wifi_init_sta()
八、ESP32 Wi-Fi连接验证
8.1 测试方法
8.2 服务器模拟工具sscom5
8.3 测试代码
8.4 测试结果
前言
为了开发一款亚马逊物联网产品,开始入手ESP32模块。为了能够记录自己的学习过程,特记录如下操作过程。
一、ESP32简单介绍
ESP32 是一套 Wi-Fi (2.4 GHz) 和蓝牙 (4.2) 双模解决方案,集成了高性能的 CPU 内核、超低功耗协处理器和丰富的外设。ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用和不同功耗需求。
二、ESP32 Wi-Fi模块介绍
乐鑫为用户提供完整的软、硬件资源进行 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 |
三、ESP32 Wi-Fi 编程模型
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 |
如果调用函数 |
版权声明:本文标题:ESP32学习入门:WiFi连接网络 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727711224a1126647.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论