《ESP32-S3使用指南—IDF版 V1.6》第五十章 WiFi热点实验

news/2025/11/24 18:21:57/文章来源:https://www.cnblogs.com/zdyz/p/19245707

第五十章 WiFi热点实验

1)实验平台:正点原子DNESP32S3开发板

2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6

3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659

4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/esp32/ATK-DNESP32S3.html

5)正点原子官方B站:https://space.bilibili.com/394620890

6)正点原子DNESP32S3开发板技术交流群:132780729

155537c2odj87vz1z9vj6l

155537nfqovl2gg9faaol9

本章节实验作者把ESP32-S3配置为AP模式,即创建连接热点,读者可使用手机连接该热点。AP模式相关知识请读者查看第二章节的内容。
本章分为如下几个小节:
50.1 硬件设计
50.2 软件设计
50.3 下载验证

50.1 硬件设计
1.例程功能
本章实验功能简介:当手机连接这个热点时,LCD显示该连接设备的MAC地址,断开时,LCD显示断开设备的MAC地址。

2.硬件资源
1)LED灯
LED-IO1

2)XL9555
IIC_INT-IO0(需在P5连接IO0)
IIC_SDA-IO41
IIC_SCL-IO42

3)SPILCD
CS-IO21
SCK-IO12
SDA-IO11
DC-IO40(在P5端口,使用跳线帽将IO_SET和LCD_DC相连)
PWR- IO1_3(XL9555)
RST- IO1_2(XL9555)

4)ESP32-S3内部WiFi

3.原理图
本章实验使用的WiFi为ESP32-S3的片上资源,因此并没有相应的连接原理图。

50.2 软件设计
50.2.1 程序流程图
程序流程图能帮助我们更好的理解一个工程的功能和实现的过程,对学习和设计工程有很好的主导作用。下面看看本实验的程序流程图:

image002

图50.2.1.1 程序流程图
50.2.2 程序解析
在本章节实验中,我们只关心main.c文件内容即可,该文件内容如下:

i2c_obj_t i2c0_master;
static const char *TAG = "AP";
#define EXAMPLE_ESP_WIFI_SSID   "123"
#define EXAMPLE_ESP_WIFI_PASS   "123456789"
#define EXAMPLE_MAX_STA_CONN    5
#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
static char lcd_buff[100] = {0};/*** @brief       WIFI链接糊掉函数* @param       arg:传入网卡控制块* @param       event_base:WIFI事件* @param       event_id:事件ID* @param       event_data:事件数据* @retval      无*/
static void wifi_event_handler(void *arg, esp_event_base_t event_base,int32_t event_id, void *event_data)
{/* 设备连接 */if (event_id == WIFI_EVENT_AP_STACONNECTED){lcd_fill(0,90,320,240,WHITE);wifi_event_ap_staconnected_t *event = (wifi_event_ap_staconnected_t *)
event_data;ESP_LOGI(TAG, "station " MACSTR " join, AID=%d",MAC2STR(event->mac), event->aid);sprintf(lcd_buff, "MACSTR:"MACSTR,MAC2STR(event->mac));lcd_show_string(0, 90, 320, 16, 16, lcd_buff, BLUE);lcd_show_string(0, 110, 320, 16, 16, "With device connection", BLUE);} /* 设备断开 */else if (event_id == WIFI_EVENT_AP_STADISCONNECTED){wifi_event_ap_stadisconnected_t *event =(wifi_event_ap_stadisconnected_t *)event_data;ESP_LOGI(TAG, "station " MACSTR " leave, AID=%d",MAC2STR(event->mac), event->aid);lcd_fill(0,90,320,320,WHITE);sprintf(lcd_buff, "Device disconnected:"MACSTR,MAC2STR(event->mac));lcd_show_string(0, 90, 320, 16, 16, lcd_buff, BLUE);}
}/*** @brief       WIFI初始化* @param       无* @retval      无*/
static void wifi_init_softap(void)
{/* 初始化网卡 */ESP_ERROR_CHECK(esp_netif_init());/* 创建新的事件循环 */ESP_ERROR_CHECK(esp_event_loop_create_default());/* 使用默认配置初始化包括netif的Wi-Fi */esp_netif_create_default_wifi_ap();wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();ESP_ERROR_CHECK(esp_wifi_init(&cfg));ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID,&wifi_event_handler, NULL));/* 配置WIFI */wifi_config_t wifi_config = {.ap = {.ssid = EXAMPLE_ESP_WIFI_SSID,.ssid_len = strlen(EXAMPLE_ESP_WIFI_SSID),.password = EXAMPLE_ESP_WIFI_PASS,.max_connection = EXAMPLE_MAX_STA_CONN,.authmode = WIFI_AUTH_WPA_WPA2_PSK},};if (strlen(EXAMPLE_ESP_WIFI_PASS) == 0){wifi_config.ap.authmode = WIFI_AUTH_OPEN;}ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP));ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_AP, &wifi_config));ESP_ERROR_CHECK(esp_wifi_start());
esp_netif_ip_info_t ip_info;
/* 获取当前设备的IP地址 */
esp_netif_get_ip_info(esp_netif_get_handle_from_ifkey("WIFI_AP_DEF"),&ip_info);char ip_addr[16];inet_ntoa_r(ip_info.ip.addr, ip_addr, 16);ESP_LOGI(TAG, "Set up softAP with IP: %s", ip_addr);ESP_LOGI(TAG, "wifi_init_softap finished. SSID:'%s' password:'%s'",EXAMPLE_ESP_WIFI_SSID, EXAMPLE_ESP_WIFI_PASS);lcd_show_string(0, 90, 240, 16, 16, "wifi connecting......", BLUE);
}/*** @brief       程序入口* @param       无* @retval      无*/
void app_main(void)
{/* 省略部分代码..... */wifi_init_softap();while (1){LED_TOGGLE();vTaskDelay(500);}
}

