新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 轻松打造智能家庭卫士系统(原理,软硬件实现,器件选型)

轻松打造智能家庭卫士系统(原理,软硬件实现,器件选型)

作者: 时间:2014-04-11 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/256957.htm

1.3软件设计

1.3.1中断

为了更好的提高系统效率,本系统充分的利用了AVR32单片机的中断功能。

(1)定时器中断

在定时中断服务函数里面利用AD采集各种传感器数据是一种常用的手段,本设计就是利用1.8s定时来采集各种室内数据

定时器后台中断程序流程: 定时器前台主程序流程:

(2)串口中断

在设计中,AVR单片机与GSM模块的通信是利用串口进行的。由于用查询方式接收串口数据会大大的降低系统性能实时,故串口接收部分利用串口中断。

远程用户为了远程监视家里的情况,只需要向目标板GSM发送短信,GSM收到短信后会向核心板AVR32串口发送数据,当AVR32串口接受到数据后,在串口中断中把标志位flag置1,同时把串口接受到得数据储存到缓存中,主程序在定时器控制下,每隔1.8s检测flag,当检测到flag等于1的时候,读取缓存中的数据,根据读取到得不同数据,作不用的处理,然后单片机AVR32通过串口向GSM发送相应的室内信息代码,然后GSM通过短信向远程用户发送室内检测到的信息,例如温度、湿度等等,从而高效的查询家里的情况,达到远程控制的功能,流程如下图16。

图 16

1.3.2语音部分

作为的重要平台,语音处理部分主要是将各种传感器采集到的参数,通过语音提示用户,语音部分的软件框图如下图17所示,并通过发出警告的方式,提醒用户改善居住环境。

图 17

2 总结

本次项目设计时间相对紧迫,离最初的要求有一定的距离,但是总体效果还算令人满意,实现了远程用户实时监视家里环境,在家里环境发生异常的情况下,如有外人闯入,温度、湿度、可燃气体浓度发生异常时,及时的做出报警,同时通过GSM发送短信向远程用户发出警告,其语音模块能够准备的根据当时环境测得的情况,做出语音提示。

本次设计加强了我们动手、思考和解决问题的能力。在设计过程中,是心里老想着这样的方法可以行得通的,但实际上,总是实现不了,因此耗费在这上面的时间也挺多的。但是到后面,我们又会换换方案,解决问题。感触最深的就是:无论多么简单的事情,一定要亲自去做了才能做评价。想象中的简单不等于实现的简单。在本次设计当中,我们的模块调试用了相当长的时间。本来以为很简单,但是在实际调试过程中却总是会遇到这样那样的问题。最后连调的时候,本来以为模块调试通过了,连调就容易了,但是当所有模块连接在一起的时候就会因为相互的冲突而不能同时工作。所以又话了很长时间来调试系统,经过几天不分昼夜的努力,我们终于完成了我们的系统。

在调试系统的过程中,遇到的问题真的很麻烦,比如在调试GSM SIM300模块的过程中,需要通过avr单片机控制短信的接收和发送,但是,短信的接收过程中对于数据的采集,判断,分析都是异常艰难的,需要从众多的信息中提取出短信中的有效信息,就需要不断地判断,不断地选择。所以,在这个过程中会有很多莫名其妙的死机,但是,我们还是坚持了下来,通过串口,分别调试gsm和avr部分。不断优化我们的程序,最后达到了我们想要的结果。另外,在语音模块的控制上面,我们选择使用三线spi控制过程中,仍然遇到了不少的问题,比如,由于wt588d模块上面的输出,有busy信号,这对于实时查询语音的播报情况十分重要,所以在调试这个语音模块的过程中,始终想把这个忙信号用起来,但是,通过反复地调试,发现busy信号并不是随语音的实时播报而一直显示为高电平,反而只是在开始播报时会产生一个上升沿而已,所以,我们最后修改方案,不使用这跟信号线了。



评论


相关推荐

技术专区

关闭