基于物联网的安全家居管理系统开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于物联网的安全家居管理系统开发

在树莓派开发板安装Windows loT,利用微软认知服务的人脸识别技术、Windows 10通用应用开发技术以及Microsoft Azure云服务平台构建安全家居管理系统。主要功能有:回家刷脸进门;阻挡嫌疑访客并拍照记录;监控家中火源,获取家中温湿度;远程控制门锁开关。

标签:物联网;树莓派;微软人脸识别API;Azure云服务;Windows 10

引言

物联网技术被看作是信息领域一次重大的发展和变革机遇,从通信对象和过程来看,物联网技术的核心是物与物以及人与物之间的信息交互,可实现信息获取、信息传输、信息处理等功能。[1]使用微软最新的物联网技术+C/S结构+云服务模式实现当前用户的需求,整个系统架构设计清晰且易于后期的维护与升级。

1 硬件技术平台、软件开发平台

1.1 树莓派

树莓派(英语:Raspberry Pi)是英国的树莓派基金会开发的微型计算机,因为它便宜的价格,信用卡般的大小和强大的性能,迅速被推向市场,在其基础上搭建了各种平台以实现特定的需求。基于树莓派所自定义的安全家居系统可实现基础功能,加上传感器、摄像头等部件便可进行识别、监测室内状况。[2]

1.2 开发平台——Windows10

Windows10是一款支持PC、平板、手机、物联网硬件等跨设备的操作系统。Windows10通用应用程序原生支持X86架构和ARM架构,此平台支持基于云的服务——通知服务、漫游数据、Azure等。[3]Windows10支持多种开发语言,本系统中的程序主要采用C#语言编写。

2 系统设计与架构

2.1 设计思路

采用运行Windows10 IoT core的树莓派2代作为中控主机;使用Microsoft Azure作为云服务数据处理平台,同时也作为树莓派与客户端的通信平台;运行于跨设备的UWP(Universal Windows Platform)应用作为客户端。

2.2 Azure云服务平台——服务器、数据库、人脸识别API

Azure服务器端的程序实现数据的增删改查,Azure端同时存在一个照片库

即人脸信息表(Face List)将用户上传的照片使用API处理成Face List,当程序调用人脸对比API时,将树莓派端传来的照片作为参数传入,与Face List进行匹配,得出结果并根据识别结果创建相应通知消息并推送至客户端;在Azure的数据库中创建用户表、通知表、温湿度状态表、陌生人表等主要信息表。

2.3 树莓派配置

硬件配置:摄像头、温湿度传感器、红外传感器、扩音器、电锁。

软件配置:初始化设备程序——获取GPIO控制器,将所有接入设备的引脚的初始电压置为高(GpioPinValue.High);温湿度传感器程序——设置Timer计时器事件[4],每隔3分钟触发,为温湿度传感器传入低电压进行工作(默认不工作的状态是高电压),记录当前的数据并存储至Azure数据库,若温度过高(疑似有起火状况),则创建消息通知从服务器发送至客户端;红外传感器程序——当有人靠近时,触发相应的事件处理程序并调用摄像头;摄像头工作处理程序——将摄像头拍摄的照片序列化成流作为请求体,发送Post请求至服务器。

2.4 客户端——UWP應用

注册用户:根据用户填写的信息,以及选择的照片将用户信息存入创建的数据库,照片序列化成流存入Azure用于人脸识别的图片库中(Face List)。

查看温湿度:树莓派测得的数据存入数据库,再将数据读出查出显示到当前页面。

查看陌生人列表:非家庭成员多次访问失败,将自动拍照保存至数据库,采用ListView列表控件来显示,创建相应模型,将从数据库中的数据处理成此模型的List集合绑定于ListView控件。[5]

远程开关:客户端开关按钮事件向服务器发送请求,服务器处理程序将触发树莓派中的门锁开发处理事件,实现门锁的开与关。

3 技术分析

3.1 人脸识别API使用

3.2 推送通知

开发者首先将通知消息内容发送到微软的云服务器上(推送服务器),由推送服务器将消息发送到用户设备上。推送服务器通过为每个应用程序分配一个唯一的URI来确定将通知转发给目标用户。每个客户端运行后需要向推送服务器申请一个URI,将要推送通知的内容(XML格式的文档)以HTTP Post方式发送到该通道的URI即可。在向服务器提交的字段中包含应用在应用商店的SID 值和客户端密钥,提交方式为Post。[8]

4 功能模块及展示

4.1 功能模块

访客控制:在HC-SR501人体红外感应模块探测到人体后,树莓派会自动启动摄像头捕获人脸,获取到清晰人脸后,将图像以Post消息体的方式发送给位于Azure上的Face Recognition API,将图像处理并返回每个人脸唯一对应的FaceId,并返回给系统,系统将此FaceId与数据库中的FaceId进行比对返回此人的相应权限。如果系统判定此人有权进入,将会发送通知至PC/手机客户端。若有人多次识别失败,客户端也会收到相应的警告,并将此人照片存储至数据库供用户查看陌生人。

温湿度监测:通过DHT11温湿度模块每5分钟获取树莓派所处环境的温度和湿度,并发送至Azure中,系统将简单分析并自行存储至数据库中。用户可以从客户端获取温湿度数据。

安全分析:通过火焰传感器模块监视的火警状况;访客控制给出的可疑访客等形成的数据,形成图表化的安全简报。

远程开关控制:通过HTTP请求,实现门锁开关控制,以方便临时访客的进入。

4.2 项目展示(见图2、图3)

5 结束语

安全家居产业受到许多厂商的青睐,在激烈的竞争中安全家居智能产品将不断完善。接下来可开发的功能有:对接微信平台,用户可以通过微信收到推送消息实时获得家中的情况;加入声纹识别等技术,进一步提升安全可靠性。

参考文献

[1]孙其博,刘杰,黎,等.物联网:概念、架构与关键技术研究综述[J].北京邮电大学学报,2010,33(3):1-3.

[2]刘继元.基于树莓派的物联网应用[J].电子世界,2016(8):1-2.

[3]林政.深入浅出Windows10通用应用开发[M].北京:清华大学出版社,2016:3-12.

[4]Microsoft.Windows开发人员中心[EB/OL].(2016)[2015-12-23].https:///en-us/windows/iot/samples/kitblinky.

相关文档
最新文档