让 ESP32 同时扮演 AP+STA 的角色

本工程已托管到 GitHub,具体路径是https://github.com/tidyjiang8/esp32-projects/tree/master/ap_sta

功能说明:让 ESP32 既当做一个 AP,让其它终端设备访问,又当做一个 STA,连接到其它的 AP。

关于 ESP32 更多好玩、有趣、实用的项目,请查看 【ESP32 系列博客 - 目录

【快速开始】

【假设】

  • 你已经安装好 ESP-IDF 和工具链。
  • 你已经有一个 WiFi 热点。

【步骤】

  • 使用数据线将开发板连接到你的系统中,让系统能够识别到你的板子(Windows 是COM\*, Linux 是/dev/ttyUSB\*)。
  • 进入ap_sta所在目录。
  • 执行命名make menuconfig进行配置。
    • 对串口进行配置。
    • 配置作为 AP 时其它设备访问该 AP 所需要的 SSID 和密码。依次进入配置选项Demo Configuration --->AP Configuration --->,然后在[AP] SSID[AP] Password中填写 SSID 和密码。
    • 配置作为 STA 时需要连接到的 AP 的 SSID 和密码。依次进入配置选项Demo Configuration --->STA Configuration --->,然后在[STA] SSID[STA] Password中填写 SSID 和密码。
  • 执行命令make进行编译
  • 执行命令make flash monitor将编译生成的镜像烧写到 ESP32 开发板上面,并查看串口输出。

【现象】

对于 STA 功能,当板子起来后,正如 让 ESP32 作为 STA 连接的你的 WiFi 热点中的现象一样,板子已经连接到 WiFi 热点,并获取到 IP 地址。

对于 AP 功能,我们在手机中进入 WiFi 设置界面,发现已经能搜索到 ESP32 建立的 AP 了,输入密码后,连接成功。此时我们再看串口的打印消息,它已经打印出了连接到该 AP 的客户端的 MAC 地址。

有兴趣的话,查看下你的手机的 MAC 地址,是不是就是 ESP32 所打印的 MAC 地址呢?

这里写图片描述

【深入理解】

这个项目与前一个项目【让 ESP32 连接到你的 WiFi 热点】及其相似,只要理解了前一个项目,就能轻松地理解这个项目。之所以再将其单独抽取出来,是因为在 ESP32 的学习群里有人在问关于 APSTA 的问题,而在网上又找不到任何 Demo,所以我才稍微研究了下,然后将其放到这里了。

只强调一点,即 STA 和 AP 各有一个接口,它们需要分别进行配置。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值