家庭安防远程监控系统设计.ppt

上传人:牧羊曲112 文档编号:6043974 上传时间:2023-09-18 格式:PPT 页数:38 大小:337.50KB
返回 下载 相关 举报
家庭安防远程监控系统设计.ppt_第1页
第1页 / 共38页
家庭安防远程监控系统设计.ppt_第2页
第2页 / 共38页
家庭安防远程监控系统设计.ppt_第3页
第3页 / 共38页
家庭安防远程监控系统设计.ppt_第4页
第4页 / 共38页
家庭安防远程监控系统设计.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《家庭安防远程监控系统设计.ppt》由会员分享,可在线阅读,更多相关《家庭安防远程监控系统设计.ppt(38页珍藏版)》请在三一办公上搜索。

1、嵌入式系统原理与设计 家庭安防远程监控系统设计,本节提要,1,2,3,功能需求分析及总体设计,系统硬件设计,软件设计,8.1 功能需求分析及总体设计,家庭安防监控系统主要是通过远程安防监控器实现对家庭智能化系统中各种与信息相关的通讯设备、家用电器和家庭保安装置进行集中的或异地的控制和家庭事务性管理,实现对家庭中重要设备进行远程信息查询、安防报警、远程监控等功能。,图8-1家庭安防系统总体结构图,整个安防监控器的电路框图如图8-2所示,由电源电路、人机交互模块、主控模块、移动通信模块、设备控制模块、数据采集模块、PSTN模块、语音录放模块等电路组成。,本节提要,1,2,3,功能需求分析及总体设计

2、,系统硬件设计,软件设计,8.2系统硬件设计,系统功能较多,考虑系统对实时性、功耗、成本、扩展性等要求,安防监控器采用S3C44B0X作为处理器,采用双音多频解码集成电路芯片MT8888和ISD4004语音芯片实现报警器的主要功能,PSTN模块主要由主控芯片电路、语音模块电路、振铃检测电路、摘挂机电路、双音频信号收发器电路、输出放大电路和输入放大电路等部分组成。,表8-1 S3C44B0X主要端口分配表,监控器所涉及的关键技术主要在以下几个方面:1.DTMF(Dual Tone Multi Frequency)收发芯片MT8888CE的电路设计;2.基于语音芯片ISD4004的录放音电路设计;

3、3.电话控制模块家电控制语音提示信息的存放和寻址。本章主要对这几个模块的电路设计进行介绍,其它电路如电源、串口、键盘、LCD等电路设计参考第五章。,振铃检测电路设计,8.2.2 摘挂机电路设计,电话DTMF收发器电路设计,语音模块设计,8.2.5 GSM通信模块,本节提要,1,2,3,功能需求分析及总体设计,系统硬件设计,软件设计,8.3软件设计,要实现家电(空调、电视、等)的远程开、关控制,家电状态的远程查询,必须对设备进行编号,设计规范的查询控制的命令格式,才能进行正确地监控家电设备。在一般家庭中电器类型有以下几种:1:空调 2:电视 3:热水器 4:灯开关 5:煤气监测器 6:火焰监测器

4、设备的监控命令设计为如下格式:监控命令格式:命令类型+命令分类+设备序号+设备状态。命令类型主要分为查询命令和控制命令两种;命令分类是指查询命令中的查询分类,控制命令中的分类,如0表示关、1表示开;设备序号是指家电设备的编号;设备状态是在查询和控制动作的返回结果,具体见表8-2。,表8-2 监控命令格式,根据系统功能将任务划分为GSM短信查询控制任务、报警任务、电话查询控制任务、键盘设置等任务,本章主要针对前3个任务进行设计分析,编程内容包括:主函数设计报警任务GSM短信查询控制任务PSTN电话查询控制任务串口中断服务程序外部中断0服务程序,任务状态切换图,8.3.1 主程序设计,/*任务优先

5、级定义*/#define Phone_Prio 7#define GSM_Prio 6#define Alarm_Prio 5/*任务堆栈定义*/#define STACKSIZE 50OS_STK Phone_StackSTACKSIZE=0,;/Phone_Task堆栈OS_STK GSM_StackSTACKSIZE=0,;/GSM_Task堆栈OS_STK Alarm_StackSTACKSIZE=0,;/Alarm_Task堆栈/*任务定义*/,/*任务定义*/void Phone_Task(void*Id);/GSM_Taskvoid GSM_Task(void*Id);/GSM_

