第22课 手机APP控制智能家居#

22.1 项目介绍#

大部分人都有手机,现在大部分物联网产品的控制端都是用手机,使用起来就很便捷,打开手机APP,点击一下就能启动各种设备。

物联网智能家居,将智能家居通过WiFi连接家庭WiFi,用于操作的手机也要连接同一个WiFi,当然也可以是手机打开热点,智能家居连接手机的热点。连接成功后,LCD1602显示IP地址,然后在手机APP上输入对应的IP进行通讯。实现APP控制智能家居的各个功能。

22.2 APP下载安装#

⚠️ 特别提醒:如果前面已经下载安装了APP,则这一步骤可以直接跳过。

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

步骤2: 找到 “资料中心”,并且点击它。

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

步骤4: 在 “APP下载” 页面,找到 “keyes IoT home”。

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

安卓系统

a. 点击 “点击下载” 按钮,下载对应的 “keyes IoT home.apk” 文件。

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

c. 下载安装后,单击 打开,出现如下图界面。

选择WIFI。

苹果系统

a. 点击 “跳转APP Store” 按钮,跳转到 APP Store

b. 在 APP Store 上搜索 keyes IoT home ,选择 keyes IoT home ,然后点击 获取,下载安装APP即可。

c. 下载安装后, 单击 打开,出现如下图界面。

选择WIFI

22.3 APP使用说明#

手机APP上各个按钮对应的控制字符和各个按钮对应的功能,这里我们整理了一个表格如下:

按钮:

功能:选择WIFI模式

按钮:

功能:连接

按钮:

控制字符:点一下发送 “a”; 再点一下发送“A”。

功能:点一下,开启LED灯;再点一下,关闭LED灯。

按钮:

控制字符:点一下发送 “b”; 再点一下发送“B”。

功能:点一下,开启窗户; 再点一下,关闭窗户。

按钮:

控制字符:点一下发送 “c”。

功能:点一下,播放一首歌曲。

按钮:

控制字符:点一下发送 “d”。

功能:点一下,蜂鸣器“哔”响一声。

按钮:

控制字符:点一下发送 “e”; 再点一下发送“E”。

功能:点一下,开启门; 再点一下,关闭门。

按钮:

控制字符:点一下发送 “f”; 再点一下发送“F”。

功能:点一下,开启风扇; 再点一下,关闭风扇。

按钮:

功能:显示区显示雨滴值。

按钮:

功能:显示区显示危险气体状态safe或dangerous。

按钮:

功能:显示区显示人体检测状态someone或no one。

按钮:

功能:显示区显示温度数值

按钮:

功能:显示区显示湿度数值

按钮:

控制字符:点一下发送 “o”; 再点一下发送“O”。

功能:点一下,RGB灯开启模式一氛围灯;再点一下,关闭RGB灯。

按钮:

控制字符:点一下发送 “p”; 再点一下发送“P”。

功能:点一下,RGB灯开启模式二跑马灯;再点一下,关闭RGB灯。

按钮:

控制字符:点一下发送 “g”; 再点一下发送“G”。以此类推。

功能:点一下,RGB灯开启红色;再点一下,关闭RGB灯。以此类推。

22.4 实验组件#

ESP32 Plus主板 *1

XHT11传感器 *1

黄色LED模块 *1

SK6812RGB灯模块 *1

无源蜂鸣器模块 *1

130电机模块 *1

180度舵机 *2

水滴传感器模块 *1

人体红外热释传感器 *1

MQ2传感器 *1

风扇叶 *1

I2C LCD1602模块 *1

USB线 *1

4P线 *3

3P线 *6

22.5 模块接线图#

⚠️ 特别注意:智能家居已经组装好了,这里不需要把所有的传感器/模块拆下来又重新组装和接线,这里再次提供接线图,是为了方便您编写代码!

传感器模块名称

传感器模块引脚

ESP32 Plus主板对应的接线

人体红外热释传感器模块

G/V/S

G/V/io14

无源蜂鸣器模块

G/V/S

G/V/io25

黄色LED模块

G/V/S

G/V/io12

电机模块

GND/VCC/IN+/IN-

G/V/io19/io18

控制门的舵机1

棕色线/红色线/橙色线

G/V/io13

控制窗的舵机2

棕色线/红色线/橙色线

G/V/io5

MQ-2气体传感器模块

GND/VCC/D

G/V/io23

XHT11模块

G/V/S

G/V/io17

SK6812RGB灯模块

G/V/S

G/V/io26

LCD1602显示屏模块

GND/VCC/SDA/SCL

GND/V/SDA/SCL

水滴传感器模块

G/V/S

G/V/io34

22.6 APP控制LED和风扇的实验代码1#

使用APP控制智能家居的LED灯和风扇的开关。

⚠️ 特别提醒: 打开代码文件后,需要修改ESP32开发板需要连接的WiFi名称与密码,您需要分别将 ChinaNet-2.4G-0DF0ChinaNet@233 替换为您自己的 Wi-Fi 名称和 WiFi 密码。WiFi名称和WiFi密码修改后才能上传代码,否则你的ESP32开发板将无法连接网络。

⚠️ 注意: 请确保代码中的WiFi名称和WiFi密码与连接到您的计算机、手机/平板电脑、ESP32开发板和路由器的网络相同,它们必须在同一局域网(WiFi)内。

⚠️ 注意:WiFi必须是2.4Ghz频率的,否则ESP32无法连接WiFi

22.7 操作步骤及实验结果1#

按照接线图接好线,外接电源,选择好正确的开发板板型(ESP32 Dev Module)和 适当的串口端口(COMxx),然后单击按钮上传示例代码至ESP32主控板。示例代码上传成功后,上电后。

