APP下载

基于微信公众平台的智能家庭监控系统设计*

2017-09-03陆金虎王益祥

单片机与嵌入式系统应用 2017年8期
关键词:烟雾服务器公众

陆金虎,王益祥

(南京理工大学 机械工程学院,南京 210094)

基于微信公众平台的智能家庭监控系统设计*

陆金虎,王益祥

(南京理工大学 机械工程学院,南京 210094)

对目前的智能家庭监控系统进行了研究,提出了一种基于微信公众平台的智能家庭监控系统。整个监控系统的底端是数据采集端,采用带有Linux操作系统的Tiny6410开发板,核心控制器为S3C6410芯片。将mjpg-streamer视频服务器移植到Linux系统上,可提供视频流以便远程观看;同时在开发板上集成相应的传感器,可以采集室内的环境数据。数据采集端可以将采集的数据以网络的形式传递给中间层云服务器,进而传递给微信用户;反之用户可以发送控制查询指令给底层数据采集端。

微信;S3C6410;数据采集;监控;Linux

引 言

随着社会科技的迅速发展,人们生活水平的提高,对生活质量更加重视,故智能家居概念一提出来,就引起了社会的广泛关注。目前,智能家居的设计思路大多是设计一个可以连接网络的底层硬件控制设备,并开发与之相对应的手机APP或者手持终端作为用户查看和控制的载体,但这样设计的缺点是手机APP或者手持终端的开发周期较长、成本较高[1]。针对此缺点,本文设计一种基于微信平台、以太网和移动网络通信技术、腾讯云服务器的家庭安防监控系统,该系统可以实现对家庭的室内环境数据,如温湿度、烟雾和危险气体,以及常用家居电器开关的控制。

1 系统总体方案设计

基于微信的家庭安防监控系统共分为三个部分:底层的数据采集和控制系统、微信公众平台和腾讯云服务器上搭建的服务系统,以及微信手机端在内的软件系统。系统的总体功能如图1所示。数据采集和控制系统部分与腾讯云服务器之间通过HTTP网络传输的方式进行数据传输,云服务器再借助微信公众平台接口与微信手机端进行信息交互。

图1 系统总体功能图

2 系统硬件设计

系统的硬件选用的是以三星公司生产的S3C6410为核心处理器的Tiny6410开发板,其设计基于ARM1176JZF-S核,内部集成了强大的多媒体处理单元,具有256 MB NAND Flash以及外界的SD卡座。该开发板具有100M标准网络接口、标准DB95线串口、Mini USB2.0接口、USB HOST接口、4路TTL串口以及I2C-EEPROM、蜂鸣器等。图2为系统硬件的总体框图。

图2 硬件系统总体框图

2.1 传感器的选择与电路设计

2.1.1 温湿度传感器

图3 DHT11传感器工作原理图

本设计采用DHT11温湿度传感器,因为DHT11具备可以同时采集温度和湿度数据的功能,且采集的数据是一次性以40位数据格式的方式全部传给单片机,与单片机的通信方式为单总线,其不具有很高的数据传输准确度等优势[2]。DHT11模块共有4个引脚,引脚1为供电引脚,引脚2为数据传输引脚,引脚3置空,引脚4为接地引脚。DHT11模块与MCU之间的连接方式如图3所示。

DHT11温湿度传感器由S3C6410主控芯片控制,DHT11在正常情况下处于低功耗模式,当MCU向传感器发送一个开始信号的标志时,DHT11会从低功耗模式转换到高功耗模式。

MCU发送开始型号完毕后,会接收来自DHT11返回的响应信号,同时,DHT11紧接着向MCU一次性发送40位的数据,数据格式为:

8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据+8位校验

发送的顺序是高位在前低位在后,至此完成一次信号采集,用户可以根据数据格式选读其中的信息数据。

2.1.2 烟雾传感器

MQ-2烟雾传感器选用的气敏材料为二氧化锡(SnO2),在洁净的空气中,它的电导率较低,但是,当空气中存在可燃气体时,其电导率会增加,而且电导率的大小与空气中可燃气体浓度成正相关关系。

MQ-2烟雾传感器对烟雾有很高的灵敏度,可用于对多种危险气体进行检测,如液化气、丙烷、氢气等[3]。基于上述考虑,本设计采用MQ-2烟雾传感器。如图4所示,MQ-2烟雾传感器模块共有4个引脚,引脚1为供电引脚,引脚2为TTL高低电平输出端,引脚3为模拟电压输出端,引脚4位为接地引脚。

QM-N10的4引脚输出直流信号,直流信号随着烟雾浓度变化,其值被加载到比较器U1A的2引脚,同Rp组成比较器的阈值电压。当烟雾浓度较高时,输出电压高于阈值电压,比较器输出低电平(0V),LED灯报警;当浓度降低正常返回时,传感器的输出电压低于阈值电压,比较器输出高电平(Vcc),LED灯熄灭。调整Rp,可以调节比较器的阈值电压,以此调整灵敏度。引入R1构成传感器的加热电路,保护加热丝免受冷力的影响。

图4 烟雾传感器工作原理图

2.2 USB摄像头的电路设计

USB摄像头采用的是中星微的ZC301P摄像头,属于一种CMOS摄像头,具有超强的感光效果。使用中星微301P摄像头时,需要在底层的Linux系统中移植USB摄像头驱动,即在底层开发板上的USB接口中插入USB摄像头,在USB驱动的支持下,摄像头方可实现实时使用视频数据。图5为USB接口原理图。

图5 USB接口原理图

3 系统的软件设计

3.1 现场MCU数据采集端软件设计

