分享

空巢老人智能家居安防子系统的设计与开发

 GXF360 2017-05-29
空巢老人智能家居安防子系统的设计与开发

空巢老人智能家居安防子系统的设计与开发

王希娟

(陕西国际商贸学院信息与工程学院,陕西 咸阳 712046)

摘要:针对现有智能家居产品面向对象泛化、功能单一等现状,进行了多地的社会需求调查,确定了产品服务对象和功能定位,基于WiFi&Arduino设计开发了一套面向空巢老人的智能家居安防子系统。该子系统不仅可以通过指纹、IC卡进行用户身份验证,还可以通过安卓手机指令进行远程开锁或系统控制,同时兼具家庭环境监测、异常情况报警等功能。经过测试,系统实现了24h家庭环境的安全防护,并可将监测数据通过WiFi实时反馈到安卓智能手机上。

关键词:空巢老人;智能家居;安防

基于无线物联网的智能家居系统,不仅减少了传统有线智能家居系统繁琐的布线工程,而且系统的操控更加便捷。目前,虽然市场上已有一些无线智能家居系统产品,但一方面存在面向对象太泛化的不足,缺乏满足空巢老人这一特定群体实际需求的智能家居系统;另一方面,基于WiFi&Arduino技术开发的智能家居产品尚少,且存在系统功能薄弱、单一等缺憾。如果能够推出一款面向空巢老人的智能家居系统,不仅可以对空巢老人进行日常生活照料,在一定程度上弥补年轻人无法时刻守护家中老人的缺憾,而且子女可以通过远程监控随时掌握空巢老人在家中的生活状况。因此,开发一套功能多样、技术先进、面向对象具体的智能家居系统是符合社会发展需求的[1]。空巢老人智能家居系统分为环境监测子系统、安防子系统、照明子系统和辅助子系统4部分,由于系统整体功能复杂,本文仅对空巢老人智能家居系统的安防子系统进行探究。

1 需求分析

如今,我国三代同堂、四世同堂的传统家庭结构已渐行渐远,取而代之的是“空巢老人”数量的逐年递增,传统家庭养老方式即将面临重大挑战。家庭结构的小型化趋势使得空巢老人居家养老困难日益突显,照顾老人变成了很多年轻人心有余而力不足的一件事情。

智能家居系统作为一种空巢老人居家养老的辅助工具,可解决或缓解目前的社会问题。为了解空巢老人的实际需求,本文以城市空巢老人为主要调研对象,在北京、重庆、西安、咸阳、宝鸡、铜川等地开展了关于“空巢老人”智能家居系统功能需求的问卷调查活动。活动中共发放调查问卷8 705份,回收调查问卷8 656份,其中有效调查问卷8 607份,经统计,各功能需求如图1所示。从图1可以看出,在调查的7项功能中,安防功能需求最多。因此,安防可以作为空巢老人智能家居系统的首要功能进行设计与开发。

图1 空巢老人智能家居功能需求饼图

2 安防子系统功能设计

由于空巢老人安全、防盗功能的需求量最大,因此安防子系统主要提供了环境监测、身份验证、远程开锁和报警功能。

2.1 环境监测

通过安设在不同位置的火焰传感器、烟雾传感器、一氧化碳传感器和人体红外感应传感器等传感器对家庭环境进行数据采集和环境监测。传感器采集的信息可以实时反馈到用户的安卓智能手机中,即使用户不在家中,通过WiFi无线通信,也可以随时掌握家庭的安全状况[2-3]

2.2 身份验证

作为安防子系统的关键功能,身份验证功能主要包括IC卡刷卡身份验证、指纹验证两种方式。其中,刷卡身份验证基于物联网关键技术之一的RFID技术。在该方式中,用户可以凭借RFID技术采集IC卡或异形卡信息与预存信息进行比对,如果信息匹配,则身份合法。而当用户连续5次刷卡不成功,则用户身份可疑,自动开启报警功能。

用户指纹验证作为安防子系统的另一入户身份验证机制,用户可以凭借预先采集的手指指纹进行身份验证,指纹匹配时,身份合法;连续5次验证失败后,自动启动报警功能。

2.3 远程开锁

安防子系统提供了远程开锁入户的方式,只要在WiFi无线信道建立的情况下,即使空巢老人的子女或亲属正在工作或出差,也可以通过WiFi发送手机控制指令为家中访客或紧急救助老人的医护人员开锁。

2.4 报警

