![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=1739281083-o5ZIuTc1zhU3zWq5HZ0fAFKQTqM2BEg9-0-2b5fd8324637a1260e439c952b9480d1)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P114_13197.jpg?sign=1739281083-6WGLYYqakKHK8AP5klCyxMhuY7nrYrqU-0-ee8577339a8fca9446ee98357b4db768)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P115_12904.jpg?sign=1739281083-xo8g6LxmllicjOo4XydcogFDd2bABSnr-0-0e85a9e260c1b4a313cf5305bb2d9a7f)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P116_13200.jpg?sign=1739281083-PtCDojJugshqge3nGXSsNdmBu1uo1Y3g-0-d717e64599630206801613304b45465b)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P117_12906.jpg?sign=1739281083-qAXcnd4SHW7fUYgqS9DtaiW42FdAh3jO-0-f1187b17c485273e0146c53ed11071b8)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P118_13201.jpg?sign=1739281083-BumpH8utlEIdhvJLh1ffzmhrw2ekeJEC-0-f4f4fc4b294d7e652e4a517c1808ec4d)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P119_12908.jpg?sign=1739281083-CuE7kPIjNjSQtTTaNhNAJnORIEQAFbLu-0-e4c2d73d1b9c57bf736065eae4df5ea9)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P120_13202.jpg?sign=1739281083-eJejHOhFOWsxd99U4nsGXZ9rkaJnioTJ-0-8bfd3b92d90b9150f59addea7857ba60)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P121_5786.jpg?sign=1739281083-jnV3zbYdxAGZJuSkcmHQUwVMvJNeR4Uc-0-095ca6325931666bcabb6b128c7d573c)
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=1739281083-RzRxpwPWdxhGrHt08NcZkHWnW4bwVnF8-0-454b668724c327bbae2899ddb8fc215f)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P123_12912.jpg?sign=1739281083-CgdvFvtzCwVHf1SVaxMIl3M7Gx3pqkNy-0-b720688dcca13d42e8552962779ae87e)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P124_13203.jpg?sign=1739281083-7IMrhvPnJNO7R5evlP0KGbp0iWXTjUqi-0-97e4be8a76e60eca6371364eb9247150)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P125_12914.jpg?sign=1739281083-5vL4f1C6zzvWlvpLG6GZzWQauGwQGejh-0-729b3aebc17ef3deb9de9e82c3960e51)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P126_13204.jpg?sign=1739281083-6bLXmBSbgx6esqNwLZ5wzlzup5CPgHex-0-bee2fc1c01a7b3c412a2e7fb0415eb1d)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12916.jpg?sign=1739281083-HaLJMxggDjZszuH7VaekdTPf62MEi961-0-b8ab526a7e41de5cc34f69265f638e46)
4.2.3 红外模块
1. 功能介绍
通用红外遥控系统由发射和接收两部分组成,应用编/解码专用集成电路芯片进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光/电转换放大器、解调/解码电路。
接收电路是一种集成红外线接收和放大的一体化红外接收器模块,能够完成从红外线接收到输出与TTL电平信号兼容的所有工作,适用于红外线遥控和红外线数据传输。接收器做成的红外接收模块只包括:三个引脚、信号线、VCC、GND、Arduino开发板和其他单片机,连接通信非常方便。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12917.jpg?sign=1739281083-CIU6bJCri1OV5p0zgnUephV7y68Vbs26-0-7c8e395330ce3722598bcd4390445cb0)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P128_13205.jpg?sign=1739281083-3tr5lVhnhr7d1Jj9hBDxirYw4b8FY3Xs-0-d96b48273fe569afceaa7b66c848cd74)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P129_12918.jpg?sign=1739281083-E1QcRRm20bedmutehAHbDWZ1PcSW5NOk-0-a470087b0ef8e326e02ccdbcc063cee9)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P130_12919.jpg?sign=1739281083-5mk0uN2ylSjg12K0BQs7D5jWVoAxrjUt-0-4c05540ea39653f05fcce3554560f82d)
4.2.4 服务器模块
1. 功能介绍
服务器采取Node.js+Express模式,接收硬件传输数据,处理微信小程序的请求,Arduino开发板通过轮询确认服务器记录的状态,当小程序发出指令后,修改服务器记录的状态,从而在Arduino开发板下次询问时发送红外信号控制空调。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P131_12921.jpg?sign=1739281083-kmvAy0AGptIyLiwEarSBG1KzklfKB1hF-0-3712df7ef59e64efa8043b76808682b7)
4.2.5 微信小程序模块
1. 功能介绍
本项目使用微信小程序将控制页面呈现在用户面前,如果连续两次按键时间间隔为400ms,则将变化的参数传输到服务器。
2. 相关代码
1)WXML代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_12923.jpg?sign=1739281083-HpWBs31RMd8NVVYEM0ow6WIf0FJWO3fp-0-bab14396c5ddc7d57daf8506f54ca3e5)
2)JS代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_5830.jpg?sign=1739281083-etO1E875qNH1JvzxPvNwCqBOaMfNyfmu-0-1632b1c46945ee9ff60f0f8232572461)