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