在安防子系统中,如果身份验证失败或有非法入侵者,或者有火灾、煤气泄露等险情发生时,报警功能可以通过WiFi向空巢老人子女发出警示,还可以通过布设的多个蜂鸣器向空巢老人、小区保安或邻居发出警报,以便及时处置出现的紧急事件。

3 硬件选材与线路设计

3.1 硬件选材

3.1.1 单片机的选择

根据需求分析可知,面向空巢老人开发的智能家居系统应满足响应迅速,功耗低,兼容性、安全性和扩展性强以及价格低廉等实际需求,让人们能够以最实惠的价格体验到最优性能智能家居系统带来的生活便利。市场上的单片机种类繁多,常见的有51系列、PIC系列、AVR系列、MSP系列和ARM系列单片机。各种系列的单片机有着各自的优势,但经综合比较AVR系列单片机无论速度、功耗、兼容性,还是安全性、扩展性和价格等都有着绝对的优势,性价比较高。而作为AVR系列单片机家族成员的Arduino单片机,除了具有AVR系列单片机所共有的优点以外,还具有软硬件开源、硬件连接方便、支持ICSP线上烧录、扩展性强、编程容易和可跨平台开发等诸多优点,因此空巢老人智能家居系统选择了Arduino Mega 2560单片机作为硬件环境的核心[4-5]

Arduino Mega 2560单片机是Arduino单片机家族中接口较多的一款产品,采用ATmega 2560处理器,具有54路数字I/O接口、16路模拟输入接口、4组串行接口UART,兼容Arduino UNO系列单片机的扩展板,提供3组供电方式,可以最大限度地满足系统开发的需要。为了方便Aduino Mega 2560单片机与其他硬件的连接,子系统还采用了奥松机器人推出的Arduino Mega ProtoShield V3原型扩展板。

3.1.2 刷卡身份验证模块硬件选材

刷卡身份验证模块选取Philips公司MF RC522芯片为核心的MF522-AN模块,该模块基于RFID技术,具有体积小、低电压和低成本等优点,与MCU之间采用SPI接口进行非接触式通信,性能稳定、通信距离长。除此之外,刷卡身份验证模块还包含了标准S50空白卡(即IC卡)和S50异形卡(即钥匙扣),用户可以使用它们与MF522-AN模块进行通信以达到识别身份的目的。

3.1.3 指纹验证模块硬件选材

在用户忘记带卡不能刷卡入户时,子系统提供了另一种身份验证方式,即指纹验证。在该功能中,选取了以高速、高性能的DSP处理器为核心的FM-70光学指纹模块实现用户指纹验证。FM-70光学指纹模块可以代替IC卡、密码、硬件开关等应用在多种安全管理领域,既可以与上位机连接开发出功能强大的指纹识别系统,也可以在没有上位机的参与下独立工作,主要包括指纹图像采集、指纹图像处理、特征提取、特征值的比对与匹配等功能。为了更好地降低电路功耗,指纹模块摒弃了休眠或待机状态,只保留了工作和不工作两种状态。当MCU需要接入指纹模块时,只需要提供电源输入,指纹模块便进入工作状态,完成相应的操作;如不再使用指纹模块,切断电源即可,指纹模块便进入关闭状态。

3.1.4 其他模块硬件选材

除上述硬件材料外,系统还选取了HC-SR501人体红外感应模块、无源蜂鸣器、LCD 1602 I2C液晶屏和TLN13UA60串口WiFi模块等。其中,HC-SR501人体红外感应模块主要采用了监测生物红外线而输出电信号的热释电红外传感器,可以对家庭各窗户周边的非法入侵者进行实时监测。在有非法入侵者出现时,可以及时启动无源蜂鸣器发出报警声,从而达到保障家庭安全的目的。LCD 1602 I2C液晶屏则对用户身份验证等功能的操作进行文字提示。系统选取的TLN13UA60串口WiFi模块则可以实现安卓智能手机通过WiFi无线通信技术控制系统工作的目的,用户只需在WiFi连通的情况下,发送手机控制指令即可实现对系统的开启、关闭和各功能模块的实时控制。

3.2 硬件结构设计

子系统硬件控制中心以Arduino Mega 2560单片机和Arduino Mega 2560 ProtoShield 原型扩展板构建的Arduino主控单元为核心,通过WiFi无线通信技术传送手机控制指令和数据信息,并对各功能硬件模块实现电路控制。各硬件模块通过不同的接口与Arduino主控单元连接后就构成了子系统的硬件结构,如图2所示。

图2 子系统硬件结构图

1)使用数字接口的D0~D1、D2、D3、D4、D5~D8和D14~D15管脚分别连接WiFi模块、蜂鸣器a、蜂鸣器b、蜂鸣器c、刷卡身份验证模块和指纹验证模块。

