物聯(lián)網(wǎng)架構(gòu)下的智能火災(zāi)預(yù)警系統(tǒng)
2.2 傳感器單元設(shè)計(jì)
參考文獻(xiàn)對(duì)火災(zāi)產(chǎn)生的原因、火災(zāi)預(yù)警原理及火災(zāi)信號(hào)選取做了詳細(xì)的分析?;诖?,根據(jù)火災(zāi)發(fā)生的前期特征,系統(tǒng)分別選取了溫度、濕度、煙霧和CO濃度作為火災(zāi)監(jiān)測(cè)對(duì)象。各傳感節(jié)點(diǎn)采用多傳感器技術(shù),分別連接了DHT21溫濕度傳感器、MQ2煙霧傳感器和MQ7一氧化碳傳感器。DHT21是含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,采用單排4針引腳封裝。使用時(shí),只需將DATA引腳連接到MCU的任意GPIO即可,這里是連接到CC2530的P1 5引腳。另外,為了確保CC2530對(duì)DHT21有足夠的驅(qū)動(dòng)能力,在DHT21 DATA引腳接有5.1 kΩ的上拉電阻,確保芯片有合適的灌電流。這樣,只要按照DHT21的邏輯時(shí)序編寫(xiě)程序,控制MCU引腳的輸入/輸出,就可以從DATA引腳準(zhǔn)確讀出溫濕度數(shù)據(jù)。
MQ2和MQ7傳感器都屬于氣敏型傳感器,兩者的原理相似,都屬于MQ傳感器。MQ傳感器所采用的氣敏材料是在清潔空氣中電導(dǎo)率極低的SnO2,當(dāng)將它放置于某種敏感氣體環(huán)境中時(shí),電導(dǎo)率將隨該種敏感氣體濃度的增大而增大。因此,在驅(qū)動(dòng)MQ傳感器時(shí),只需根據(jù)傳感器特性搭建合理的驅(qū)動(dòng)電路即可。MQ傳感器的輸出均為模擬量,故應(yīng)交由MCU進(jìn)行A/D轉(zhuǎn)換。CC2530的P0口是其內(nèi)部ADC的8通道輸入端口,故將MQ2和MQ7的輸出端分別連接至P0_0引腳和P0_1引腳。MQ傳感器有6只針狀引腳,如圖2所示。2引腳和5引腳用于提供加熱電流,供電電壓為5 V,其余引腳用于信號(hào)取出。通過(guò)電路分析可知,4引腳和6引腳的輸出電壓為

3 系統(tǒng)軟件設(shè)計(jì)
3.1 ZigBee—WSN軟件設(shè)計(jì)
底層的數(shù)據(jù)采集網(wǎng)絡(luò)采用ZigBee2007協(xié)議規(guī)范設(shè)計(jì),基于TI公司提供的半開(kāi)源Z-Stack協(xié)議棧開(kāi)發(fā)。系統(tǒng)的整體流程如圖3所示。本文引用地址:http://www.butianyuan.cn/article/159419.htm
3.2 系統(tǒng)GUI設(shè)計(jì)
由于要求控制管理中心PC提供良好的人機(jī)交互環(huán)境,故采用圖形用戶(hù)界面(Graphical User Interface ,GUI)設(shè)計(jì)。采用GUI設(shè)計(jì)的優(yōu)勢(shì)就在于它提供的界面具有友好性,可以幫助減少用戶(hù)的認(rèn)知負(fù)擔(dān),滿(mǎn)足不同用戶(hù)的設(shè)計(jì)需求。當(dāng)前較為流行的GUI設(shè)計(jì)技術(shù)包括MiniGUI、OpenGUI、Microwindows/Nano—X、Qt等,另外,采用VC++、VB等也可以完成GUI的開(kāi)發(fā)。但是,這些軟件在API的封裝性、跨平臺(tái)性、代碼量、設(shè)計(jì)難度和開(kāi)發(fā)周期上都存在很大差異,擁有各自的優(yōu)點(diǎn)和缺點(diǎn)。因此,綜合考慮各種因素,這里采用Qt技術(shù)設(shè)計(jì)系統(tǒng)的GUI。設(shè)計(jì)是基于Qt 4.7 SDK完成的,該軟件版本集成了Qt 4.7.4和Qt Creater 2.4.1集成開(kāi)發(fā)環(huán)境(IDE)。
設(shè)計(jì)時(shí),首先在main.cpp文件中創(chuàng)建QApplication類(lèi)對(duì)象。QApplication類(lèi)主要用于設(shè)置和管理GUI應(yīng)用程序及其控制流,包括控制主事件的循環(huán)、初始化和結(jié)束來(lái)自用戶(hù)接口或其他系統(tǒng)資源的應(yīng)用程序、提供會(huì)話(huà)管理等。然后就可以根據(jù)系統(tǒng)需要添加實(shí)際應(yīng)用,這里設(shè)計(jì)了一個(gè)系統(tǒng)登錄窗口和一個(gè)控制管理窗口,分別命名為logindlg.cpp和firesystem.cpp。添加完成后,將自動(dòng)生成相應(yīng)的頭文件(logind lg.h、firesystem.h)和界面文件(logindlg.ui、firesystem.ui)。
控制管理中心PC要接收網(wǎng)絡(luò)管理節(jié)點(diǎn)發(fā)送的環(huán)境監(jiān)測(cè)數(shù)據(jù),因此實(shí)現(xiàn)串口通信是進(jìn)行GUI設(shè)計(jì)的關(guān)鍵。Qt本身并沒(méi)有提供串口控制類(lèi),故需要采用第三方編寫(xiě)的qextserialport類(lèi)。qextsetialport類(lèi)實(shí)際上是QIODevice的派生類(lèi),使用時(shí),需要為工程添加相應(yīng)的類(lèi)文件qextseri albase.cpp、qextserialbase.h以及win_qextserialport.cpp、win_qextserialport.h。設(shè)計(jì)控制管理窗口時(shí),為了保證系統(tǒng)配置的靈活性,在UI設(shè)計(jì)窗口中分別添加“端口號(hào)”、“波特率”、“數(shù)據(jù)位”、“校驗(yàn)位”、“停止位”5個(gè)Combo BOX下拉列表。然后通過(guò)按鍵Push Button進(jìn)行系統(tǒng)的開(kāi)啟和關(guān)閉設(shè)計(jì)。Push Button的觸發(fā)采用的是Qt提供的信號(hào)與槽機(jī)制,所有從QObject類(lèi)及其子類(lèi)派生的類(lèi)都可以使用該機(jī)制。信號(hào)與槽機(jī)制是Qt的核心機(jī)制,它為用戶(hù)提供了一種高級(jí)接口,該接口可用于各類(lèi)應(yīng)用對(duì)象之間的通信。這里僅給出實(shí)現(xiàn)串口通信的幾個(gè)重要函數(shù)。
物聯(lián)網(wǎng)相關(guān)文章:物聯(lián)網(wǎng)是什么
評(píng)論