Arduino项目开发:智能家居
上QQ阅读APP看书,第一时间看更新

4.2 模块介绍

本部分内容包括Arduino开发板模块、ESP8266模块、红外模块、服务器模块和微信小程序模块,下面分别给出各模块的功能介绍及相关代码。

4.2.1 Arduino开发板模块

1. 功能介绍

本模块综合ESP8266模块和红外发射模块,同时设置轮询实现功能。

2. 相关代码

4.2.2 ESP8266模块

1. 功能介绍

ESP8266模块有多种使用方法,本项目直接采用AT命令,以封装的形式控制模块。使用ESP8266.h库文件,获取当前的状态,与服务器建立TCP/IP连接并发送数据。

通过连接校园网与服务器通信,大大提升了作品的实用性,但接入校园网设备需要登录并输入账号密码,项目中通过Fidder 4进行抓包分析,发送正确的信息实现设备自动登录,提升了使用体验。

2. 相关代码

4.2.3 红外模块

1. 功能介绍

通用红外遥控系统由发射和接收两部分组成,应用编/解码专用集成电路芯片进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光/电转换放大器、解调/解码电路。

接收电路是一种集成红外线接收和放大的一体化红外接收器模块,能够完成从红外线接收到输出与TTL电平信号兼容的所有工作,适用于红外线遥控和红外线数据传输。接收器做成的红外接收模块只包括:三个引脚、信号线、VCC、GND、Arduino开发板和其他单片机,连接通信非常方便。

2. 相关代码

4.2.4 服务器模块

1. 功能介绍

服务器采取Node.js+Express模式,接收硬件传输数据,处理微信小程序的请求,Arduino开发板通过轮询确认服务器记录的状态,当小程序发出指令后,修改服务器记录的状态,从而在Arduino开发板下次询问时发送红外信号控制空调。

2. 相关代码

4.2.5 微信小程序模块

1. 功能介绍

本项目使用微信小程序将控制页面呈现在用户面前,如果连续两次按键时间间隔为400ms,则将变化的参数传输到服务器。

2. 相关代码

1)WXML代码

2)JS代码