2)使用模拟接口的A0、A1和A2管脚分别连接3个红外感应传感器。

3)使用I2C接口连接LCD液晶屏。

4)FM-70光学指纹模块需与Arduino主控单元的5V电压接口相连。对HC-SR501人体红外感应模块供电,建议使用经过三端稳压芯片稳压后且通过220μF和0.1μF的电容滤波后的变压器电源供电。

4 驱动程序设计

硬件线路只是子系统的骨架,要让这些部件发挥自身的作用就得靠驱动程序来实现,即通过用户的WiFi指令控制Arduino主控单元驱动外围硬件模块发挥其自身的作用,读取外围传感器监测的数据。子系统连接完成并加电后,进入工作模式选择状态,此时用户需要通过WiFi发送手机指令来选定子系统的工作模式。

4.1 工作模式设计

子系统的工作模式分为两种,即设置开锁指令模式和身份验证模式。

在设置开锁指令模式下,用户可以使用智能手机设置远程开锁指令。指令由4位数字组成,确定输入后将这些数据存储在Arduino主控单元的存储阵列中,以备远程开锁时进行数据匹配。设置完毕后,发送手机指令可以退出该工作模式,再次回到工作模式选择界面。

在身份验证模式下,Arduino主控单元实时读取是否有用户手机传送的开锁指令、判断是否有用户指纹或智能钥匙(或门禁卡)卡号的输入。如果采集到任意一项数据,子系统自动与Arduino主控单元存储的开锁指令、指纹验证模块存储的指纹数据或刷卡身份验证模块存储的卡号进行比对,比对成功后可以入户,连续5次数据比对失败,则拒绝入户并报警。另外在家庭窗户、过道等位置处布设的红外感应传感器,在该工作模式下也对非法入侵者进行实时监测。监测数据如果异常,则自动启动报警功能。

指纹数据采集和存储可在指纹验证模块连接到Arduino主控单元之前完成,连接到子系统硬件线路后,主要完成指纹图像处理、特征提取、特征值的比对与匹配等,而这些功能均在身份验证模式下由设计的驱动程序实现。

4.2 控制指令设计

根据功能设计和工作模式设计的需要,子系统控制指令包括工作模式的选择指令和退出指令,见表1。

表1 控制指令设计

模式指令备注设置开锁指令1使用智能手机设置并存储子系统远程开锁指令/退出该模式身份验证2读取是否有智能手机输入的开锁指令、用户指纹或智能钥匙(或门禁卡)卡号,如果有,则与存储的开锁指令、指纹数据或卡号进行比对,比对成功后进入子系统,连续五次数据比对失败,则拒绝进入子系统并报警/退出该模式

4.3 算法设计

驱动程序基于标准化、模块化的思想进行设计和开发,不同模块的功能可以自定义多个函数来实现。在安防子系统中,驱动程序支持用户通过智能手机输入远程开锁指令或通过智能钥匙、指纹对比进行身份验证,还可以对家庭环境进行防盗监测,其程序流程如图3所示。

图3 安防子系统驱动程序流程图

1)读取开锁指令算法设计。

//指令匹配判断函数定义

void getinstruction()

{for(int i = 0;i<4;i++)>

//把接收到的4位指令存储到Pass2_buf[i]中

{Pass2_buf[i]=Serial.read();}

//将已存储的指令逐位与读取到的指令进行比对,比对成功

if(Pass1_buf[0] == Pass2_buf[0] && Pass1_buf[1] == Pass2_buf[1] &&Pass1_buf[2] == Pass2_buf[2] && Pass1_buf[3] == Pass2_buf[3])

{ lcd.clear(); //LCD液晶屏清屏

lcd.setCursor(0,0);//LCD液晶屏设置焦点

lcd.print(“welcome you!”); //欢迎入户

delay(6000);

}

else{ //比对失败

lcd.clear(); //LCD液晶屏清屏

lcd.setCursor(0,1);//LCD液晶屏设置焦点

//指令不匹配,请重新输入

lcd.print(“mismatch,input again!”);

}

};

2)读取指纹算法设计。

指纹验证需要经历指纹图像采集、指纹图像转换和指纹比对等过程,这些功能以用户自定义的库文件函数方式实现,进行驱动程序设计时只需要调用这些库文件中的相关函数即可。其中,定义指纹图像采集函数为getImage(),定义指纹图像转换函数为image2Tz(),定义指纹比对函数为fingerFastSearch(),并分别被驱动程序函数getFingerprintIDez()调用。

