周怡
【摘 要】無(wú)線傳感器網(wǎng)絡(luò)是計(jì)算機(jī)科學(xué)領(lǐng)域的重要組成部分,在生活、工業(yè)等領(lǐng)域的應(yīng)用范圍也逐漸擴(kuò)大。本文結(jié)合筆者多年的實(shí)踐經(jīng)驗(yàn),重點(diǎn)探討了無(wú)線傳感監(jiān)控網(wǎng)絡(luò)嵌入式設(shè)計(jì)的研究工作,實(shí)現(xiàn)了系統(tǒng)從信息采集到告警的整個(gè)過(guò)程,為類似的設(shè)計(jì)工作提供借鑒意義。
【關(guān)鍵詞】無(wú)線傳感器網(wǎng)絡(luò);嵌入式;監(jiān)控中心;模塊設(shè)計(jì)
隨著我國(guó)社會(huì)經(jīng)濟(jì)建設(shè)步伐的加快,人們的物質(zhì)生活水平得到不斷的提高,許多現(xiàn)代人們對(duì)于醫(yī)療等服務(wù)性行業(yè)的實(shí)時(shí)性、靈活性、智能化及人性化的要求越來(lái)越高,這無(wú)疑加快了醫(yī)療等服務(wù)行業(yè)內(nèi)部系統(tǒng)的升級(jí)及改造。無(wú)線傳感器網(wǎng)絡(luò)是計(jì)算機(jī)科學(xué)領(lǐng)域非常活動(dòng)的一個(gè)研究分支,在民用和軍事方面有著廣泛的應(yīng)用,目前也受到業(yè)界人士的高度關(guān)注。無(wú)線傳感器網(wǎng)絡(luò)具有低功耗、低成本、分布式和自組織等特點(diǎn),其綜合了傳感器技術(shù)、嵌入式技術(shù)、現(xiàn)代網(wǎng)絡(luò)、無(wú)線通信及分布式信息處理技術(shù),可以不受時(shí)間、地點(diǎn)和環(huán)境的限制,以最快的速度獲取大量詳盡而可靠的信息,有效降低了工作人員的工作量、提高了工作效率。本文通過(guò)探討無(wú)線傳感監(jiān)控網(wǎng)絡(luò)嵌入式設(shè)計(jì)的研究工作,提出一些個(gè)人見解,希望可以進(jìn)一步拓寬無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用范圍。
1.系統(tǒng)分析
基于無(wú)線傳感網(wǎng)監(jiān)控系統(tǒng)是以UP-CUPS2410硬件平臺(tái)為基礎(chǔ),以Linux操作系統(tǒng)為核心,通過(guò)ARM9平臺(tái)同無(wú)線傳感器網(wǎng)絡(luò)的結(jié)合完成個(gè)人生理特征數(shù)據(jù)的采集、傳輸和處理,最終達(dá)到遠(yuǎn)距離無(wú)線智能監(jiān)控的實(shí)現(xiàn),使醫(yī)療監(jiān)控系統(tǒng)實(shí)現(xiàn)實(shí)時(shí)性、人性化、智能化。系統(tǒng)是基于Arm9開發(fā)平臺(tái)的一項(xiàng)綜合技術(shù),結(jié)合Liunx嵌入式操作系統(tǒng),利用程序?qū)λ邮盏臄?shù)據(jù)進(jìn)行處理與分析。用戶端采集好信息后,可以利用無(wú)線傳感器傳到中央監(jiān)控系統(tǒng);中央監(jiān)控系統(tǒng)能正確接收信息,并做處理(比較,保存)。
2.軟件設(shè)計(jì)與實(shí)現(xiàn)
本監(jiān)控系統(tǒng)的核心功能都采用應(yīng)用軟件實(shí)現(xiàn),該系統(tǒng)所涉及的應(yīng)用軟件模塊如圖1所示:
圖1 系統(tǒng)軟件的邏輯框圖
其中,各種驅(qū)動(dòng)程序包括USB串口驅(qū)動(dòng)、觸摸屏驅(qū)動(dòng)、鼠標(biāo)驅(qū)動(dòng)、文件驅(qū)動(dòng)等負(fù)責(zé)和具體的硬件交互,為上層提供硬件抽象層;Linux內(nèi)核負(fù)責(zé)任務(wù)調(diào)度、中斷處理等操作系統(tǒng)核心功能,為應(yīng)用程序提供API調(diào)用接口。這兩層主要都在Linux操作系統(tǒng)中實(shí)現(xiàn),其中USB串口驅(qū)動(dòng)并沒(méi)有在UP-CUPS2410標(biāo)準(zhǔn)發(fā)布版中提供,在實(shí)現(xiàn)的時(shí)候重新編譯了USB串口驅(qū)動(dòng)并集成到Linux內(nèi)核中。數(shù)據(jù)采集模塊、數(shù)據(jù)存儲(chǔ)模塊、告警模塊以及用戶GUI都是應(yīng)用層程序,是系統(tǒng)實(shí)現(xiàn)的核心,其中數(shù)據(jù)存儲(chǔ)模塊將采集來(lái)的數(shù)據(jù)存入日志文檔中,后期可將數(shù)據(jù)存入數(shù)據(jù)庫(kù)中,下面將重點(diǎn)介紹USB串口驅(qū)動(dòng)模塊、數(shù)據(jù)采集模塊、告警模塊、用戶界面模塊的軟件設(shè)計(jì)。
2.1 USB串口驅(qū)動(dòng)模塊設(shè)計(jì)
無(wú)線傳感器網(wǎng)絡(luò)的Sink節(jié)點(diǎn)只提供USB接口,而UP-CUPS2410開發(fā)箱Linux標(biāo)準(zhǔn)版中并沒(méi)有提供此驅(qū)動(dòng),因此需要對(duì)內(nèi)核重新配置和編譯。
2.1.1 內(nèi)核配置
進(jìn)入Linux內(nèi)核所在目錄,然后執(zhí)行make menuconfig,進(jìn)入內(nèi)核編譯菜單,在內(nèi)核配置菜單中選擇FTDIUSB接口,驅(qū)動(dòng)采用集成進(jìn)內(nèi)核的方法,這樣就可以在插入U(xiǎn)SB接口的時(shí)候可以自動(dòng)加載其驅(qū)動(dòng)。
2.1.2 內(nèi)核編譯
在內(nèi)核配置修改完成后,就可以進(jìn)行內(nèi)核的編譯,分別執(zhí)行make clean;make dep;make zImage三個(gè)命令,最終生成zImage內(nèi)核文件。
將重新生成的內(nèi)核文件燒寫進(jìn)開發(fā)板,參考步驟如下:
(1)并用串口線連接pc和2410-CL,打開超級(jí)終端,先按住pc機(jī)“Back Space”鍵,然后啟動(dòng)2410-CL,進(jìn)入vivi>狀態(tài)下,設(shè)置開發(fā)板IP,其命令為:ifconfigip192.168.1.115。
(2)設(shè)置tftp服務(wù)器的IP(啟動(dòng)tftp服務(wù)器的主機(jī)),其命令為:ifconfig server192.168.1.85。
(3)保存IP設(shè)置:其命令為:ifconfig save。
(4)Windows平臺(tái)下tftp服務(wù)的配置:雙擊“D:\bootloader”目錄下的tftpd32.exe文件,對(duì)Windows下的tftp服務(wù)進(jìn)行配置。
(5)在vivi狀態(tài)下,輸入燒寫內(nèi)核的命令為:tftp flash kernel zImage。
(6)燒寫根文件系統(tǒng),在vivi狀態(tài)下,輸入燒寫根文件的命令為:ftp flash root root.cramfs。
2.2 數(shù)據(jù)采集模塊
信息采集模塊采集的溫度、脈搏等信號(hào),利用無(wú)線傳感器網(wǎng)絡(luò)最終到達(dá)Sink節(jié)點(diǎn),監(jiān)護(hù)中心終端模塊同Sink節(jié)點(diǎn)以USB接口連接,但在系統(tǒng)內(nèi)部USB接口會(huì)映射為串口,因此數(shù)據(jù)采集模塊就可以直接訪問(wèn)對(duì)應(yīng)的串口而取得所采集的數(shù)據(jù)。本設(shè)計(jì)使用多線程來(lái)完成串口的收發(fā)處理,傳感器每隔三秒會(huì)通過(guò)串口發(fā)送一次數(shù)據(jù)。所涉及到的線程函數(shù)主要有:
線程創(chuàng)建函數(shù):int pthread_create(pthread_t*thread_id,__const pthread_attr_t*__attr,void*(*__start_routine)(void*),void*__restrict__arg)
線程退出函數(shù):voidpthread_exit(void*__retval)
等待指定的線程結(jié)束:int pthread_join(pthread_t__th,void**__thread_return)
2.3 告警模塊
當(dāng)監(jiān)測(cè)到有超標(biāo)數(shù)據(jù)時(shí),即可以在監(jiān)護(hù)終端的界面上進(jìn)行實(shí)時(shí)報(bào)警顯示,也可及時(shí)地觸發(fā)GPRS功能的短信業(yè)務(wù),將出現(xiàn)的報(bào)警信息實(shí)時(shí)地發(fā)送到提前指定的手機(jī)上。下面分別介紹界面告警和短信告警的實(shí)現(xiàn)。
2.3.1告警界面設(shè)計(jì)
告警模塊從數(shù)據(jù)采集模塊實(shí)時(shí)得到任意節(jié)點(diǎn)采集的體征數(shù)據(jù),當(dāng)某些數(shù)據(jù)數(shù)值超過(guò)設(shè)定門限時(shí),告警模塊在用戶界面上進(jìn)行告警提示。論文設(shè)計(jì)實(shí)現(xiàn)了體溫的告警,即當(dāng)某節(jié)點(diǎn)的體溫超過(guò)37.5度時(shí),系統(tǒng)會(huì)記錄該時(shí)刻溫度數(shù)值,并在界面上報(bào)警。這一模塊是采用QT界面構(gòu)架,用C++及QT結(jié)合編程,warning()函數(shù)實(shí)現(xiàn),在MyForm1.h中定義有關(guān)告警的參數(shù)如下:
typedefstruct{
inttowarn;
intwarncounter;
charwarnmsg[128];
}str_warn;
采用QT編程,告警界面用的是QlistBox類,用到的頭文件有
2.3.2 短信告警
使用GPRS的短信業(yè)務(wù),在各個(gè)節(jié)點(diǎn)出現(xiàn)超過(guò)所設(shè)門限值時(shí),自動(dòng)觸發(fā)GPRS的功能,將出現(xiàn)的報(bào)警信息實(shí)時(shí)地發(fā)送到提前指定的手機(jī)上,讓監(jiān)護(hù)人第一時(shí)間得到病人信息??梢愿奖愕刈龅奖O(jiān)護(hù)。此處調(diào)用gprs_read()函數(shù)調(diào)用GPRS模塊,用gprs_init()初始化GPRS各個(gè)參數(shù),調(diào)用gprs_msg()函數(shù)發(fā)送短信。
2.4 用戶界面模塊
用戶界面是用戶同系統(tǒng)的接口,是用戶使用系統(tǒng)的重要手段。本系統(tǒng)采用Qt2.3.2版本實(shí)現(xiàn)用戶界面。其中需要用到QT本身的類,本次用的類有Qlist-ViewItem,QlistBox,Qtime,Qdate,QmessageBox,Qinput-Dialog,QgridLayout,QlineEdit,QpushButton,class QV-BoxLayout,QHBoxLayout,Qframe,QLCDNumber,Qlabel,QlistBoxIte,QlistView,QlistViewItem,QPushButton,Qtab-Widget,Qwidget。
用到相關(guān)QT的頭文件有qmessagebox.h,qlistbox.h,qstring.h,qapplication.h,qlistview.h,qlcdnumber.h,qdatetime.h,qinputdialog.h,qpushbutton.h,qlabel.h,qvariant.h,qdialog.h,qvariant.h,qwizard.h,qlineedit.h。
設(shè)計(jì)的槽位有slot_start(),slot_close(),slot_stop(),slot_set(),slot_tele(),showTime(),stopDate(),loginclick(),exitClick()。
具體的界面主要包括登錄界面、數(shù)據(jù)查看界面、告警界面等。用戶如果想使用系統(tǒng),則必須是合法用戶,因此系統(tǒng)在運(yùn)行時(shí)必須先輸入賬號(hào)和密碼,系統(tǒng)驗(yàn)證用戶的合法性,如果用戶賬號(hào)和密碼正確則允許登錄,否則將不能使用本系統(tǒng)。
3. 結(jié)束語(yǔ)
通過(guò)探討無(wú)線傳感監(jiān)控網(wǎng)絡(luò)嵌入式設(shè)計(jì)的研究工作可知,該系統(tǒng)設(shè)計(jì)從系統(tǒng)上來(lái)說(shuō)是比較完整的,實(shí)現(xiàn)了信息收集到告警的全過(guò)程,并凸顯出系統(tǒng)安全性高、成本低、智能化程度高等特點(diǎn)。相信隨著科學(xué)技術(shù)的進(jìn)一步發(fā)展,無(wú)線傳感監(jiān)控網(wǎng)絡(luò)的設(shè)計(jì)可以得到不斷的完善,這對(duì)拓寬系統(tǒng)的應(yīng)用范圍具有重要影響。
參考文獻(xiàn):
[1] 蔡雪佳;李旭;鄧楓.基于無(wú)線傳感網(wǎng)的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)研究[J].現(xiàn)代電子技術(shù).2011年第16期
[2] 李棟;秦寧寧;徐保國(guó).基于無(wú)線傳感器網(wǎng)絡(luò)的嵌入式溫室監(jiān)控系統(tǒng)[J].儀表技術(shù)與傳感器.2009年第05期