## 项目37 WiFi 测试

**1. 实验简介：**

在本实验中，我们先使用ESP32的WiFi Station模式读取WiFi的IP地址，然后通过APP连接WiFi来读取APP上各功能按钮发送的字符。

**2. 实验元件：**

|![Img](./media/afc52f6616725ba37e3b12a2e01685ad.png)|![Img](./media/b4421594adeb4676d63581a1047c6935.png)|![Img](./media/4d0be04892e2038c372f82caba521f64.png)|
| :--: | :--: | :--: |
| ESP32*1 | USB 线*1 |智能手机/平板电脑(<span style="color: rgb(255, 76, 65);">自备</span>)*1|

**3. 实验接线：**

使用USB线将ESP32主板连接到电脑上的USB口。

![Img](./media/46cf3a8a1c79e456ac0f02da5ef38aec.png)

**4. 安装APP:**

⚠️ **特别提醒：如果已经在手机/平板上安装好了APP，则这一步骤可以直接跳过；否则，需要参照以下步骤在手机/平板上来安装APP。**

![Img](./media/e15c916fc960d7abbba15a3c2a95b325.png)

**步骤1：** 在手机/平板浏览器的搜索框中输入官网链接：www.keyes-robot.com

![Img](./media/wyx1.png)

**步骤2：** 找到 “**资料中心**”，并且点击它。

![Img](./media/wyx2.png)

**步骤3：** 在页面找到 “**APP下载**” 选项，并且点击它。

![Img](./media/wyx3.png)

**步骤4：** 在 “**APP下载**” 页面，找到 “**keyes wifi**”。

![Img](./media/wyx4.png)

**步骤5：** 根据自己的手机/平板系统选择对应的APP下载安装。选择如下：

![Img](./media/wyx7.png)

**安卓系统(Android)**

a. 点击 "**点击下载**" 按钮，下载对应的 "**keyes wifi.apk**" 文件。

![Img](./media/wyx5.png)

b. 按照安装提示进行下载安装。

![Img](./media/e15c916fc960d7abbba15a3c2a95b3251.png)

![Img](./media/c4df6d064c1819cf0ab703bd6917bc54.png)

![Img](./media/d7034b3177f4ff96779641bf2a278248.png)

![Img](./media/89d8312749d5fc0aa584f4542aeb132b.png)

![Img](./media/2da4df243f0b9c2425681625d77f7f52.png)

c. 下载安装后，打开 **keyes wifi** APP，出现如下图界面。

![Img](./media/7cddf433df535865414cddbb52c2d672.png)

**苹果系统(IOS)**

a. 点击 "**跳转APP Store**" 按钮，跳转到 APP Store

![Img](./media/wyx6.png)

b. 在 APP Store 上的搜索框输入**keyes link**，点击搜索，出现下载界面，点击 “![Img](./media/a9c7179df093d9f6eb1d39906cc2b90d.png)”，就可以下载安装 **keyes link** 的APP。接下来的操作和安卓系统类似的，可以参考上面安卓系统的步骤进行操作。

**5. 代码说明：**

![Img](./media/img-20241105085101.png)

输入WiFi名称和密码，连接WiFi热点，读取WiFi分配的IP地址。

![Img](./media/img-20241105084921.png)

APP按键发送数据，通过无线WiFi，ESP32接收相关数据，即：读取WiFi数据。

**6. 项目代码：**

<span style="background: rgb(255, 251, 0);"><span style="color: rgb(255, 76, 0);">**特别注意：**<span style="color: rgb(255, 76, 0);"></span>确保计算机网络，手机/平板的网络，ESP32主板，路由器，代码中输入你自己的WiFi名称和密码都必须是在同一个局域网（WiFi）下。</span></span>

![Img](./media/img-202411180844190.png)

你可以打开我们提供的代码，也可以自己编写代码，其如下：

1. 从 “![Img](./media/img-20241023140031.png)” 拖出 “![Img](./media/img-20241023140106.png)”。

2. 从 “![Img](./media/img-20241023140218.png)” 拖出 “![Img](./media/img-20241023140243.png)” 放入 “![Img](./media/img-20241023140106.png)”，设置波特率为 115200 。

3. 先从 “ ![Img](./media/img-20241024133608.png)” 拖出 “![Img](./media/img-20241028131724.png)” 放入 “![Img](./media/img-20241023140106.png)” 中，将 “ 整数 ” 改成 “字符串” ；再从 “![Img](./media/img-20241029133543.png)” 拖出 “![Img](./media/img-20241029133610.png)” 放入 “![Img](./media/img-20241028131724.png)”中，删除 “hello”。

![Img](./media/img-20241105083701.png)

4. 从 “![Img](./media/img-20241105083758.png)” 拖出 “![Img](./media/img-20241105083837.png)” 。

5. 先从 “ ![Img](./media/img-20241024133608.png)” 拖出 “![Img](./media/img-20241105083954.png)” ，再从 “![Img](./media/img-20241105083758.png)” 拖出 “![Img](./media/img-20241105084033.png)” 。

![Img](./media/img-20241105084104.png)

6. 先从 “![Img](./media/img-20241023140218.png)” 拖出 “![Img](./media/img-20241105084212.png)” ，再从 “![Img](./media/img-20241024133608.png)” 拖出 “![Img](./media/img-20241105084304.png)” 。 

![Img](./media/img-20241105084400.png)

完整代码：

![Img](./media/img-20241105083021.png)

<span style="color: rgb(255, 76, 65);">特别注意：</span>需要先将项目代码 ![Img](./media/img-20241105083150.png) 中的用户Wifi名称（SSID 名称）和用户Wifi密码（PASSWD 密码）改成你们自己的Wifi名称和Wifi密码。

**7. 实验现象**

<span style="background: rgb(255, 251, 0);"><span style="color: rgb(255, 76, 0);">**特别注意：**<span style="color: rgb(255, 76, 0);"></span>确保计算机网络，手机/平板的网络，ESP32主板，路由器，代码中输入你自己的WiFi名称和密码都必须是在同一个局域网（WiFi）下。</span></span>

![Img](./media/img-202411180844190.png)

确认程序代码中的Wifi名称和Wifi密码修改正确后，编译并上传代码到ESP32主板上。

打开串口监视器，设置波特率为<span style="color: rgb(255, 76, 65);">115200</span>，这样，串口监视器打印检测到的WiFi IP地址，然后打开WiFi APP。 在WIFI按钮前面的文本框中输入检测到的WIFI IP地址（<span style="color: rgb(255, 76, 65);">例如，下上面串口监视器检测到的IP地址：192.168.1.136</span>），再点击WIFI按钮，“403 Forbidden” 或 “网页无法打开” 就会变成 “192.168.1.136”。这样，就说明APP已经连接上了WIFI。

![Img](./media/b42be62a79b4b9639584699eb6bd1e06.png)

用手分别点击APP上的各个功能按钮，然后串口监视器会打印接收到的对应字符。

![Img](./media/img-20241105082746.png)

**注意：** 如果打开串口监视器且设置波特率为115200之后，串口监视器窗口没有显示如下信息，可以按下ESP32的复位键 ![Img](./media/515a31c10d414cae43980905e7df1879.jpg)