上述源码相对简单,主要将ESP32-S3设备配置为AP模式,即作为热点设备。然后,设置热点设备的账号、密码、安全模式等参数。在WiFi事件回调函数中,当有外部设备请求连接时,程序会在LCD上显示连接设备的MAC地址等信息。而当外部设备从连接状态断开时,LCD会显示当前断开的外部设备MAC地址。
50.3 下载验证
程序下载成功后,我们利用手机连接ESP32-S3热点设备,当手机连接热点设备成功时,LCD显示手机的MAC地址等信息,当手机从已连接状态断开时,LCD显示断开的外部设备的MAC地址。下图为连接成功的LCD显示效果图。

image004

图50.3.1 外部设备连接热点设备
下图为外部设备从已连接状态断开效果图,如下所示。

image006

图50.3.2 外部设备断开热点设备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/975158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

各位大哥好

各位大哥好zq.zhaopin.Com/moment/83559851 zq.zhaopin.Com/moment/83559865 zq.zhaopin.Com/moment/83559869 zq.zhaopin.Com/moment/83559845 zq.zhaopin.Com/moment/83559846 zq.zhaopin.Com/moment/83559847 zq.zh…

【无标题】HIT-ICS2025计统大作业——程序人生 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

mapvthree Engine 设计分析——二三维一体化的架构设计

深入分析 mapvthree Engine 的架构设计理念,探讨其如何融合地图引擎的 LBS GIS 能力与 3D 通用渲染引擎的设计思想,实现二三维一体化的创新架构。mapvthree Engine 作为二三维一体化渲染引擎的核心,其设计理念既不同…

eMMC, UFS,SATA,PCIe/NVMe

四者都是现代计算设备中常见的存储解决方案,但它们处于不同的层级和应用场景中。eMMC 和 UFS 是面向嵌入式设备(如手机、平板、低端笔记本、物联网设备)的存储芯片。SATA 和 PCIe/NVMe 是面向电脑、服务器和高性能设…

2025 十大充电桩品牌推荐:全场景覆盖 + 硬核产品,这些厂家领跑行业

截至 2025 年 9 月底,我国电动汽车充电设施总数已突破 1806.3 万个,同比增长 54.5%,在《电动汽车充电设施服务能力 “三年倍增” 行动方案(2025—2027 年)》政策驱动下,行业正从 “规模扩张” 转向 “场景适配 +…

2025年一对一家教老师实力排行权威发布,上门家教/一对一家教一对一家教老师推荐榜单

前言 随着个性化教育需求的持续增长,一对一家教市场呈现出蓬勃发展的态势。优质的教育资源、专业的教学团队以及良好的教学效果成为家长选择家教机构的重要考量因素。为帮助广大家庭更全面地了解当地家教市场,本文基…

2025工地洗车池厂家推荐-实用厂家深度分析

2025工地洗车池厂家推荐-实用厂家深度分析。工地洗车池是控制施工扬尘、保障场地清洁的关键设施,其耐用性、清洁效率和场景适配性直接影响使用效果。以下从设备性能、行业适配和服务保障等维度,推荐几家具备实力的工…