现场MCU数据采集端实时采集室内环境数据,并将采集的数据通过以太网模块以HTTP网络通信的方式发送至云服务器端,同时在数据采集端将采集的数据与系统内预先设定的上限值和下限值相比较,决定数据采集系统是否铃声报警,以及在云服务器端判断接收的数据是否在安全值范围内决定是否向用户发送微信报警信息。图6为MCU控制器主程序流程图。

图6 MCU数据采集端主程序流程图

3.2 服务器端软件设计

本次设计的服务器端选用开放的腾讯云服务器,功能是完成MCU控制端发来的传感器数据,以及实现MCU控制端与微信用户的信息传递。

在进行服务器端软件设计之前需要在服务器端的数据库中创建一张表,用于存储传感器数据,如表1所列。

本次设计服务器的应用程序含有4个功能模块:微信公众平台服务器的验证模块、微信数据包解析模块、指令处理模块和数据存储处理模块。

表1 数据库表

实现微信公众平台与云服务器(云服务器上的Web应用)信息交互的前提是确保云服务器上的应用程序与微信公众平台的接口相连,确定对云服务器(云服务器上的Web应用)的请求来自微信公众平台,故此需要微信公众平台服务器的验证模块[4]。请求验证流程如下:

① 获取HTTP GET请求中的4个参数:signature、timestamp、nonce和echostr;

② 将token、timestamp和nonce3个参数按字典排序,其中token由有开发者指定,不会从GET请求中获取;

③ 将排序后的3个参数按顺序拼接成一个字符串,并对该字符串以sha1方式进行加密;

④ 将signature参数与加密后的字符串相比较,如果相等则证明该请求源自微信服务器,同时微信服务器原样返回参数echostr。

如果微信公众平台验证模块验证成功,云服务器就可以与微信公众平台进行信息交互,交互的信息数据格式是XML形式的,所以要对信息数据包进行解析,故云服务器的应用程序模块应包含数据解析模块。微信公众平台的开发采用JAVA语言,JAVA解析XML数据选用的工具是Dom4j和Xstream。

指令处理模块顾名思义是处理微信用户发来的查询控制指令。指令处理模块的程序开发分主要分为以下两个部分:

① 确定请求是否来自微信,如果是,则获取请求中的用户查询控制指令参数;若否,则退出程序;

② 连接云服务器的数据库,根据不同的用户查询控制指令,从数据库中获取相应的传感器的数值返回给用户。

用户在微信端输入湿度、温度、浓度或者查询指令后,云服务器会根据用户的指令在数据库的表中查询数据值,最后依据微信发送的查询指令,将查得的数据值与数据保存的时间一起发给微信用户。

数据存储处理模块用于将MCU控制端采集的传感器数据实时保存下来,并且在保存的过程中,可以实时检查数据是否在标定的范围内,如果不在,则向微信用户发送报警信息。数据存储处理模块的程序开发流程如下:

① 确定请求是否来自微信,如果是,则获取请求中的参数(传感器采集的数据);否则,则退出程序;

② 连接云服务器的数据库,将获取的参数存储到数据中;

③ 判定获取的传感器数据是否超出限值,如果超出限值,则向微信用户发送报警信息。

4 系统测试

进行系统测试前,首先关注微信公众账号,关注成功后,公众账号会返回微信用户关注成功消息,图7为微信公众账号关注欢迎消息和功能界面。

图7 微信公众账号关注成功界面

微信用户手机客户端是家庭安防远程监控端,通过发送相关查询指令(温度、湿度、烟雾等)或者点击菜单中的查询按钮,可以实时查询家庭室内环境数据,实现微信和MCU数据采集端的互动。

在测试的时候,同时用打火机对温度传感器进行加热,以及当温度达到极限值时,MCU数据采集端会发出声音报警,同时,微信用户手机端也会受到温度过高报警信息;用户点击视频菜单按钮,可以查询摄像头采集的数据。

结 语

[1] 智之屋. 智能家居设计方案[J]. 数字社区&智能家居, 2006(27):67-72.

[2] 倪天龙. 单总线传感器DHT11在温湿度测控中的应用[J]. 单片机与嵌入式系统应用, 2010, 10(6):60-62.

[3] 苏文静, 文小玲, 朱琥. 可燃气体报警器的设计[J]. 电工电气, 2009(5):8-11.

[4] 柳峰. 微信公众平台应用开发[M]. 北京:机械工业出版社, 2014.

陆金虎(硕士研究生)、王益祥(副教授),主要研究方向为嵌入式软件与硬件。

Intelligent Home Monitoring System Based on WeChat Public Platform

Lu Jinhu,Wang Yixiang

(School of Mechanical Engineering,Nanjing University of Science and Technology,Nanjing 210094,China)

In the paper, a kind of intelligent home monitoring system based on WeChat public platform is proposed.The bottom of the entire monitoring system is the data acquisition side,which uses the Tiny6410 development board with Linux operating system,the core controller is S3C6410 chip.The mjpg-streamer video server is transplanted to the Linux system,it can provide video stream for the remote access.At the same time,the corresponding sensor is integrated on the development board,which can collect the indoor environmental data.At the end of the data collection,the collected data can be transmitted to the cloud server through the network,and then is transmitted to the WeChat user.And the user also can send the control instructions to the underlying data collection side.

WeChat;S3C6410;data acquisition;monitor;Linux

国家级-国家自然科学基金资助项目(61074006)。

TP319

A

�迪娜

2017-04-20)

猜你喜欢

烟雾服务器公众
公众号3月热榜
薄如蝉翼轻若烟雾
公众号9月热榜
公众号8月热榜
公众号5月热榜
影视剧“烟雾缭绕”就该取消评优
通信控制服务器(CCS)维护终端的设计与实现
咸阳锁紧烟雾与尘土
中国服务器市场份额出炉
得形忘意的服务器标准