郎需強(qiáng),張觀山,劉 林,李天華,侯加林*
1.山東農(nóng)業(yè)大學(xué)機(jī)電學(xué)院機(jī)械與電子工程學(xué)院,山東 泰安 271018 2.山東省園藝機(jī)械與裝備重點(diǎn)實(shí)驗(yàn)室,山東 泰安 271018
在中國, 特殊的國情造成農(nóng)業(yè)專家一般對計(jì)算機(jī)及其相關(guān)技術(shù)十分陌生, 知識工程師對于農(nóng)業(yè)知識知之更少, 使得開發(fā)農(nóng)業(yè)專家系統(tǒng)十分困難[1,2]。專家系統(tǒng)開發(fā)平臺的出現(xiàn), 使這個(gè)問題得到了緩解。農(nóng)業(yè)專家無需掌握過多的編程知識就能建造性能良好的專家系統(tǒng), 而知識工程師只需研制開發(fā)平臺, 并根據(jù)領(lǐng)域使用要求, 修改完善平臺, 無需掌握領(lǐng)域知識, 兩者相得益彰。
中國農(nóng)業(yè)地域分布廣泛,決定了農(nóng)業(yè)專家不可能給每個(gè)地區(qū)農(nóng)民們所遇到的問題進(jìn)行一一解答。
基于短信技術(shù)開發(fā)的專家平臺,只能用于文字編輯,缺乏相應(yīng)的圖像資料,很難表達(dá)農(nóng)民們現(xiàn)場遇到的技術(shù)難題。
目前手機(jī)已經(jīng)進(jìn)入千家萬戶,并且功能也越來越強(qiáng)大,用手機(jī)收發(fā)短信、彩信變得十分方便。隨著3G技術(shù)的不斷推廣,基于Internet的數(shù)據(jù)傳輸能到達(dá)世界的每個(gè)角落。
MMS(Multimedia Message Serivice) 作為新興的一種數(shù)據(jù)傳輸業(yè)務(wù)最大的特點(diǎn)就是支持多媒體功能,MMS傳輸使用WAP協(xié)議,可以借助3G網(wǎng)絡(luò)來傳送視頻片段、圖片、文字[3]。
因此,建立一個(gè)基于MMS的農(nóng)業(yè)病蟲害Web彩信專家平臺,可以大大方便農(nóng)民用戶把問題更詳細(xì)地提交給專家,專家也能及時(shí)的對用戶問題做出準(zhǔn)確回復(fù),由于服務(wù)器端采用FAT32儲存用戶問題信息因此可為專家提供第一手資料。
為了有效地防止垃圾信息的傳入,系統(tǒng)采用注冊用戶信息路由的方式,屏蔽未注冊用戶的信息。當(dāng)注冊用戶遇到疑難問題時(shí),用手機(jī)拍下遇到的問題在植株、果實(shí)上的表現(xiàn),再添加上必要的文字說明,編輯成MMS并發(fā)送到運(yùn)行在服務(wù)器端的MMS模塊。服務(wù)器上運(yùn)行的監(jiān)聽程序能自動監(jiān)聽模塊中的信息,當(dāng)有信息到來時(shí)自動獲取、下載收到的內(nèi)容,檢索所發(fā)送的信息用戶是不是注冊用戶,把注冊用戶發(fā)送來的信息進(jìn)行分類整理、儲存。
專家通過Internet登錄到服務(wù)器,按照網(wǎng)頁提示進(jìn)入自己研究領(lǐng)域。瀏覽網(wǎng)頁上注冊用戶上傳的問題,做出相應(yīng)的解答。把問題的解決方案發(fā)送回服務(wù)器,服務(wù)器上的監(jiān)聽程序在監(jiān)聽到解決方案后會把上傳的文字信息編碼成短信息格式,通過MMS模塊以短信的形式發(fā)回到農(nóng)民們的手機(jī)上。用戶根據(jù)專家的答復(fù),實(shí)施相應(yīng)的措施,這樣就可以避免更大的損失,信息發(fā)送流程(如圖1所示)。
該系統(tǒng)主要是由TR-800(MMS模塊)、SIM卡和WEB服務(wù)器、用戶通信設(shè)備以及專家用戶電腦組成(如圖2所示)。
圖1信息發(fā)送流程
Fig.1Message'ssendingprocess
該系統(tǒng)主要是由TR-800(MMS模塊)、SIM卡和WEB服務(wù)器、用戶通信設(shè)備以及專家用戶電腦組成(如圖2所示)。
圖2彩信專家平臺系統(tǒng)結(jié)構(gòu)原理Fig.2 Thory of expert diagnostic platforms structure圖3監(jiān)聽程序監(jiān)聽過程Fig.3 Monitoring process
對彩信服務(wù)器平臺的操作主要包括:
(1)在服務(wù)器端運(yùn)行彩信監(jiān)聽程序、設(shè)置好監(jiān)聽串口、波特率、授權(quán)號碼、運(yùn)行監(jiān)聽程序(界面如圖3所示)。
(2)把插好SIM卡的TR-800與服務(wù)器通過串口連接起來,對短信平臺接收短信和發(fā)送短信的功能進(jìn)行測試。
采用iwow公司的TR-800模塊,TR-800工作在四個(gè)波段(GSM850/EGSM 900/DCS 1800/PCS 1800),集成了語音通信、短信、彩信、傳真和通過CSD的數(shù)據(jù)連接等功能,內(nèi)嵌TCP/IP 協(xié)議棧、WAP 協(xié)議棧、MMS(彩信)協(xié)議棧。該模塊接口包括:2個(gè)UART 1個(gè)IIC接口,1個(gè)數(shù)字和2個(gè)模擬音頻接口,8個(gè)通用I/O口(GPIO)。通過簡單的AT指令就能控制和實(shí)現(xiàn)該模塊的所有功能。
服務(wù)器端監(jiān)聽程序是基于Microsoft Visual C++ 6.0開發(fā)的應(yīng)用程序 ,Visual C++6.0是微軟公司推出的開發(fā)Win32應(yīng)用程序(Windows 95/98/2000/XP/NT)的、面向?qū)ο蟮目梢暬晒ぞ?。它的最大?yōu)點(diǎn)就是提供了功能強(qiáng)大的MFC類庫,MFC是一個(gè)很大的C++類層次結(jié)構(gòu),其中封裝了大量的類及其函數(shù),很多Windows程序所共有的標(biāo)準(zhǔn)內(nèi)容可以由MFC的類來提供,MFC類為這些內(nèi)容提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓,這將簡化編程工作,大大的減少程序員編寫的代碼數(shù)量,并且VC6.0對網(wǎng)絡(luò)、數(shù)據(jù)庫等方面的編程也都提供了相應(yīng)的支持,使編程工作變得更加輕松容易。
監(jiān)聽程序在上電運(yùn)行時(shí)首先完成對MMS模塊的初始化,包括設(shè)置串口波特率,設(shè)置MMS模塊的工作模式和WAB連接方式、地址。初始化完成之后通過串口發(fā)送AT$MMSHL=“ALL"來檢索SIM卡中的信息。檢索到返回字串READ后的數(shù)字,為1則表示信息已讀,經(jīng)過30 S延時(shí)后再次發(fā)送讀取AT指令,為0則表示新信息,進(jìn)行提取用戶信息,開啟SQL數(shù)據(jù)庫查詢。如果此用戶已經(jīng)注冊,獲取用戶注冊信息為信息分類做好基礎(chǔ),然后對已經(jīng)注冊用戶的信息進(jìn)行分類儲存,對于沒有注冊的用戶再通過MMS模塊以短信的形式通知用戶錯(cuò)誤信息和注冊方式。
TR-800內(nèi)部有3M bytes的存儲量,因此可以對信息進(jìn)行一定量的儲存。系統(tǒng)設(shè)定了5條界限,當(dāng)多余5條信息時(shí)就把MMS內(nèi)的信息清空。為了減輕系統(tǒng)的負(fù)擔(dān)在循環(huán)后加了30 S的延時(shí)。經(jīng)過實(shí)際驗(yàn)證足以滿足0-5個(gè)用戶同時(shí)發(fā)送信息(實(shí)際監(jiān)聽流程如圖4所示)。
圖4系統(tǒng)監(jiān)聽流程圖
WEB應(yīng)用程序服務(wù)器采用MS2IIS技術(shù),是在Internet/Intranet上使用最廣泛的技術(shù),它為用戶提供了一個(gè)標(biāo)準(zhǔn)的界面即Web瀏覽器。在Internet環(huán)境下,應(yīng)用中的代碼是流動的,這是它與傳統(tǒng)B/S(客戶機(jī)/服務(wù)器)模式下應(yīng)用軟件的一個(gè)重要區(qū)別??蛻魴C(jī)上只需安裝一個(gè)標(biāo)準(zhǔn)的Web瀏覽器,其它的應(yīng)用程序都存儲在Web服務(wù)器上,需要時(shí)才下載,這樣,系統(tǒng)中的客戶機(jī)就成為一個(gè)真正的“瘦客戶機(jī)”。
我們使用的基于Web的數(shù)據(jù)管理與應(yīng)用子系統(tǒng),是運(yùn)行在Web服務(wù)器上的一套網(wǎng)絡(luò)應(yīng)用程序。采用ASP.NET動態(tài)網(wǎng)頁技術(shù),在Visual Studio.net2003開發(fā)環(huán)境下使用C#等混合語言設(shè)計(jì)開發(fā)而成。在服務(wù)器上為每一個(gè)注冊專家開辟了數(shù)據(jù)儲存空間,可以實(shí)現(xiàn)信息的分類管理。使得平臺能容納多個(gè)領(lǐng)域的專家加入。
文件的信息的保存和調(diào)用是通過FAT32文件系統(tǒng)來完成的。不同專業(yè)的問題被保存到不同的文件夾下。每個(gè)用戶都擁有自己在專業(yè)文件夾下的一個(gè)子文件夾,來儲存用戶發(fā)送的信息和專家的解答。因?yàn)閂C++6.0和VS.NET都很好的嵌入了FAT32文件管理系統(tǒng),所以為系統(tǒng)的開發(fā)和軟件的維護(hù)提供了很大的便利,也方便了專家經(jīng)行資料的備份。
DataSocket 由DataSocket API 與DataSocketServer兩部分組成。DataSocket API 是用戶訪問或?qū)懭刖W(wǎng)絡(luò)數(shù)據(jù)的接口;DataSocket Server負(fù)責(zé)提供DataSocket技術(shù)自帶的協(xié)(DataSocketTransferProtocol ,DSTP) 協(xié)議和管理底層網(wǎng)絡(luò)通信。數(shù)據(jù)發(fā)布者通過DataSocket API 以字節(jié)流的方式向DataSocketServer 中寫入數(shù)據(jù)。數(shù)據(jù)訂閱者通過DataSocket API從DataSocket Server 中還原數(shù)據(jù)。DataSocket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。用不同的語言編寫的程序可以共享這一組接口,可以通過它來收發(fā)數(shù)據(jù),因此我們采用的是Socket方式。
專家登陸系統(tǒng)后瀏覽用戶發(fā)送信息,結(jié)合文字和圖片,對用戶傳上來的問題進(jìn)行解答。通過單擊發(fā)送信息把解決方案傳送到Internet服務(wù)器上。網(wǎng)頁接收到這個(gè)信息就會把信息按照DataSocket協(xié)議打包路由給監(jiān)聽程序。網(wǎng)頁通過Socket傳輸?shù)奈谋径际荱NICODE編碼格式的,而監(jiān)聽程序要通過TR-800發(fā)送短信需要把編碼轉(zhuǎn)換成PDU格式的編碼。
短信收發(fā)常用的編碼格式有兩種:Text模式和PDU(protocol description unit)模式,TextMode代碼簡單,實(shí)現(xiàn)起來比較容易,但其缺陷是不支持中文短信;PDU Mode既支持英文,又支持中文,目前,PDU Mode應(yīng)用最為廣泛,基本上全國所有的電信局都提供支持PDU Mode的短消息務(wù)。實(shí)現(xiàn)中文短消息發(fā)送,選用UCS2編碼,即中文Unicode碼,將單個(gè)字符(1~2個(gè)字節(jié))按ISO/IEC10646 的規(guī)定轉(zhuǎn)變?yōu)?6 位的Unicoide寬字符,即將單個(gè)字符轉(zhuǎn)換為十六進(jìn)制字符串。PDU串不僅包含可顯示的消息本身,還包括其他很多信息,如:SMS 服務(wù)中心號碼、目標(biāo)號碼、回復(fù)號碼、編碼方式和服務(wù)時(shí)間等,發(fā)送和接受的PDU串結(jié)構(gòu)不是完全相同[4](如表1所示)。
表1發(fā)送短信PDU 編碼
在Intel(R)4, Xeon(TM) CPU3.2GHz , 512M 內(nèi)存的數(shù)據(jù)服務(wù)器上基于C#、ASP.NET、framework.NET1.1語言、短信平臺、SQL Server2000 數(shù)據(jù)庫開發(fā)實(shí)現(xiàn)的。
對農(nóng)場短信中心進(jìn)行了性能測試試驗(yàn)。系統(tǒng)服務(wù)器端界面如圖5所示。網(wǎng)站中顯示了注冊在該專家管理下的注冊用戶的發(fā)送請求解決的問題信息和專家提出的解決方案。
經(jīng)過現(xiàn)場的調(diào)試TR-800可以同一時(shí)間接收位用戶發(fā)送的信息,網(wǎng)頁可以同時(shí)給5個(gè)用戶發(fā)送信息。每一個(gè)專家系統(tǒng)可以注冊5000個(gè)用戶。
圖5 專家客戶端界面
(1)GSM的農(nóng)業(yè)病蟲害彩信專家平臺,很好把農(nóng)民和專家聯(lián)系起來,有了專家的幫助使得用戶做到科學(xué)管理和種植。
(2)系統(tǒng)才用了彩信方式,使得有些用語言不好表達(dá)的問題輕而易舉的解決掉了。這樣還有效的避免了由于用戶表述不清專家做出錯(cuò)誤的判斷的情況。
(3)在服務(wù)器端為每個(gè)專家開辟了不同的空間,因此可以應(yīng)用的不同的領(lǐng)域。使得系統(tǒng)的拓展性能大大的增加。
(4)系統(tǒng)中我們沒有采用數(shù)據(jù)庫的形式保存用戶的問題信息,而是以文本和圖片文件的形式保存。這樣專家就可以把數(shù)據(jù)進(jìn)行分類收集整理,為自己在今后的研究提供第一手資料。
[1]孫妮娜,秦向陽,楊寶祝,等.農(nóng)業(yè)專家系統(tǒng)開發(fā)平臺的研究現(xiàn)狀及發(fā)展趨勢[J].中國農(nóng)學(xué)通報(bào),2006,22(6):436-440
[2]陳家均,陳建民.MMS系統(tǒng)技術(shù)分析及應(yīng)用[J].中國數(shù)據(jù)通信,2004,(10):84-86
[3]孫 英.短信收發(fā)中的PDU編碼分析[J].內(nèi)蒙古科技與經(jīng)濟(jì),2007,(1):142-144
[4] Bachmann S, Ruddies C, Kordy H,etal. SMS in the outpatient treatment of schizophrenia: Feasibility and acceptance[J]. European Psychiatry,2008,23 (4):1-2