赵越,赵昕怡,袁景熙,潘世晨
(东南大学 成贤学院,江苏南京,210088)
物联网技术的飞速发展为人们的生活提供了很多便利,在人们的日常生活领域中有很大的应用场景。本系统以智能家居的理念为出发点,运用中央微处理器处理传感器数据,且利用物联网技术实现传感器、设备和网络相互连接,促进设备与网络之间以及设备自身之间的通信。在目前的中国市场中,智能家居及其类似产品均已成型。对于智能家居产品广泛投入宿舍场景,则会带来投入成本高和系统维护难度过高的问题。
随着大学生入学数量逐年增多,宿舍安全问题也越发引起社会大众的重视。无论是宿舍用电不慎引起的火灾还是多发的盗窃事故,都让大学生的日常生活存在安全隐患且严重影响着高校的正常教学秩序。传统的宿舍安全管理方式主要依靠人力巡视监管以及传统监控设施,而随着宿舍数量、住宿学生的基数以及隐私意识的不断增加,这种传统方式浪费大量的人力物力财力的传统方式已经难以满足目前管理的需求。为了解决这类问题,本系统运用物联网技术设计防火防盗智能化三大功能模块,为学生的人身安全及隐私提供保障。
本宿舍智能安防便利系统整体主要分为嵌入式STC89C52 和ESP8266-WIFI 模块接入互联网两部分。其整体网络结构如图1 所示。
图1 整体网络结构图
系统要实现网络控制和通讯功能,首先需要连接一个服务器。在本设计中,ESP8266 有两种网络通讯方式,即连接两种服务器。第一种通讯方式需运用MQTT 协议,此协议是用于实现客户端与服务器的消息发布和订阅传输。通过阿里云服务器与然也物联之间的通讯,ESP8266 利用此通信建立局域网,将客户端和阿里云服务器进行连接。客户端通过阿里云服务器和MQTT 协议发布消息,ESP8266订阅消息得到温湿度数据。客户端也可成为消息的订阅者ESP8266 向客户端发布消息,可实现系统的网络控制功能。同时本设计也用到了MQTT 协议的心跳机制,用于反映ESP8266 建立的通讯是否在线。第二种通讯方式运用到HTTP 协议,利用互联网或已建好的局域网向巴法云服务器发送HTTP 请求,并且分析巴法云服务器返回的HTTP 响应信息。通过巴法云控制台产生的信息密钥,响应信息能够利用密钥向手机微信建立通信,从而发出报警消息。网络通讯建立过程如图2 所示。
图2 网络通讯建立过程图
本系统主要采用STC89C52 为主控芯片,所需功能为以下模块实现:mq-6 可燃气体传感器模块、DHT11 温湿度传感器模块、SG90-舵机、YD-A1 雨滴传感器模块、0.96寸OLED 显示屏模块、ESP8266-NodeMCU 无线WIFI 模块、电磁锁模块、HC-SR04 超声波测距模块、蜂鸣器报警模块。系统硬件结构如图3 所示。
图3 系统硬件结构图
STC89C52 是一款内置4KB EEPROM、集成MAX810专用复位电路、拥有4 路外部中断的微处理器,工作电压为3.8V~5.5V,工作温度为-40℃~+85℃。它具有强抗干扰、成本低廉、超低功耗及超大容量SRAM 的特点。本设计采用数字信号的检测对STC89C52 和无线WiFi 模块ESP8266-NodeMCU 建立联系,并对Sg90-舵机进行控制。
MQ-6 可燃气体传感器所使用的气敏材料是在空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大,使用简单的电路即可将电导率的变化转换为与该气体浓度相对应输出的TTL 信号。通过调节传感器中的电位器,可改变MQ-6 的灵敏度。
DHT11 是一款有校准数字信号输出的温湿度传感器,采用简化的单总线通信。单片机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待单片机开始信号结束后,再发送响应信号,送出 40bit 的数据后触发一次信息采集。DHT11 的 DATA 引脚检测到外部信号有低电平时,该引脚处于输出状态,输出 80 微秒的低电平作为应答信号后,传感器继续输出80 微秒的高电平通知外设准备接收数据。精度湿度±5%RH,温度±2℃,量程湿度20%~90%RH,温度0℃~50℃,满足宿舍的检测需求。
SG90 舵机是一种直流电能转换成机械能(直流电动机)的旋转电机,有三根线:红线接VCC,棕线接GND,橙线接PWM 信号。PWM 信号是舵机的控制信号,该信号是周期为20ms 的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms~2.5ms。由于舵机内部有一个基准电路,会产生一个周期20ms,宽度1.5ms 的基准信号,当舵机收到一个PWM 信号时,舵机内部的比较器会将PWM 信号与基准信号进行比较,从而判断出舵机要转动的方向和大小,进而产生电机的转动信号,其转动角度与脉冲宽度呈线性关系。
YD-A1 雨滴传感器是一款采用高品质的FR-04 双面材料、抗氧化、高导电性、长寿命的传感器。由LM393(双电压比较器)和雨滴检测片组成。LM393 有6 个引脚+和-接与雨滴检测片连接。VCC 是电源正接口,可外接3.3~5V供电电源,GND 电源负极接口,可外接电源负极或地线,
DO 接数字信号输出接口,可外接单片机的GPIO 口,AO接模拟信号输出接口,可外接单片的ADC 采样通道。当雨滴检测片上检测到有水时,DO 引脚输出低电平,否则输出高电平。与DO 口不同的是AO 口会输出模拟信号,单片机可以通过模拟信号达到雨滴检测片上的雨量大小。
本设计选用分辨率为128×64 的0.96 寸7 针OLED 模块。它具有6800、8080 两种并行接口方式、3 线或4 线的串行SPI 接口方式和IIC 接口方式。该模块体型较小、抗震性能好、可视角度大,可以保证在很大的视角下观看且画面不失真。结合本系统主控芯片的计算能力和该显示屏的优点,选用该OLED 作为显示模块。
ESP8266-NodeMCU 是由乐鑫科技设计的一款支持WiFi 功能的开源硬件开发板,用于开发物联网环境。该开发板有30 个引脚,其中有17 个GPIO 引脚,其中GPIO6—GPIO11 被用于连接开发板的闪存。开发板可以用AT 指令开发、使用lua 脚本进行开发、Arduino IDE 开发和VS Code配置Arduino 开发环境,能够适应于各种操作环境。
本系统选用XG-07E 的5V 四线的电磁锁模块。因ESP8266 输出电压为3.3V,未达到电磁锁的驱动电压,所以本设计选用1 路5V 支持高低电平触发继电器作为电磁锁的驱动开关。电磁锁与继电器连接图如图4 所示。
图4 电磁锁连接图
HC-SR04 超声波测距模块可提供2cm~400cm 的非接触式距离感测功能,测距精度可达到3mm。该模块包含超声波发射器、接收器与控制电路。在本系统中,该模块用于判断外人闯入情况。若测出距离小于设定值,HC-SR04 会发出高电平反馈给主控芯片和ESP8266,实现报警和向微信发送短信的功能。
蜂鸣器报警模块选用的是有源蜂鸣器高电平触发模块。其工作原理为:直流电源输入经过振荡系统的放大取样电路在谐振装置作用下产生声音信号。当传感器达到指定数值时,向主控芯片传输高电平信号给蜂鸣器接入的GPIO 口,能达到实时报警的效果。
本系统软件部分主要由可燃气体传感器模块、温湿度传感器模块、舵机、雨滴传感器模块、OLED 显示屏模块、ESP8266 无线WiFi 模块、HC-SR04 超声波测距模块组成。程序烧录后,先对各个模块进行初始化,然后对传感器数值进行监测,判断被测对象是否达到设置预警值,最后将达到预警值模块的消息反馈给用户。系统程序设计流程图如图5所示。
图5 系统程序设计流程图
首先引入传感器和STC89C52 中需要调用函数的头文件,对所需变量和GPIO 口进行定义。其次对各模块的驱动代码进行封装,将其放入对应函数中。这样既增加了函数的可读性,也方便程度的连续调用。然后将各模块的初始化代码放入主函数中,并在主循环中调用所有模块的封装函数,即可启用各个模块,并做出响应。
首先定义ESP8266 的设备连接类型,本系统需连接ESP8266 的串口、WIFI 和小爱同学语音控制设备。其次,引入传感器和建立网络通讯的头文件,设置为AP 工作模式。然后对ESP8266 进行配网和默认API 网址的设置,存入局域网名称、密码和设备连接密钥。初始化服务器和web 配网,当ESP8266 的蓝灯闪烁显示配网成功时,再与设备进行连接。最后初始化串口函数(串口波特率设置为115200)、与blinkerAPP 同名的组件函数和微信消息推送函数void doHttpStick1(),即可通过手机对设备进行控制。为了温湿度传感器能够及时刷新且发送报警消息,本系统在loop 函数中增加了if(WiFi.status()==WL_CONNECTED)的判断语句,检查设备的网络连接状态。在网络连接完成后,放入DHT11.read()函数更新传感器信息,可得到温湿度数值的反复更新。
本设计的实物图如图6 所示。
本系统需连入物联网测试的功能有:①ESP8266 与blinker 软件的设备连接;②ESP8266 向巴法云服务器发送报警消息;③小爱同学语音控制。
①ESP8266 与blinker 软件的设备连接
Blinker 软件的显示界面如图所示。当程序烧录完成后,设备与手机进行连接,显示在线状态。如图7 所示,温湿度数值已传输到手机软件的显示界面。温湿度数值下的三个按键分别为开关灯、开关窗、开关锁的功能。下方的两个滑动条为温湿度的阈值设置,可随意更改预设值。最下方的调试界面用来观测数据的传输状态。从图7 可看出,数据传输状态良好。
图7 软件显示界面
②ESP8266 向巴法云服务器发送报警消息
本系统有三种情况需要发送消息:①温度达到预设值时,ESP8266 向手机发送“温度过高”消息;②气体浓度达到预设值时,ESP8266 向手机发送“气体浓度过高”消息;③超声波传感器达到预设值时,ESP8266 向手机发送“有人闯入”消息;消息发送成功界面如图8 所示。
图8 微信收到消息界面
③小爱同学语音控制
本设计的语音控制采用小爱同学APP,首先将米家APP 与blinkerAPP 进行设备同步。其次登录小爱同学APP,其中小爱同学和米家APP 的小米账号须一致。然后在小爱同学的训练计划中,设置语音开关灯指令,可以手机语音控制开关的功能。语音控制如图9 所示。
图9 语音控制
基于物联网的宿舍智能安防便利系统的设计,通过传感器控制和物联网技术,对学生宿舍进行全方位、实时的数据监控,提高了学生的安全管理效率和精准度。且通过实时数据采集,系统能够快速、准确地发现异常情况,及时进行报警和处置,从而保障学生的人身安全。此项目解决了宿舍管理带来的人力物力财力等问题,为未来宿舍管理提供了一种新的思路和解决方案。