![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=1738954818-7y4Ul4SSHtpsr6c4ogBbR7xOcMno0lDN-0-302db7d63c5108e0f348020656f35d31)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P114_13197.jpg?sign=1738954818-pxJDmduOiq6leLO36Hi2BKGhoKVRRd76-0-d81dddbe18c134f13a295e4b1e02ea06)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P115_12904.jpg?sign=1738954818-NyxN7yiOJx7CnaMJvzUqb1IAbCWVbnc5-0-a414b6ef9f5c0bc9f9202a43fcefa4f2)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P116_13200.jpg?sign=1738954818-qm4wQwR1uKR2Z04fr4lPXKn5fRxIVgou-0-7a500a321cfc0fc95f42db3c9191e737)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P117_12906.jpg?sign=1738954818-y9bNTE4xJdDf9gxLFjE5xgKx5KVPcfGP-0-5c8e1f795ee6d4cff02144310b1f3deb)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P118_13201.jpg?sign=1738954818-ylZ6HXk0NUSpIZFpFjMnzqRuWiEverlD-0-dbd0ec95cf200e1234828f604f983f48)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P119_12908.jpg?sign=1738954818-bDFZNHxdyV3y2MpjYpA5mBnPTwFBRzhq-0-4c2b5e5f4a6826ceea1c4ef070a56367)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P120_13202.jpg?sign=1738954818-8Xvythhpkn2S8B9PL4mzOxu1eE6KXGox-0-a38f058bd410585eebaef6fd8d1bf900)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P121_5786.jpg?sign=1738954818-togxeGvxYB8Ono8DA9NXVVh190gPfjH7-0-0d9ceba3f9dc713c4461dd11cd795e24)
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=1738954818-5CeuXee23boMFySNO9iJ7iUdpOd4mDCs-0-f23c0ca428c97427769f4117b878e428)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P123_12912.jpg?sign=1738954818-oscVLgvW5TPihznNnxYtWkDLlOCtYgiZ-0-cd465b602728fd265a761cd8bd12f777)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P124_13203.jpg?sign=1738954818-WqQMqCIvi5qpolcyzXkCdAg2ZAoBtMVt-0-f2ef2d2fa6059441ba23d3044910ef0a)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P125_12914.jpg?sign=1738954818-mrA3RkOXRX3rei6XMcVxFRZkkL774qqD-0-ee009fa74f3e03aab4da92f961c9788a)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P126_13204.jpg?sign=1738954818-fwY2uvAkojU9YW7uMZONpTOlQ3gJnkyG-0-22f3614ec247d4f0347f321d349f87bc)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12916.jpg?sign=1738954818-fu4Ko5PXB89x0kspHPqVH0hGY26v5EqX-0-bc24a6b69c53122f1e69d68ee17f18a0)
4.2.3 红外模块
1. 功能介绍
通用红外遥控系统由发射和接收两部分组成,应用编/解码专用集成电路芯片进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光/电转换放大器、解调/解码电路。
接收电路是一种集成红外线接收和放大的一体化红外接收器模块,能够完成从红外线接收到输出与TTL电平信号兼容的所有工作,适用于红外线遥控和红外线数据传输。接收器做成的红外接收模块只包括:三个引脚、信号线、VCC、GND、Arduino开发板和其他单片机,连接通信非常方便。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12917.jpg?sign=1738954818-bK5KPgneL5rb38UW5Dw3X6kYeRlPgLaD-0-c350a4dda81ddb4dd9bc51e99abaa66b)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P128_13205.jpg?sign=1738954818-Lt7wNMdY2ATDjW4IfvgtsPFs1L9RpuBc-0-5babd9ea15ff24de71856384fc942da1)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P129_12918.jpg?sign=1738954818-KyTLVfqT2MSEuurwQPPcm2aYz5Rzifry-0-effc639aaedbda5c3b0fc7e93e7d5fd5)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P130_12919.jpg?sign=1738954818-K639OJWBE9lKiochfjuP3ObB7TW2Azik-0-68b8fa571b66e1095bdc632248215835)
4.2.4 服务器模块
1. 功能介绍
服务器采取Node.js+Express模式,接收硬件传输数据,处理微信小程序的请求,Arduino开发板通过轮询确认服务器记录的状态,当小程序发出指令后,修改服务器记录的状态,从而在Arduino开发板下次询问时发送红外信号控制空调。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P131_12921.jpg?sign=1738954818-twZbvbNXCh3itVWIauxJFA0W7YMLkrKK-0-8dc7f0d0b4ca9acd838f8b91fd45689e)
4.2.5 微信小程序模块
1. 功能介绍
本项目使用微信小程序将控制页面呈现在用户面前,如果连续两次按键时间间隔为400ms,则将变化的参数传输到服务器。
2. 相关代码
1)WXML代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_12923.jpg?sign=1738954818-m0IDspOAYUdNk5j2PKm1hKrc9zdHwvsx-0-c9d7f368740a51be83446ebaed062a9d)
2)JS代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_5830.jpg?sign=1738954818-nrLSpRbYUFCWzp9YiYrQHmNfgXKrUBnU-0-ddbcd08e59b3113d9155da10a7a2990d)