![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=1738841049-rjoaP3ivChWGOfMHCtAEH14cUtPrEDu1-0-98b7d3fa6234a37174eabec9c080e9e4)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P114_13197.jpg?sign=1738841049-JVfXvh30MkYYZsCM9q6kRa4cuJneIYW5-0-c67134867607e0be86e3b7690ca760fb)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P115_12904.jpg?sign=1738841049-J4FttFyjjk1WoENuzEc02Sm0OKFyin6r-0-03b2d03561836bdaf25c3663ca01cc4b)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P116_13200.jpg?sign=1738841049-ugGwfiAUOPD5IKFx8GE6vGp2ZgSbLFlE-0-2c5487c112caea3f58fd0a76af3adb00)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P117_12906.jpg?sign=1738841049-Dlq4nFruwzsJiHHYE8jDOeJkhEtI80wF-0-bb66ae6d6766b71ab6d5baffcf531846)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P118_13201.jpg?sign=1738841049-1yTmMwt8S14qwrjBk2UKxmtUC0iwG6j9-0-9afa31007c8f98d7624aa060e6230a7f)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P119_12908.jpg?sign=1738841049-7iRCEKxTGuXtRBpS1TouXCSvPcy5c9FW-0-019efb5a9db8cd02d19d088007ce83dd)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P120_13202.jpg?sign=1738841049-xEwKW1F1OVZFcFiBajMgtfO3ZJ6dmoiA-0-25dc4eb06d83f7055a6ccd1139f189d7)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P121_5786.jpg?sign=1738841049-2SEB5go8egjbeCPxKl4yG22zxrmYYnnP-0-84d8e46c639506d4c636631a317454bf)
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=1738841049-2fQ3a9GYUTcVnFyt8eDj9MnzvXhh0dp5-0-f79c0de8a923f6652a2786ac57c0495e)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P123_12912.jpg?sign=1738841049-KMAXCdzDnCcNGYZtq3q0qTsFFq5H9LwG-0-409a2f54a6f48347ea15f269f1742231)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P124_13203.jpg?sign=1738841049-2gKMUVGi1JmXDLB5mXtRumdJqX51cDID-0-c787751753791c4c8472b8374fe9bb48)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P125_12914.jpg?sign=1738841049-xNbcENyN7BENxvjr8OUCHsAX5hHxN1WD-0-fe2e181ed2e9bf9d9777d4bd22bb03d1)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P126_13204.jpg?sign=1738841049-9E87Nc0IOTWCapFrUKWCOO06ggdvYOi2-0-c914c07205b43b0f3814d12ad3c3952b)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12916.jpg?sign=1738841049-eedyHZ7oQapTrfPaFWS8KyFfIaHvlLxP-0-8d0f713bff9427c33ed05805c1e0f666)
4.2.3 红外模块
1. 功能介绍
通用红外遥控系统由发射和接收两部分组成,应用编/解码专用集成电路芯片进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光/电转换放大器、解调/解码电路。
接收电路是一种集成红外线接收和放大的一体化红外接收器模块,能够完成从红外线接收到输出与TTL电平信号兼容的所有工作,适用于红外线遥控和红外线数据传输。接收器做成的红外接收模块只包括:三个引脚、信号线、VCC、GND、Arduino开发板和其他单片机,连接通信非常方便。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12917.jpg?sign=1738841049-N0DeCsx7IGr0OFw7AYxUFeyAYuYp1hv5-0-67faa6f45cb285d8e62e452354529ac3)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P128_13205.jpg?sign=1738841049-VZQPoo4kiOivQrC3QH4hND7p264TEWug-0-a13de8e4396dea2cb3671eead5b32ed5)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P129_12918.jpg?sign=1738841049-wZvZjUjDEniHSu9gLFkjN49bpg8KlAhU-0-56cc4fdd9ad7429e32f08e25b18870a3)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P130_12919.jpg?sign=1738841049-cofW8MEo5VvgEC2CmNlkkL2ibPDBKQyy-0-b5ffebf9f6081ab8882d8ad5fcaa42b2)
4.2.4 服务器模块
1. 功能介绍
服务器采取Node.js+Express模式,接收硬件传输数据,处理微信小程序的请求,Arduino开发板通过轮询确认服务器记录的状态,当小程序发出指令后,修改服务器记录的状态,从而在Arduino开发板下次询问时发送红外信号控制空调。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P131_12921.jpg?sign=1738841049-tIz3PItuYpy5DTKpXe7nE4uovwwh3NPm-0-74490136f320cd31cef8320db8d13335)
4.2.5 微信小程序模块
1. 功能介绍
本项目使用微信小程序将控制页面呈现在用户面前,如果连续两次按键时间间隔为400ms,则将变化的参数传输到服务器。
2. 相关代码
1)WXML代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_12923.jpg?sign=1738841049-xTVog93tgfFXotvygYYVv1lWntHATk7m-0-b3d14045211b5bc950052fd66975428e)
2)JS代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_5830.jpg?sign=1738841049-kEmqa55Ws6B06cRKeGTVm4Am2GD7Xjwe-0-46ddf6c9510c9b090c05655179880716)