⚠️ 注意:手机/平板需要和智能家居连接同一个WiFi,或者手机/平板打开热点,智能家居连接手机/平板的热点,且示例代码中的WiFi名称与WiFi密码和手机/平板、智能家居是同一个WiFi名称与密码。

⚠️ 注意:WiFi必须是2.4Ghz频率的,否则ESP32无法连接WiFi,不支持连接5GHz频段的WiFi。

⚠️ 特别注意: 手机或平板一定要与ESP32开发板连接的是同一个WiFi,否则将无法进入控制页面。还有就是ESP32开发板在使用WiFi功能时功耗很大,需要外接DC电源(电源电压必须充足,最好使用新电池)才能满足它的工作电力需求,如果达不到它的工作电力需求ESP32板将会一直复位导致代码无法正常运行。

⚠️ 特别注意: 一定要外接电源,外接DC电源 (电源电压必须充足,最好使用新电池) 才能满足ESP32主控板,2个舵机和风扇模块的工作电力需求,如果达不到它们的工作电力需求,手机/平板的APP 上的WiFi会断开。

点击 Img,打开串口监视器,设置波特率为9600,如果成功连接上WiFi,串口监视器会打印出分配到的IP地址(假如串口监视器没打印出分配到的IP地址,可以按下ESP32主控板上的复位键重启,重新连接WiFi)。不同的网络(WiFi),IP地址不一样。

同时,LCD1602显示屏也同步显示对应的IP地址。

⚠️ 特别注意: 在本例中,您可以在APP中输入你自己的ESP32 IP地址 (这里是以 192.168.3.57 为例,而你需要将本例APP中的IP地址:192.168.3.57 修改成你自己的 ESP32 IP地址 )。

1. 打开APP,选择WIFI

2. 使用APP控制LED和风扇

A. APP输入IP地址(LCD1602显示出分配到的IP地址,或点击IDE的串口监视器,串口监视器窗口显示的IP地址)

B. 点击 CONNECT 连接IP地址。

C. 连接成功标志是跳出 Connected 字样,需要注意看。

D. IP地址连接上之后,然后就可以点击LED按钮,可以看到智能家居的LED被打开,再次点击LED按钮,LED被关闭;点击Fan按钮,风扇被打开,再次点击Fan按钮,Fan被关闭。如下图操作。

Img

22.8 代码流程图#

22.9 IoT智能家居的实验代码2#

⚠️ 特别提醒: 打开代码文件后,需要修改ESP32开发板需要连接的WiFi名称与密码,您需要分别将 ChinaNet-2.4G-0DF0ChinaNet@233 替换为您自己的 Wi-Fi 名称和 WiFi 密码。WiFi名称和WiFi密码修改后才能上传代码,否则你的ESP32开发板将无法连接网络。

⚠️ 注意: 请确保代码中的WiFi名称和WiFi密码与连接到您的计算机、手机/平板电脑、ESP32开发板和路由器的网络相同,它们必须在同一局域网(WiFi)内。

⚠️ 注意:WiFi必须是2.4Ghz频率的,否则ESP32无法连接WiFi

22.10 操作步骤及实验结果2#

按照接线图接好线,外接电源,选择好正确的开发板板型(ESP32 Dev Module)和 适当的串口端口(COMxx),然后单击按钮上传示例代码至ESP32主控板。示例代码上传成功后,上电后。

⚠️ 注意:手机/平板需要和智能家居连接同一个WiFi,或者手机/平板打开热点,智能家居连接手机/平板的热点,且示例代码中的WiFi名称与WiFi密码和手机/平板、智能家居是同一个WiFi名称与密码。

⚠️ 注意:WiFi必须是2.4Ghz频率的,否则ESP32无法连接WiFi,不支持连接5GHz频段的WiFi。

⚠️ 特别注意: 手机或平板一定要与ESP32开发板连接的是同一个WiFi,否则将无法进入控制页面。还有就是ESP32开发板在使用WiFi功能时功耗很大,需要外接DC电源 (电源电压必须充足,最好使用新电池) 才能满足它的工作电力需求,如果达不到它的工作电力需求ESP32板将会一直复位导致代码无法正常运行。

点击 Img,打开串口监视器,设置波特率为9600,如果成功连接上WiFi,串口监视器会打印出分配到的IP地址(假如串口监视器没打印出分配到的IP地址,可以按下ESP32主控板上的复位键重启,重新连接WiFi)。不同的网络(WiFi),IP地址不一样。

同时,LCD1602显示屏也同步显示对应的IP地址。

⚠️ 特别注意: 在本例中,您可以在APP中输入你自己的ESP32 IP地址(这里是以 192.168.3.57 为例,而你需要将本例APP中的IP地址:192.168.3.57 修改成你自己的 ESP32 IP地址)。

1. 打开APP,选择WIFI

2. 使用APP控制智能家居

A. APP输入IP地址(LCD1602显示出分配到的IP地址,或点击IDE的串口监视器Img,串口监视器窗口显示的IP地址)。

B. 点击 CONNECT 连接IP地址。

C. 连接成功标志是跳出 Connected 字样,需要注意看。

D. IP地址连接上之后,单击APP界面上对应的按钮控制对应的传感器模块工作。

⚠️ 特别注意: 一定要外接电源,外接DC电源(电源电压必须充足,最好使用新电池)才能满足ESP32主控板,2个舵机和风扇模块的工作电力需求,如果达不到它们的工作电力需求,ESP32主控板将会一直复位导致代码无法正常运行。

Img