基于無(wú)線傳感器網(wǎng)絡(luò)的智能大棚控制系統(tǒng)
2.3 外圍控制電路的設(shè)計(jì)
外圍控制電路子系統(tǒng)同樣采用EasyARM1138為主控制芯片,輔以nRF24L01無(wú)線通信模塊。該子系統(tǒng)通過(guò)EasyARMll38的I/O口控制DAC08 32來(lái)產(chǎn)生正弦波,然后驅(qū)動(dòng)變頻器以改變外圍各電氣設(shè)備的工作狀態(tài),從而避免能源的浪費(fèi)。無(wú)線通信模塊可實(shí)現(xiàn)終端與基站、基站與基站、基站與各無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)之間的組網(wǎng)通信功能。
3 系統(tǒng)軟件設(shè)計(jì)
本智能大棚的終端虛擬化控制平臺(tái)由Nokia公司Qt開(kāi)發(fā)環(huán)境編寫(xiě)而成。Qt是一個(gè)多平臺(tái)的C++圖形用戶(hù)界面應(yīng)用程序框架。它能提供給應(yīng)用程序開(kāi)發(fā)者建立藝術(shù)級(jí)圖形用戶(hù)界面所需的所有功能,可用于高性能的跨平臺(tái)軟件開(kāi)發(fā)。整個(gè)智能大棚的控制中心軟件由6大部分組成,分別是控制內(nèi)核模塊、數(shù)據(jù)庫(kù)模塊、PID控制計(jì)算模塊、串口通信模塊、圖形繪制模塊、文件記錄管理模塊。其控制中心軟件框架結(jié)構(gòu)如圖4所示。
3.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)
本程序中的數(shù)據(jù)庫(kù)部分負(fù)責(zé)建立專(zhuān)家系統(tǒng),用于存放各種植物參數(shù)和檢索??紤]到軟件開(kāi)發(fā)的成本問(wèn)題,本系統(tǒng)采用了MySQL。MySQL是一個(gè)快速客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)的SQL數(shù)據(jù)庫(kù)管理系統(tǒng),由一個(gè)服務(wù)器守護(hù)程序mysqld以及許多不同的客戶(hù)程序和庫(kù)函數(shù)組成,該系統(tǒng)雖然不是開(kāi)源的,但可以免費(fèi)使用。其優(yōu)點(diǎn)是功能強(qiáng)大,靈活性好,應(yīng)用編程接口豐富,結(jié)構(gòu)精巧。
考慮到植物所包含的信息很多,所以,在設(shè)計(jì)時(shí)可采用多表結(jié)構(gòu)。分別是植物名稱(chēng)、適宜生長(zhǎng)溫度、適宜生長(zhǎng)濕度及生長(zhǎng)時(shí)間段。通過(guò)利用MySQL編程語(yǔ)言可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。
Qt的QtSql模塊通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)可與不同的數(shù)據(jù)庫(kù)進(jìn)行通信。創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接需要做如下三個(gè)步驟:激活驅(qū)動(dòng)程序、配置好連接信息和打開(kāi)連接。整個(gè)創(chuàng)建過(guò)程可以放在內(nèi)核模塊的構(gòu)造函數(shù)里。其程序如下:
評(píng)論