6、Taskvoid Alarm _Task(void*Id);/GSM_Task/*事件定义*/OS_EVENT*E_GSM_Mbox;/申明短信消息事件typedef struct gsm_cmd/定义命令参数消息结构INT8U phone_no14;/手机号码INT8U dev_no;/设备编号INT8U cmd_type;/instruction命令类型INT8U cmd_class;/命令种类INT8U dev_status;/设备状态*GSM_CMD;,struct GSM_CMD GSM_Command;/定义命令短信消息/OSMboxPend(E_GSM_Mbox,0,void m

7、ain()ARMTargetInit();/开发板初始化OSInit();/操作系统初始化/其他初始化操作OSTaskCreate(Phone_Task,(void*)0,(OS_STK*),报警任务,系统报警任务功能是指系统定时查询各个设备的状态,并与设定的报警值进行比较,如果超出设定值则通过通信模块进行报警。,void Alarm_Task(void*Id)INT8U i,j,k=0;INT8U DeviceStatus=0;INT8U*msg;for(;)for(i=0;idev_no=i;if(DeviceStatus Devicei.UpStatus)/如果状态超出设定范围,则报警。

8、for(j=0;jmobile_no=MobilePhonej;GSM_Command-dev_status=DeviceStatus;SendMessage(GSM_Command);msg=OSMboxPend(E_GSM_Mbox,2000,/如果在规定时间内有短信回复,跳出循环,if(msg=NULL)/当短信没有回复,则认为短信报警信息失败,电话报警while(k2)for(j=0;j=PhoneNum;j+)phoneflag=CallPhone(PhoneNoj);if(phoneflag)/判断电话在规定时间内是否接通/接通则播放报警录音,否则拔下一个电话号码PlayRecor

9、d(i,DeviceStatus);/播放设备i的报警状态StopPhone();/挂机Break;if(phoneflag=0)OSTimeDly(18000);k+;else k=0;break;,8.3.3 GSM短信查询控制任务,查询任务主要功能是接收GSM通信模块传递的命令,解析命令参数,然后查询/控制各个电器设备,返回查询/控制状态。,void GSM_Task(void*Id)void*msg=NULL;INT8U error;for(;)OSMboxPend(E_GSM_Mbox,0,2.短信接收中断服务程序设计 短信的接收是放在串口中断服务程序中执行的,需要编写串口接收中断服

10、务程序。,void UART0RD_GSM_ISR()unsigned char data4;struct GSM_MSG msg;unsigned char i;ReadMessage(msg);/读取短信data=MessageAnalyze(msg-msg_data);/解析短信内容,获取有效控制或查询命令参数GSM_Command-phone_no=msg-phone_no;GSM_Command-dev_no=data0;/保存短信参数GSM_Command-dev_type=data1;GSM_Command-dev_class=data2;OSMboxPost(E_GSM_Mbo

11、x,GSM_Command);/发送短信消息邮箱,激活GSM任务,8.3.4 电话查询控制任务,该任务负责有线电话线路的监听,将获取的数据放入消息数组中。电话查询控制是通过远程电话根据监控器提示音进行按键输入控制或查询命令来实现的。电话振铃检测与外部中断0相关联,如果出现打入电话,可采用在中断服务程序中加入信号量事件来传递接入电话信号。,void Phone_Task(void*Id)char*password;INT8U i;INT8U j=1;INT8U data3;INT8U CmdType=0;INT8U CmdClass=0;INT8U DeviceNo=0;INT8U Device

12、Status=0;for(;)OSSemPend(E_PConnect_Sem,0,/播放提示输入密码错误,i+;if(!strcmp(password,PASSWORD)for(i=0;i3;i+)PlayRecord(0,InputInstructioni);/播放提示录音/挂机,外部中断0中断服务程序负责监听电话和接通电话,通过信号量来通知任务电话接通信息。中断服务程序如下:void ConnectPhone_ISR()rGPF=|0 x1;/设置端口GPF0,使继电器K1导通,接通电话OSSemPost(E_PConnect_Sem);/发送信号量,激活电话任务void ReadPho

13、ne_ISR()unsigned char data;StopPlay();/中断录音播放data=DTMF_Read();/读取按键值 OSMboxPost(E_PRead_MBox,/发送按键消息,激活电话任务,8.3.5 其他函数说明,1.设备相关函数设备状态查询函数:unsigned char DeviceCheck(unsigned char deviceno)设备状态控制函数:unsigned char DeviceControl(unsigned char deviceno,unsigned char cmdclass);2.短信相关函数短消息发送函数:void SendMess

14、age(unsigned char*message)短消息读取函数:void ReadMessage(void*msg)短消息解析函数unsigned char*MessageAnalyze(char*message),3.电话相关函数电话拨号函数:unsigned char CallPhone(unsigned char*PhoneNo)电话摘机函数:void ConnectPhone()电话挂机函数:void StopPhone()远端按键读函数:unsigned char DTMF_Read();4.录音相关函数播放录音函数:void PlayRecord(unsigned char device_no,unsigned char record_no)停止放音函数:void StopPlay(void);,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号