B2B企业必看:2025年5家TOB场景GEO服务商深度测评

一、引言:AI浪潮下,TOB获客为何离不开专业GEO服务商? 1.1 行业背景与市场现状 随着生成式AI技术的爆发式发展,搜索生态正经历颠覆性变革,TOB企业的获客模式也随之迎来重构。传统SEO模式因适配性不足,逐渐难以满足…

人工智能之数据分析 numpy:第十三章 工具衔接与迁移

人工智能之数据分析 numpy:第十三章 工具衔接与迁移人工智能之数据分析 numpy 第十三章 工具衔接与迁移前言 NumPy 作为 Python 科学计算的核心库,不仅功能强大,还与众多工具无缝衔接。本文从两个关键方向系统讲解…

北京家事律师事务所有哪些?本地优质机构推荐

在家庭生活中,婚姻、继承、财产分割等家事问题常常需要专业的法律支持。北京作为一线城市,拥有众多提供家事法律服务的律师事务所,这些机构凭借专业的法律知识和丰富的实务经验,为市民解决各类家事纠纷提供帮助。一…

UFS简介

电脑的硬盘有机械硬盘(HDD)和固态硬盘(SSD),前者是机械存储设备,存储介质是磁盘;而后者是电子存储设备,存储介质是闪存。我们不可能在小小的手机中塞入一个机械设备,所以手机上的存储设备只能是电子存储设备,…

上海高温炉品牌推荐:聚焦行业技术与服务实力

在工业生产与科研领域,高温炉作为关键热工设备,其性能稳定性与技术先进性直接影响生产效率与实验精度。上海作为国内工业设备制造的核心区域,高温炉品牌在技术研发、产品质量与服务体系上展现出显著优势,成为众多企…

北京婚姻律师事务所推荐:如何选择专业婚姻家事法律服务机构

在婚姻家庭生活中,当面临离婚纠纷、财产分割、子女抚养等复杂问题时,专业的婚姻律师事务所能够提供必要的法律支持与解决方案。选择一家经验丰富、专注领域的机构,对于妥善处理婚姻家事问题具有重要意义。一、推荐榜…

生产制造用什么仓储软件(WMS)好?行业选型参考

在生产制造领域,仓储管理是连接采购、生产与销售的核心环节,其效率直接影响企业的整体运营成本与市场响应速度。仓储软件(WMS)作为数字化管理的关键工具,通过对库存、库位、作业流程的智能化管控,帮助制造企业实…

医疗健康领域GEO优化(AI平台推广):5家垂直服务商技术与案例解析

在人工智能技术迅猛发展的当下,AI搜索已逐渐成为用户获取信息的核心渠道,这一变革为医疗健康行业的获客模式带来了全新机遇。医疗健康行业作为典型的专业型TOB领域,不仅对推广内容的专业性、合规性要求严苛,更需要…

北京专打离婚官司的律所机构参考与业务特点

在婚姻家庭纠纷的处理过程中,专业的法律服务对于维护当事人合法权益具有重要意义。北京作为法律服务资源较为集中的地区,有多家律所专注于离婚官司等婚姻家事领域,其团队配置、办案经验等成为公众了解的重点。一、推…

北京专注婚姻家事的律所推荐及业务领域解析

在婚姻家庭法律事务处理中,专业的法律服务对于维护当事人合法权益具有重要意义。北京作为法律服务资源集中的地区,拥有多家专注于婚姻家事领域的律所,它们在离婚纠纷、财产分割、继承等相关法律事务中积累了丰富的实…

Android显示界面覆盖状态栏

界面效果:一、工程创建创建No Activity工程,而非其它自带状态栏的工程。实现界面显示部分代码即可,无需额外操作。 二、新建Activity文件1、因为我们创建的No Activity工程没有MainActivity,因此需要我们在该文件…

上海烘箱供应商有哪些?聚焦行业内的优质选择

上海作为国内重要的工业制造基地,烘箱设备在电子、汽车、化工、食品等多个领域有着广泛应用。随着行业对生产效率和产品质量要求的提升,选择专业可靠的烘箱供应商成为企业保障生产的关键。本文将梳理上海地区部分优质…

工业洗地机十大品牌推荐 聚焦企业清洁设备优选

在现代工业生产与管理中,清洁效率直接影响企业运营环境与工作效率,工业洗地机作为高效清洁设备,已成为众多企业的重要选择。面对市场上众多品牌,了解工业洗地机十大品牌信息,有助于企业结合自身需求挑选合适产品,…