新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 輕松打造智能家庭衛(wèi)士系統(tǒng)(原理,軟硬件實(shí)現(xiàn),器件選型)

輕松打造智能家庭衛(wèi)士系統(tǒng)(原理,軟硬件實(shí)現(xiàn),器件選型)

作者: 時(shí)間:2014-04-11 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://2s4d.com/article/256957.htm

1.3軟件設(shè)計(jì)

1.3.1中斷

為了更好的提高系統(tǒng)效率,本系統(tǒng)充分的利用了AVR32單片機(jī)的中斷功能。

(1)定時(shí)器中斷

在定時(shí)中斷服務(wù)函數(shù)里面利用AD采集各種傳感器數(shù)據(jù)是一種常用的手段,本設(shè)計(jì)就是利用1.8s定時(shí)來采集各種室內(nèi)數(shù)據(jù)

定時(shí)器后臺中斷程序流程: 定時(shí)器前臺主程序流程:

(2)串口中斷

在設(shè)計(jì)中,AVR單片機(jī)與GSM模塊的通信是利用串口進(jìn)行的。由于用查詢方式接收串口數(shù)據(jù)會大大的降低系統(tǒng)性能實(shí)時(shí),故串口接收部分利用串口中斷。

遠(yuǎn)程用戶為了遠(yuǎn)程監(jiān)視家里的情況,只需要向目標(biāo)板GSM發(fā)送短信,GSM收到短信后會向核心板AVR32串口發(fā)送數(shù)據(jù),當(dāng)AVR32串口接受到數(shù)據(jù)后,在串口中斷中把標(biāo)志位flag置1,同時(shí)把串口接受到得數(shù)據(jù)儲存到緩存中,主程序在定時(shí)器控制下,每隔1.8s檢測flag,當(dāng)檢測到flag等于1的時(shí)候,讀取緩存中的數(shù)據(jù),根據(jù)讀取到得不同數(shù)據(jù),作不用的處理,然后單片機(jī)AVR32通過串口向GSM發(fā)送相應(yīng)的室內(nèi)信息代碼,然后GSM通過短信向遠(yuǎn)程用戶發(fā)送室內(nèi)檢測到的信息,例如溫度、濕度等等,從而高效的查詢家里的情況,達(dá)到遠(yuǎn)程控制的功能,流程如下圖16。

圖 16

1.3.2語音部分

作為的重要平臺,語音處理部分主要是將各種傳感器采集到的參數(shù),通過語音提示用戶,語音部分的軟件框圖如下圖17所示,并通過發(fā)出警告的方式,提醒用戶改善居住環(huán)境。

圖 17

2 總結(jié)

本次項(xiàng)目設(shè)計(jì)時(shí)間相對緊迫,離最初的要求有一定的距離,但是總體效果還算令人滿意,實(shí)現(xiàn)了遠(yuǎn)程用戶實(shí)時(shí)監(jiān)視家里環(huán)境,在家里環(huán)境發(fā)生異常的情況下,如有外人闖入,溫度、濕度、可燃?xì)怏w濃度發(fā)生異常時(shí),及時(shí)的做出報(bào)警,同時(shí)通過GSM發(fā)送短信向遠(yuǎn)程用戶發(fā)出警告,其語音模塊能夠準(zhǔn)備的根據(jù)當(dāng)時(shí)環(huán)境測得的情況,做出語音提示。

本次設(shè)計(jì)加強(qiáng)了我們動手、思考和解決問題的能力。在設(shè)計(jì)過程中,是心里老想著這樣的方法可以行得通的,但實(shí)際上,總是實(shí)現(xiàn)不了,因此耗費(fèi)在這上面的時(shí)間也挺多的。但是到后面,我們又會換換方案,解決問題。感觸最深的就是:無論多么簡單的事情,一定要親自去做了才能做評價(jià)。想象中的簡單不等于實(shí)現(xiàn)的簡單。在本次設(shè)計(jì)當(dāng)中,我們的模塊調(diào)試用了相當(dāng)長的時(shí)間。本來以為很簡單,但是在實(shí)際調(diào)試過程中卻總是會遇到這樣那樣的問題。最后連調(diào)的時(shí)候,本來以為模塊調(diào)試通過了,連調(diào)就容易了,但是當(dāng)所有模塊連接在一起的時(shí)候就會因?yàn)橄嗷サ臎_突而不能同時(shí)工作。所以又話了很長時(shí)間來調(diào)試系統(tǒng),經(jīng)過幾天不分晝夜的努力,我們終于完成了我們的系統(tǒng)。

在調(diào)試系統(tǒng)的過程中,遇到的問題真的很麻煩,比如在調(diào)試GSM SIM300模塊的過程中,需要通過avr單片機(jī)控制短信的接收和發(fā)送,但是,短信的接收過程中對于數(shù)據(jù)的采集,判斷,分析都是異常艱難的,需要從眾多的信息中提取出短信中的有效信息,就需要不斷地判斷,不斷地選擇。所以,在這個過程中會有很多莫名其妙的死機(jī),但是,我們還是堅(jiān)持了下來,通過串口,分別調(diào)試gsm和avr部分。不斷優(yōu)化我們的程序,最后達(dá)到了我們想要的結(jié)果。另外,在語音模塊的控制上面,我們選擇使用三線spi控制過程中,仍然遇到了不少的問題,比如,由于wt588d模塊上面的輸出,有busy信號,這對于實(shí)時(shí)查詢語音的播報(bào)情況十分重要,所以在調(diào)試這個語音模塊的過程中,始終想把這個忙信號用起來,但是,通過反復(fù)地調(diào)試,發(fā)現(xiàn)busy信號并不是隨語音的實(shí)時(shí)播報(bào)而一直顯示為高電平,反而只是在開始播報(bào)時(shí)會產(chǎn)生一個上升沿而已,所以,我們最后修改方案,不使用這跟信號線了。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