![Arduino项目开发:智能家居](https://wfqqreader-1252317822.image.myqcloud.com/cover/942/31169942/b_31169942.jpg)
上QQ阅读APP看书,第一时间看更新
4.2 模块介绍
本部分内容包括Arduino开发板模块、ESP8266模块、红外模块、服务器模块和微信小程序模块,下面分别给出各模块的功能介绍及相关代码。
4.2.1 Arduino开发板模块
1. 功能介绍
本模块综合ESP8266模块和红外发射模块,同时设置轮询实现功能。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P113_12902.jpg?sign=1738850096-C5PKnCMdsXmHZ2tf7ELIB4Fd8wbB0MTa-0-38abe755e473f42e56159c7375acd194)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P114_13197.jpg?sign=1738850096-0dKwrjGvWaNmFSyF4pEMddesRAAlRwuY-0-03a05ba3daa5a9a85c213ef0e0f2afaf)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P115_12904.jpg?sign=1738850096-rbziSbQulX0svcTw0373gNnYLxMnEBZF-0-d44565bfc8ef008830818200d9cc003f)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P116_13200.jpg?sign=1738850096-AG82fBqVirUeCdHa8ibX5U65aZwaioTm-0-2530f0ca434a73ae9dd77b0761f4b43c)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P117_12906.jpg?sign=1738850096-lZBZ5orJ9aCgcymv4zIxCJe1FAC5XcYq-0-db7fc87dfdcb25c3ab2d95459da4222b)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P118_13201.jpg?sign=1738850096-Jm1k4ymSEcGzvX5FdSVB47trbVjSzAYR-0-80cd8dfa9a55e72d3ad6b7fd64163f7c)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P119_12908.jpg?sign=1738850096-YataB2xeEBP19IfXclJRenUkxMHFcli8-0-fb4d2f243d271dcd4d34cf4246fb642d)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P120_13202.jpg?sign=1738850096-ala263tZLtv9mDt7FJba6m4gnOWRQrl9-0-3390ea59f9208adad1fb3d3b39e54b6d)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P121_5786.jpg?sign=1738850096-cFl6Div9okXdnaOiYzukeuyTvo1Ffz2u-0-10aa14cc697761e5605646c61a0399ed)
4.2.2 ESP8266模块
1. 功能介绍
ESP8266模块有多种使用方法,本项目直接采用AT命令,以封装的形式控制模块。使用ESP8266.h库文件,获取当前的状态,与服务器建立TCP/IP连接并发送数据。
通过连接校园网与服务器通信,大大提升了作品的实用性,但接入校园网设备需要登录并输入账号密码,项目中通过Fidder 4进行抓包分析,发送正确的信息实现设备自动登录,提升了使用体验。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P122_12910.jpg?sign=1738850096-f8DSzPqDMvuieyfQXUpqjn87cJx4wZKF-0-76bed440c598b0aa32f95e93782f1583)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P123_12912.jpg?sign=1738850096-3pJD89oXPDts2fZHbfubC2TFjodLSTjq-0-01f3981d958819ef2ee5c1cc816f3565)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P124_13203.jpg?sign=1738850096-N4QhsyskBfnHMKr4DmuvGSrDTbfq8FhZ-0-a3dea9121b00be2e0cc2229ea1eec70e)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P125_12914.jpg?sign=1738850096-zA1iD6Ron6zvZLn8taQV04rGJoWWRKQ9-0-404979ca7535298a2e6464e41525d461)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P126_13204.jpg?sign=1738850096-HdSLzB7qcvNejPzCVyfNKOcuLMhrVzrz-0-7ca9cc9a07f2eab4fd93df8a4129009a)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12916.jpg?sign=1738850096-Mts3HLGhvmZVa7JbCWfEUrdq9EdKWwA6-0-bd6b0b89d0efd58f7fdc8562d1b8e5a8)
4.2.3 红外模块
1. 功能介绍
通用红外遥控系统由发射和接收两部分组成,应用编/解码专用集成电路芯片进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光/电转换放大器、解调/解码电路。
接收电路是一种集成红外线接收和放大的一体化红外接收器模块,能够完成从红外线接收到输出与TTL电平信号兼容的所有工作,适用于红外线遥控和红外线数据传输。接收器做成的红外接收模块只包括:三个引脚、信号线、VCC、GND、Arduino开发板和其他单片机,连接通信非常方便。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12917.jpg?sign=1738850096-TNuIhOx9uCSG4DDCAW3RLavogcxo2y33-0-99cdb64a27c5eb46fc08e1d732d028c2)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P128_13205.jpg?sign=1738850096-e5cHxY8Aib7qrke27I9vPdH5IISKXRSs-0-972df7a7eb990be4031ad96f0e5b94db)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P129_12918.jpg?sign=1738850096-zTLBgbMEHZRt8jBLYj6uUAhbIZwu0vNc-0-f506d4d23f1bcdf6d61a1e629756d5f3)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P130_12919.jpg?sign=1738850096-vZjzN0ZGFJgaoYHSjwVY1sTuxNhIExow-0-6df10385356db29a14dcad62c2ef8a97)
4.2.4 服务器模块
1. 功能介绍
服务器采取Node.js+Express模式,接收硬件传输数据,处理微信小程序的请求,Arduino开发板通过轮询确认服务器记录的状态,当小程序发出指令后,修改服务器记录的状态,从而在Arduino开发板下次询问时发送红外信号控制空调。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P131_12921.jpg?sign=1738850096-vdXNwKGPU2AjErpsv1oC9hoUx2afLCnG-0-834975b914bca474368824b4e457d6a7)
4.2.5 微信小程序模块
1. 功能介绍
本项目使用微信小程序将控制页面呈现在用户面前,如果连续两次按键时间间隔为400ms,则将变化的参数传输到服务器。
2. 相关代码
1)WXML代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_12923.jpg?sign=1738850096-D32SN9JDe3EwTwc6N8NyXp2iF3J1y9dn-0-dae76e143ddc6acf44d1a1743d5c69db)
2)JS代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_5830.jpg?sign=1738850096-WqPXg4Mj9aILQQXudsWo1QAo6swfKAkQ-0-774ef5492fa229cdfb1f44fdf2c279a3)