物聯(lián)網(wǎng)架構(gòu)下的智能火災(zāi)預(yù)警系統(tǒng)
另外,網(wǎng)絡(luò)上傳的數(shù)據(jù)還需要通過(guò)數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)和查詢,至少保證能夠查詢7天內(nèi)的火災(zāi)監(jiān)控?cái)?shù)據(jù)。Qt支持絕大多數(shù)的數(shù)據(jù)庫(kù),包括Oracle、SQL Server、MySQL等。這些大中型的數(shù)據(jù)庫(kù)往往用于較大規(guī)模系統(tǒng)的數(shù)據(jù)存儲(chǔ),開發(fā)和維護(hù)都需要專人負(fù)責(zé),因此成本較高。而針
對(duì)本系統(tǒng)所做的火災(zāi)環(huán)境監(jiān)測(cè),只需要一個(gè)靈活易用的小型數(shù)據(jù)庫(kù)即可。SQLite是一個(gè)輕量級(jí)的開源關(guān)系數(shù)據(jù)庫(kù),采用C語(yǔ)言編寫,整體代碼僅3萬(wàn)行,能夠支持絕大多數(shù)的ANSI SQL92標(biāo)準(zhǔn)。相對(duì)于傳統(tǒng)數(shù)據(jù)庫(kù),它的實(shí)時(shí)性強(qiáng),處理速度快,系統(tǒng)開銷小,底層的控制能力強(qiáng)。具體設(shè)
計(jì)時(shí),首先在工程文件Firesystem.pro中添加代碼:QT+=SQL。由于Qt默認(rèn)安裝了SQLite和ODBC的數(shù)據(jù)庫(kù)驅(qū)動(dòng),因此在使用時(shí),只需添加相應(yīng)的驅(qū)動(dòng)語(yǔ)句即可。其具體過(guò)程如下:
這里,使用QSqlDatabase類實(shí)現(xiàn)Qt與SQLite的連接,并驅(qū)動(dòng)該數(shù)據(jù)庫(kù)。若驅(qū)動(dòng)失敗,可以通過(guò)QMessageBox彈出錯(cuò)誤提示。驅(qū)動(dòng)成功后,將數(shù)據(jù)存放于數(shù)據(jù)庫(kù)文件firedata.db中。此外,還需要使用QSqlQuery類,它為操縱和執(zhí)行SQL語(yǔ)句提供了一種方式,能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)操作的所有功能。這樣,通過(guò)QSqlQuery類可以在QSqlDatabase實(shí)例上執(zhí)行SQL語(yǔ)句,完成創(chuàng)建、查詢、修改數(shù)據(jù)庫(kù)等操作。
系統(tǒng)測(cè)試時(shí),GUI顯示的實(shí)時(shí)監(jiān)控狀況如圖4所示。本文引用地址:http://m.butianyuan.cn/article/159419.htm
結(jié)語(yǔ)
系統(tǒng)根據(jù)物聯(lián)網(wǎng)架構(gòu)設(shè)計(jì),采用ZigBee-WSN完成數(shù)據(jù)采集與傳輸,保證了系統(tǒng)的實(shí)時(shí)性、可靠性及可移植性??刂乒芾碇行腉UI采用Qt設(shè)計(jì),可以實(shí)現(xiàn)對(duì)火災(zāi)監(jiān)控?cái)?shù)據(jù)的實(shí)時(shí)顯示、存儲(chǔ)、查詢等,豐富并完善了火災(zāi)預(yù)警系統(tǒng)的功能。測(cè)試表明,系統(tǒng)能夠準(zhǔn)確地完成對(duì)復(fù)雜火災(zāi)環(huán)境的感知,相對(duì)于傳統(tǒng)火災(zāi)預(yù)警系統(tǒng),系統(tǒng)的魯棒性得到了較大的提升,虛警和漏警等狀況得到了有效改善。同時(shí),系統(tǒng)GUI界面友好,操作簡(jiǎn)單,可以很好地服務(wù)于火災(zāi)預(yù)警系統(tǒng)。
物聯(lián)網(wǎng)相關(guān)文章:物聯(lián)網(wǎng)是什么
評(píng)論