智能家居家庭防盗系统设计与实现.docx
《智能家居家庭防盗系统设计与实现.docx》由会员分享,可在线阅读,更多相关《智能家居家庭防盗系统设计与实现.docx(39页珍藏版)》请在冰豆网上搜索。
智能家居家庭防盗系统设计与实现
智能家居家庭防盗系统
的设计与实现
第1章绪论
1.1研究背景
随着社会的日益发展,人们的生活水平逐渐升高,人们对家庭设施于财务的安全意识也逐渐增强,而对于家庭安全是一个独立的完整的系统,逐渐兴起的物联网技术在家庭安全防盗方面起到了重要的作用,利用建立在物联网技术上的智能家居系统给家庭安全防盗系统带来了光明的前景。
基于智能家居的家庭安全防盗系统具有四个显著的特征:
1.美观整洁:
智能家居系统采用当下最先进的物联网技术,利用多个传感器节点收集信息并传送到主控制器,整个系统中不需要胡乱搭线不需要占用太大空间。
2.易操作:
安全防盗系统采用可视化显示屏,通过按键进行输入,使用过程不需要任何技术要求。
3.安全性高:
利用物联网技术的家庭防盗系统采用高质量高灵敏度的传感器,进行检测于设防,一旦有危险因素发生,系统会作出实时的反应发送报警信息。
4.不影响人们正常生活:
基于智能家居的安全防盗系统可以有户主自由的进行开启于关闭,准确性高,不会产生误报,错报等尴尬情况。
[1]
小区安全防盗系统建设已逐渐纳入许多小区建设的必备项目中了。
以深圳为例,几乎所有新建的住宅楼盘都预装了防盗系统,并禁止安装防盗网,而上海、广州、温州、南昌等地更是花费重金拆除了防盗网,其防盗功能则必须由电子防盗系统来完成。
1.2国内外研究现状
1984年世界上第一座智能大厦在美国诞生,很快掀起一股“智能建筑”热潮。
在短短的十几年中美国、日本、欧洲的几万座智能大厦纷纷建成,美国1986年成立了“智能建筑协会”,其中会员横跨17个国家,并宣布1995年以后要大幅度增加智能型大楼的比例。
日本建设省1985年成立了国家智能建筑专业委员会,对智能建筑的发展给予政策上的支持,使日本在智能建筑上成为发展非常快的国家。
据统计,日本新建的建筑物中60%以上是智能型的。
进入90年,英国、法国、加拿大、瑞典等国家都相继建成一批有自己特色的智能建筑。
美国犹他州emWare公司最近开发成功一项全新理念的安防技术,可使上班的人们透过Internet来监控自家住宅的安全,用户只要在计算机运行的网络测览器软件中用鼠标点击一下,即可使用该技术达到监控的目的。
据称,该系统的软件除了可以控制门锁外,还可控制家中的恒温设备、安全设备、娱乐设备等,甚至可用于监护住在家中的病人。
我国智能建筑的建设始于1990年,北京的发展大厦可谓是我国智能建筑的雏形,随后建成了北京燕莎中心、上海商城、广州世贸中心、南京禄口机场等一批具有一定智能化的建筑。
我国智能住宅与智能小区虽然起步比较晚,但发展速度确实很快。
以北京、深圳、上海、广州等较发达的城市为龙头在近几年内形成了一股智能化住宅热。
目前,公安部、建设部均要求智能住宅小区必须具有安防系统。
可以预见,智能住宅、智能小区将成为未来建筑业的发展主流。
特别是在我国,随着人们生活水平的日益提高,住宅小区的智能化程度将成为评价住宅小区的重要指标。
1.3前景意义
通过家庭安防系统的实现,可以为人们在未来建设智慧家庭,智慧小区,智慧城市奠定重要的技术基础,可以在未来家庭与区中通过利用传感器节点进行信息采集并发送给用户常用的智能设备,达到随时随地无延时无障碍实时的惊醒远程控制与远程接受,智能家居与安全防盗在慢慢的改变着人们的生活和工作方式,其应用和经济社会效益前景非常良好。
1.4系统特征
智能家居的安全防盗系统,分为两个方面,包括安防于防盗,安防是对家庭内部的环境检测,防盗系统主要是对入侵者的检测与报警。
首先,安防喜用采用stm32f103开法板上的温室度传感器以及自己外接的烟雾传感器,当温度过高超过设定的温度值时,会自动报警,当室内检测到有害气体时,也会触发报警。
其次,对于防盗系统采用一个红外人体检测没模块,该模块会向一片区域投射红外线,把次区域当作设防区域,当有人入侵时,一旦进入了次区域,次模块便会向主控制器发送报警信息,控制器会采取相应的措施,同时GSM模块会向预留在模块里的手机号码发送报警信息,用户自己回家时,也需要根据显示屏的提示输入密码,只有输入正确才能进入。
本系统从操作性、简介性、安全性、可靠性多个角度进行设计与实现,其研究意义重大,使用意义更不可小觑,体现了当下最前沿的发展方向。
1.5论文组织结构
本论文共分五章。
论文的第1章为绪论,这一章主要讲述了本系统的研究背景、国内外研究现状、前景意义、系统结构和论文的组织结构。
第2章主要介绍了开发本系统的相关技术基础,主要介绍了C语言、MDK-ARM、STM32F103开发板的简介等基础知识。
第3章主要介绍了家庭安防系统所需要的硬件支持,包括STM32F103开发板、DHT11温湿度传感器、MQ-2烟雾传感器、HC-SR501人体红外检测模块、GSM通信模块,以及分别对每个模块的简单介绍,功能用法的简单分析。
主要从可行性及系统的需求两个方面进行的分析。
可行性分析从技术、经济、操作三个方面分析确定了系统开发的作用和意义。
需求分析则确定了系统具体应该实现的功能。
论文从第4章开始介绍开发此系统的详细设计与功能实现过程,主要包括对每个模块功能的实现方法,编程思路,然后根据功能描述系统测试后的现象等,在该章节最后,把相关模块的驱动实现代码做了简单的介绍。
最后一章是对本系统的总结与对未来发展和改善的展望。
第2章系统相关技术基础
2.1AT指令
AT指令集是从终端设备(TerminalEquipment,TE)或数据终端设备(DataTerminalEquipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发送的。
其对所传输的数据包大小有定义:
即对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。
每个AT命令行中只能包含一条AT指令;对于由终端设备主动向PC端报告的URC指示或者response响应,也要求一行最多有一个,不允许上报的一行中有多条指示或者响应。
AT指令以回车作为结尾,响应或上报以回车换行为结尾。
与SMS有关的GSMAT指令(fromGSM07.05)如下:
AT指令
功能
AT+CMGC
SendanSMScommand(发出一条短消息命令)
AT+CMGD
DeleteSMSmessage(删除SIM卡内存的短消息)
AT+CMGF
SelectSMSmessageformate(选择短消息信息格式:
0-PDU;1-文本)
AT+CMGL
ListSMSmessagefrompreferredstore(列出SIM卡中的短消息PDU/text:
0/“RECUNREAD”-未读,1/“RECREAD”-已读,2/“STOUNSENT”-待发,3/“STOSENT”-已发,4/“ALL”-全部的)
AT+CMGR
ReadSMSmessage(读短消息)
AT+CMGS
SendSMSmessage(发送短消息)
AT+CMGW
WriteSMSmessagetomemory(向SIM内存中写入待发的短消息)
AT+CMSS
SendSMSmessagefromstorage(从SIN|M内存中发送短消息)
AT+CNMI
2.2C语言简介
C语言是国际上广泛流行的计算机高级语言,它适合最为系统描述语言,既可以用来编写系统软件,也可以编写应用软件,C语言的主要特点如下:
1.语言简洁、紧凑、使用方便、灵活:
语言一共有32个关键字、9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。
2.运算符丰富:
C语言的运算符包含的范围很广泛,共有34种运算符,C语言把括号、赋值、强制类型转换等都作为运算符处理。
3.数据类型丰富,具有现代的数据结构:
C语言提供的数据类型有:
整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型等,使用十分灵活和多样化。
4.语法限制不太严格,程序设计自由度大。
5.C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
2.3MDK-ARM软件
MDK-ARM软件为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境。
MDK-ARM专为微控制器应用而设计,不仅易学易用,而且功能强大,能够满足大多数苛刻的嵌入式应用。
MDK-ARM有四个可用版本,分别是MDK-Lite、MDK-Basic、MDK-Standard、MDK-Professional。
所有版本均提供一个完善的C/C++开发环境,其中
MDK-Professional还包含大量的中间库。
完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。
业行领先的ARMC/C++编译工具链IDE集成开发环境,调试器和仿真环境
确定的KeilRTX,小封装实时操作系统(带源码)TCP/IP网络套件提供多种的协议和各种应用提供带标准驱动类的USB设备和USB主机栈为带图形用户接口的嵌入式系统提供了完善的GUI库支持。
ULINKpro可实时分析运行中的应用程序,且能记录Cortex-M指令的每一次执行关于程序运行的完整代码覆盖率信息执行分析工具和性能分析器可使程序得到最优化。
Keil开发软件项目包包括user,libraries,stm32,cmsis等文件夹如图2-1所示。
图2-1Keil项目包
项目调试中选中ST-Link仿真调试如图2-2所示。
图2-2选中ST-Link
在Device选项中,选中STM32F103RB型芯片,在C\C++选项中的includePath中将路径设置为..\Library\inc;..\User;..\Stm32;..\bsp,在Debug选项的setting中,将ort选为sw,最大频率为1MHz。
第3章系统分析
3.1系统框架
智能家居防盗系统主要由MQ-2烟雾传感器、Hc-sr501人体红外检测传感器、GSM模块和MCU组成,其中MCU是有意法半导体公司生产的STM32系列单片机,烟雾传感器与人体红外传感器分别采集外界信息,并通过GSM模块以手机短信的形式发布报警信息给用户。
系统框架如图所示3-1。
图3-1系统框架
3.2程序流程图
系统的整个流程,从门禁系统开始,当用户通过按键输入开门密码时,如果输入正确,门可以自动打开,在家庭内部,各种传感器采集数据,如果有恶性情况发生,则通过设置GPRS相关格式与参数,发送手机短信给用户。
程序流程图如图3-2所示。
图3-2程序流程图
第4章系统硬件结构
4.1STM32F103开发板
STM32F103使用高性能的ARM®Cortex™-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条A总线的外设。
所有型号的器件都包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:
多达2个I2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。
STM32F103xx中等容量增强型系列产品供电电压为2.0V至3.6V,包含-40°C至+85°C温度范围和-40°C至+105°C的扩展温度范围。
一系列的省电模式保证低功耗应用的要求。
STM32F103xx中等容量增强型系列产品提供包36脚至100脚的6种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同,STM32F103x是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。
Stm32f103芯片管脚图如图4-1所示。
图4-1Stm32f103芯片管脚图
每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。
每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。
GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。
Stm32最小系统PCB封装图如图2-4所示。
图4-2Stm32f103开发板pcb封装图
Stm32f103开发板如图4-3所示。
图4-3Stm32f103开发板实物图
4.2DHT11温湿度传感器
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
4.3MQ-2烟雾传感器
MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。
当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。
这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。
电路图如图4-4所示。
图4-4蜂鸣器电路图
主要特点及应用:
1.较宽的浓度范围内对可燃气体有良好的灵敏度。
2.对液化气、丙烷、氢气的灵敏度较高
3.长寿命、低成本
4.简单的驱动电路即可
5.家庭用气体泄漏报警器
6.工业用可燃气体报警器
4.4HC-SR501人体红外检测
HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口LHI778探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品,传感器驱动电路如图4-5所示。
图4-5
1.全自动感应:
人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
[2]
2.光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。
3.温度补偿(可选择,出厂时未设):
在夏天当环境温度升高至30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。
4.两种触发方式:
(可跳线选择)。
4.5蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示,蜂鸣器电路如图4-6所示。
图4-6蜂鸣器驱动电路图
4.6GSM通信模块
短信报警功能采用sim900模块,该模块利用GSM技术,GSM模块既要提供无线通信的功能,也要提供应用的接口,因此其软件构成主要包括如下:
通信功能单元:
按照3GPP规范设计的通信软件,包括物理层、协议栈,还包括与语音相关的声码器单元。
嵌入式实时操作系统单元:
支撑各软件单元的运行、调度、资源管理和分配等。
硬件驱动单元:
管理无线模块的硬件资源,通过调用硬件驱动接口来使用模块的硬件,如UART、Memoris、SPI、I2C、Power、SIM、Keyboard、GPIO等。
1.人/机接口单元:
为使用者提供接口。
2.1个网络状态指示灯(红色)
3.SIM900A模块的所有IO口均用排针引出,方便使用
4.ATK-SIM900A模块(开发板)采用工业级标准设计,特点包括:
5.板载RS232串口(支持硬件流控制),方便与PC/工控机等设备连接;
6.板载3.5mm耳机和麦克风座,方便进行语音通信开发;
引出所有SIM900A模块的IO口,并对通信部分IO口做了兼容性设计,方便连接3.3V/5V单片机系统;板载高效同步降压电路,转换效率高达90%,支持超宽电压工作范围(5~24V),非常适合工业应用;
板载电源防反接保护,TVS电源保护和SIM卡ESD保护,保护功能完善;
板载RTC后备电池(XH414H-IV01E),无需担心掉电问题;[7]GSM模块背面如图4-5所示。
图4-5GSM模块背面走线
第5章系统详细设计
5.1设计目标
本系统是根据需求分析按照用户的需求以及结合人机交互方面的考虑设计的系统,主要实现如下功能:
5.1.1温湿度检测报警功能
空气温湿度检测报警系统,它所使用的传感器,是采用DHT11温湿度传感器来采集温湿度的信号,将采集到的数字信号所获得的数据直接送入STC89C52的单片机中,单片机再对数字信号进行处理,经过单片机处理的信号再次通过1602字符液晶显示器将温湿度值显示出来,若通过温湿度传感器所采集的数据过高,则会通过报警电路发出报警,提醒人们空气中的温湿度对人的身体不利,,温室度传感器我如图5-1所示。
图5-1DHT11温湿度传感器
DHT11温湿度传感器通过根据工作时序编程,将采集的模拟量转化成40个比特位,经过移动算法转化成十进制的数显示出来,温湿度实现代码如下。
Gpio.c
voidgpio_config()
{
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);//led1的控制管脚
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOC,&GPIO_InitStructure);//蜂鸣器控制管脚
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD;
GPIO_Init(GPIOC,&GPIO_InitStructure);//DHT11输入管脚
}
Dht.c
#include"stm32f10x.h"
#include"dht.h"
#include"delay.h"
intT,R;
intread_bit()
{
inta=0;
while(GPIO_ReadInputDataBit(DHT_PORT,DHT_PIN)==0);//屏蔽低电平
while(GPIO_ReadInputDataBit(DHT_PORT,DHT_PIN)==1)
{
delay_us(10);
a++;
}
if(a<5)
{
return0;
}
return1;
}//在高电平中输出40个比特位
voidread_data()
{
inti;
charch[40];
GPIO_ResetBits(DHT_PORT,DHT_PIN);
delay_ms(20);
//拉高点平等待DHT11响应,延时50us.
GPIO_SetBits(DHT_PORT,DHT_PIN);
delay_us(50);
if(GPIO_ReadInputDataBit(DHT_PORT,DHT_PIN)==0)
{
while(GPIO_ReadInputDataBit(DHT_PORT,DHT_PIN)==0);//屏蔽低电平
while(GPIO_ReadInputDataBit(DHT_PORT,DHT_PIN)==1);//屏蔽高电平,可以接受bit
for(i=0;i<40;i++)
{
ch[i]=read_bit();//读取比特
}
T=ch[0]*128+ch[1]*64+ch[2]*32+ch[3]*16+ch[4]*8+ch[5]*4+ch[6]*2+ch[7]*1;R=ch[16]*128+ch[17]*64+ch[18]*32+ch[19]*16+ch[20]*8+ch[21]*4+ch[22]*2+ch[23]*1
}
}
Dht.h
#ifndef__DHT_H
#define__DHT_H
#include"stm32f10x.h"
/***********************宏定义**********************/
#defineDHT_LOWGPIO_ResetBits(GPIOC,GPIO_Pin_12)
#defineDHT_HIGH()GPIO_SetBits(GPIOC,GPIO_Pin_12)
#defineDHT_PORTGPIOC
#defineDHT_PINGPIO_Pin_12
/***********************函数声明*********************/
intread_bit(void);
voidread_data(void);
#endif
5.1.2MQ-2气体检测报警功能
有害气体检测报警系统以MQ-2电阻式烟雾传感器和模拟电子技术为核心,设计出一种技术水平较好的烟雾报警器。
其中选用MQ-2型半导体可燃气体敏感元件烟雾传感器实现烟雾的检测,具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长。
泄漏气体报警系统的工作过程,就是泄漏气体达到一定浓度时(通常浓度值应非常低),经气体检测装置将气体泄漏信号变成电信号,通过DO管教输出的高低电平传给总控制器,来发出报警信息。
当轻按打火机时,里面的气体会释放,烟雾传感模块会检测到并触发报警如图5-2所示。
图5-2MQ-2模块
检测部分是由固定安装的MQ-2传感器,它负现场数据,并将采集得到的数据变成模拟的电信号;信号传递部分负责将从处理器得来的经过编码的数据发送出去,MQ-2实现代码如下。
Mq-2.c
#include"stm32f10x.h"
#include"mq2.h"
/***********************相应外设GPIO口的初始化*******************/
voidMQ2_Config()
{
GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2