![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=1738852717-m9DhNVgqdD8XDO7xde3QTSz3XYeskIMq-0-40af10def7a43c39c5d11e574dcb9201)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P114_13197.jpg?sign=1738852717-dr03KhXjuMGdoE4VoIZrwSOcwLUXfl8h-0-25d43a5293ca9dbd466724fd66ac0dcb)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P115_12904.jpg?sign=1738852717-A6utdRyPZrItgRyiv7OgbkwvrDCFdrJH-0-f0b71cbd0e6b027ed0d7103f410b39cb)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P116_13200.jpg?sign=1738852717-G77yM23AABZOxlcvYt0kAG9MkDbve4Rm-0-618e2e4df4436c91cefb81bf742d3ca2)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P117_12906.jpg?sign=1738852717-UWWtXUlHIC8ZBfo5SyoSgIucasiit43J-0-23a65ff915991822c57ab9b21291a169)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P118_13201.jpg?sign=1738852717-LD0JicncyEhk9ndBjzl8uP3Sm94Z2cdU-0-46fc6f7f83b1184c5ff4e60e1f34a8e1)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P119_12908.jpg?sign=1738852717-DrBfjDmPqx20fd3XQOmodqy5IWVdkFa2-0-bcc7d394aa3c74e6ec1f95571fa46ae4)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P120_13202.jpg?sign=1738852717-OoAZKT7yKrs3rXLdVGQgBxsU3VZJ15MN-0-9aa9b0b094e19e47599ad2f73288882a)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P121_5786.jpg?sign=1738852717-dz1r4I3ZJYwaHCmpqAvtb0sqwPq5x8gv-0-14ad4ef20cf15aafc10ecded2282c796)
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=1738852717-qecfB4M9fX2Y5Up60YnfQypqspCd3KmT-0-bf1947782acce89726dfe9ce7f195206)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P123_12912.jpg?sign=1738852717-W8TwRtWzsmL794E6035JUgAfCQerKrfm-0-6ef0aa5693cf1a58c1d456529f25ede6)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P124_13203.jpg?sign=1738852717-iopk9TTr6KDgytfQFfNpf57VZjHFPbNM-0-889acefa0da1c3fc0b7f8976e962ebfc)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P125_12914.jpg?sign=1738852717-s7pdd3imOGpI8712xYSJ5wLxIDDDhXzn-0-0a400f39a15bc3a10bf7e1bd7ff8d9ec)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P126_13204.jpg?sign=1738852717-KivxzmCUhoYeTDreiHpvmr9D6wJjYieo-0-cdcb59b5705ea3ffaa3179847a24045b)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12916.jpg?sign=1738852717-6nyhEMHrsGqU1yDHWfn8ZfiFQWMBrdvA-0-ae8c276cb9ceaf02a78546f5712315e7)
4.2.3 红外模块
1. 功能介绍
通用红外遥控系统由发射和接收两部分组成,应用编/解码专用集成电路芯片进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光/电转换放大器、解调/解码电路。
接收电路是一种集成红外线接收和放大的一体化红外接收器模块,能够完成从红外线接收到输出与TTL电平信号兼容的所有工作,适用于红外线遥控和红外线数据传输。接收器做成的红外接收模块只包括:三个引脚、信号线、VCC、GND、Arduino开发板和其他单片机,连接通信非常方便。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P127_12917.jpg?sign=1738852717-IdRZgxhsdFBRTgqMgjL75UjgO5IeIg74-0-71781e0ba19550154c9f54543a5645ed)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P128_13205.jpg?sign=1738852717-hAPrk28dTpovUALvSqaPYuCjh1XOiwCh-0-e4a5f54b1c9dd53c14b5a8f4b2c8c570)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P129_12918.jpg?sign=1738852717-Qe3QCqOdkBLewUBDB1eTAzBpDOzYDP78-0-353720a98a560cedc404d5465c8e6a8b)
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P130_12919.jpg?sign=1738852717-dsc2kEKnShpk8C7mDnHt3Hb5pbMgWRlQ-0-619aebb014315b85b7aa62bf46000b15)
4.2.4 服务器模块
1. 功能介绍
服务器采取Node.js+Express模式,接收硬件传输数据,处理微信小程序的请求,Arduino开发板通过轮询确认服务器记录的状态,当小程序发出指令后,修改服务器记录的状态,从而在Arduino开发板下次询问时发送红外信号控制空调。
2. 相关代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P131_12921.jpg?sign=1738852717-P3BL3a67WdeKbKG2mBTC02wud8l7uLLQ-0-985520d32b5f7746532c3a9cbb9429c5)
4.2.5 微信小程序模块
1. 功能介绍
本项目使用微信小程序将控制页面呈现在用户面前,如果连续两次按键时间间隔为400ms,则将变化的参数传输到服务器。
2. 相关代码
1)WXML代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_12923.jpg?sign=1738852717-HqtoAU8M3OCaneKdRpuIlWjZdiTu4nUT-0-531dc3ee3f94c6ddd2c3967944d1ba99)
2)JS代码
![](https://epubservercos.yuewen.com/F75462/16888495404071106/epubprivate/OEBPS/Images/Figure-P132_5830.jpg?sign=1738852717-oa2VIgV7A70x51zIvCBdHc7pBTJ4S6DN-0-681c2e4b467804fe24b7d44a0df832d9)