## 项目35 WiFi 智能家居

**1.实验说明：**

在前面的实验中，我们已经了解了ESP32的WiFi Station模式。那么在本章实验中，我们将使用ESP32的WiFi Station模式通过APP连接WIFI来控制多个传感器/模块工作，实现WiFi智能家居的效果。

**2.实验器材：**

|![Img](../media/afc52f6616725ba37e3b12a2e01685ad.png)|![Img](../media/a2aa343488c11843f13ae0413547c673.png)|![Img](../media/4d0be04892e2038c372f82caba521f64.png)|![Img](../media/c910a7be7acddac1d2c4e4a1613524f4.png)|
| :--: | :--: | :--: | :--: |
|ESP32*1|面包板*1| 智能手机/平板电脑(<span style="color: rgb(255, 76, 65);">自备</span>)*1|继电器模块*1|
|![Img](../media/bf6d1660c4a52edca11f5a7763edfc19.png)|![Img](../media/7b166aa2bc58fd46700f92d9d49514a1.png)|![Img](../media/28c9fe25104d16cc0ed7da8c80c443ea.png)|![Img](../media/4191d5454859076aa2a6c069185be177.png)|
| 舵机*1 |温湿度传感器*1| 超声波传感器*1|4P转杜邦线公单*1|
|![Img](../media/e989c0ba5c3c1ea8c5fc08d02344da37.png)|![Img](../media/c562656c96657983e724daed7c8d6202.png)|![Img](../media/3cc5c242c0f357b3dc496037a7d8bae8.png)|![Img](../media/1a190cfbfe81a1524e1d1ef681688a64.png)|
|跳线若干|面包板专用电源模块*1|6节5号电池盒*1|3P转杜邦线公单*2|
|![Img](../media/4c49cdffc9e5e6f1aad838120d35897a.png)|![Img](../media/b4421594adeb4676d63581a1047c6935.png)|  | |
|5号电池(<span style="color: rgb(255, 76, 65);">自备</span>)*6|MicroUSB线*1|  | |

**3.实验接线图：**

| 继电器| ESP32主板 | 温湿度传感器 | ESP32主板 |
| :--: | :--: | :--: | :--: |
| G | G| G | G |
| V | 5V | V | 5V |
| S | IO32 | S | IO15 |


| 超声波传感器| ESP32主板 |舵机| ESP32主板 |
| :--: | :--: | :--: | :--: |
| Vcc | 5V| 红色线 | 5V|
| Trig | IO14 |棕色线 | G |
| Echo | IO27 |  橙色线 | IO4 |
|Gnd|G| | |


![Img](../media/740e9ecd05feae51935d43e0fdeaefa7.png)

(<span style="color: rgb(255, 76, 65);">注:</span> 先接好线，然后在直流电机上安装一个小风扇叶片。)

**4.安装APP:**

安装APP的方法请参照 <span style="color: rgb(255, 76, 65);">**项目34 WiFi测试**</span> 。这里就不重复讲解。


**5.项目代码：**

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

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

**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)

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

打开串口监视器，设置波特率为<span style="color: rgb(255, 76, 65);">115200</span>，这样，串口监视器打印检测到的WiFi IP地址。（**注意：** 如果打开串口监视器且设置波特率为115200之后，串口监视器窗口没有显示如下信息，可以按下ESP32的复位键![Img](../media/515a31c10d414cae43980905e7df1879.jpg)）

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

然后打开WiFi APP，在WIFI按钮前面的文本框中输入检测到的WIFI IP地址（<span style="color: rgb(255, 76, 65);">例如，上面串口监视器检测到的IP地址：192.168.1.136</span>），接着点击WIFI按钮来连接WiFi。（<span style="color: rgb(255, 76, 65);">WiFi的IP地址有时候会改变，如果原来的IP地址不行，需要重新检测WiFi的IP地址</span>）

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

**APP已经连接上了WiFi后，开始进行如下操作：**

![Img](../media/536afc28d5f8391ce80f1ad6d93dbcde.png)

（1）点击![Img](../media/bb79be97b679a1cb8281a7c496f283ff.png)按钮，继电器打开，模块上的指示灯点亮；再次点击![Img](../media/bb79be97b679a1cb8281a7c496f283ff.png)按钮，继电器关闭，模块上的指示灯不亮。

（2）点击![Img](../media/76543daeb680c2a1c2d683b090bcb40f.png)按钮，舵机转动到180°处；再次点击![Img](../media/76543daeb680c2a1c2d683b090bcb40f.png)按钮，舵机转动到0°处。

（3）在超声波传感器前放一个物体，点击![Img](../media/333c0081491bda5b140b2ed1e365e015.png)按钮，超声波传感器测距，串口监视器窗口显示距离值，说明此时物体离超声波传感器的距离为301.2cm；再次点击![Img](../media/333c0081491bda5b140b2ed1e365e015.png)按钮，关闭超声波。

（4）点击![Img](../media/ba27f5c4eb27223a8293f112037fd219.png)按钮，温湿度传感器测量环境中的温度，串口监视器窗口显示温度值，说明此时环境中的温度为28.6℃；再次点击![Img](../media/ba27f5c4eb27223a8293f112037fd219.png)按钮，关闭温湿度传感器。

（5）点击![Img](../media/100e3e7685ce761e53f5b80d76d80c73.png)按钮，温湿度传感器测量环境中的湿度，串口监视器窗口显示湿度值，说明此时环境中的湿度为54.4%；再次点击![Img](../media/100e3e7685ce761e53f5b80d76d80c73.png)按钮，关闭温湿度传感器。

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

