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

4.2 模块介绍

本项目主要包括射频卡控制模块、报警系统模块、服务器模块和手机端控制模块。下面分别给出各模块的功能介绍及相关代码。

4.2.1 射频卡控制模块

本节包括射频卡控制模块的功能介绍及相关代码。

1.功能介绍

射频卡控制模块主要是对IC/ID卡进行识别,并将接收到的信息传输给Arduino开发板,再由Arduino开发板对其进行认证,此部分编译环境为Arduino IDE,在信息认证匹配后控制舵机开始工作,打开门锁,实现自动开门。在此已经设定好了相应的IC/ID卡,进行多次启动后,使舵机旋转一个适合的角度,恰好打开门锁。元件包括MFRC522模块、Arduino开发板和舵机,电路如图4-4所示。

图4-4 刷卡开门的电路原理

2.相关代码

4.2.2 报警系统模块

本节包括报警系统模块的功能介绍及相关代码。

1.功能介绍

在压力传感器接收到压力后,将数据传输给Arduino开发板进行信息处理,根据获得压力的数值,控制蜂鸣器是否工作,从而达到门锁受到暴力破坏时,开启报警系统的功能,此处加入了ESP8266,在蜂鸣器报警的同时向手机端发送警告信息。元件包括蜂鸣器、压力传感器、150Ω电阻、Arduino开发板和导线若干,电路如图4-5所示。

图4-5 报警电路原理

2.相关代码

4.2.3 服务器模块

本节包括服务器模块的功能介绍及相关代码。

1.功能介绍

本部分使用MyEclipse+Tomcat构建服务器,实现后台服务器的相关功能。

2.相关代码

1)WiFiServerSocket.java

2)WiFiServerSocketListener.java

3)AppServiceSocket.java

4)AppControlServlet.java

5)AppServerSocketListener.Java

6)ToolUtils.java

7)web.xml

4.2.4 手机端控制模块

本节包括手机端控制模块的功能介绍及相关代码。

1.功能介绍

手机端APP通过WiFi与ESP8266模块进行连接,并向其发送指令,再将指令传输到Arduino开发板的RX软串口。编译程序使开发板软串口收到指定字符后,输出指令,控制舵机运转至相应角度后,打开门锁,从而完成无线远程自动开门的操控。对应APP可通过Android Studio或Eclipse导入手机。元件包括ESP8266模块、舵机、Arduino开发板和导线若干,电路如图4-6所示。

图4-6 手机端控制模块电路

2.相关代码