getFingerprintIDez()函数定义如下:

int getFingerprintIDez()

{ //调用指纹图像采集函数

uint8_t p=finger.getImage();

if (p!=FINGERPRINT_OK)return-1;

p=finger.image2Tz();//调用指纹图像转换函数

if(p!=FINGERPRINT_OK)return-1;

//调用指纹快速比对函数

p=finger.fingerFastSearch();

if(p!=FINGERPRINT_OK)return-1;

Serial.print(“Found ID #”);

Serial.print(finger.fingerID);

Serial.print(“with confidence of”);

Serial.println(finger.confidence);

return finger.fingerID;

};

以库文件中的指纹图像采集函数为例,其算法设计如下:

uint8_t Dyrobot_Fingerprint::getImage(void)

{uint8_t packet[]={FINGERPRINT_GETIMAGE};

writePacket(theAddress,FINGERPRINT_COMMANDPACKET,3,packet);

uint8_t len=getReply(packet);

if((len!=1)&&(packet[0]!=FINGERPRINT_ACKPACKET))

return-1;

return packet[1];

};

5 调试

安防子系统驱动程序开发完毕后,需要对各硬件、手机指令等进行功能调试,采用的部分测试用例和测试结果见表2。

表2 功能调试数据记录表

序号测试用例测试结果备注1*子系统无响应21进入“设置开锁指令”工作模式3(子系统无响应42进入“身份验证”工作模式5/退出当前工作模式61234远程开锁成功,LCD液晶屏显示“welcomeyou!”进行开锁时使用的口令7与系统配套的IC卡在感应区刷卡实现开锁8与系统配套的S50异形卡在感应区刷卡实现开锁9右手食指指纹正确按下指纹后实现开锁已存储指纹10其他用户在防盗感应区被感应,发出警报

由此可以看出,安防子系统能够顺利实现,达到了预期的效果,但最初设计的算法在空间复杂度和时间复杂度上冗余较大,经过优化和一系列调试,性能有所改进。

6 结束语

安防子系统是空巢老人智能家居系统中需求量最大的一个子系统。在门禁方面,该子系统采用了刷卡开锁、指纹开锁和远程指令开锁相结合的方式,不仅给用户提供了形式多样的身份验证方式,而且考虑到了空巢老人及其子女的生活细节,为紧急救助空巢老人提供便利。在防盗方面,该子系统通过由多处布设的传感器构成的传感器网实现家庭环境异常情况的实时监测,并具备报警功能。在技术方面,该子系统不仅采用了WiFi无线通信技术与Arduino系列单片机进行设计与开发,而且实现了智能手机作为终端控制器对子系统进行远程控制的功能,弥补了先前基于这些技术开发的智能家居系统的不足。

参考文献:

[1] 沙英姿.基于物联网的城市空巢老人智能家居设计研究[D].北京:北京交通大学,2014.

[2] 张钧.智能养老住宅远程监控系统研究[D].西安:西安建筑科技大学,2013.

[3] 陈泽虎.智能家居家电控制与体征监测系统的设计与实现 [D].上海:东华大学,2014.

[4] 王继文.养老住宅智能化系统的研究与设计[D].西安:西安建筑科技大学,2014.

[5] 鹿曼.基于Android的智能家居控制系统的设计与实现[D].济南:山东建筑大学,2013.

Development of intelligent home safe defense subsystem for empty nest elder

WANG Xijuan

(College of Information and Engineering,Shaanxi Institute of International Trade & Commerce,Shaanxi Xianyang,712046,China)

Abstract:Aiming at the present situation of object-oriented generalization and single function of intelligent home products,it analyzes a lot of social needs survey.Based on the product service object and function orientation,it designs the intelligent home safe defense subsystem with WiFi & Arduino for empty nest elder.The subsystem can not only authenticate user by fingerprint and IC card,but also remote unlocking or system control with Android mobile instructions.Furthermore,the subsystem can monitor the family environment,alarm abnormal and so on.Based on a series of tests,it shows that the subsystem achieves the aim for 24 hour family environment security,and the real-time monitoring data on the Android smartphone via WiFi.

Key words:empty nest elder; intelligent home; safe defense

DOI:10.3969/j.issn.2095-509X.2017.01.011

收稿日期:2016-10-14

基金项目:陕西省教育厅科研项目(14JK2018)

作者简介:王希娟(1983—),女,陕西西安人,陕西国际商贸学院讲师、工程师,硕士,主要研究方向为物联网、智能控制。

中图分类号:TP273+.5

文献标识码:A

文章编号:2095-509X(2017)01-0049-05

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多