让 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 同时扮演 AP+STA 的角色_第1张图片

【深入理解】

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

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

你可能感兴趣的:(玩转ESP32,乐鑫,esp32,apsta,ap,sta)