郎需強,張觀山,劉 林,李天華,侯加林*
1.山東農業大學機電學院機械與電子工程學院,山東 泰安 271018 2.山東省園藝機械與裝備重點實驗室,山東 泰安 271018
在中國, 特殊的國情造成農業專家一般對計算機及其相關技術十分陌生, 知識工程師對于農業知識知之更少, 使得開發農業專家系統十分困難[1,2]。專家系統開發平臺的出現, 使這個問題得到了緩解。農業專家無需掌握過多的編程知識就能建造性能良好的專家系統, 而知識工程師只需研制開發平臺, 并根據領域使用要求, 修改完善平臺, 無需掌握領域知識, 兩者相得益彰。
中國農業地域分布廣泛,決定了農業專家不可能給每個地區農民們所遇到的問題進行一一解答。
基于短信技術開發的專家平臺,只能用于文字編輯,缺乏相應的圖像資料,很難表達農民們現場遇到的技術難題。
目前手機已經進入千家萬戶,并且功能也越來越強大,用手機收發短信、彩信變得十分方便。隨著3G技術的不斷推廣,基于Internet的數據傳輸能到達世界的每個角落。
MMS(Multimedia Message Serivice) 作為新興的一種數據傳輸業務最大的特點就是支持多媒體功能,MMS傳輸使用WAP協議,可以借助3G網絡來傳送視頻片段、圖片、文字[3]。
因此,建立一個基于MMS的農業病蟲害Web彩信專家平臺,可以大大方便農民用戶把問題更詳細地提交給專家,專家也能及時的對用戶問題做出準確回復,由于服務器端采用FAT32儲存用戶問題信息因此可為專家提供第一手資料。
為了有效地防止垃圾信息的傳入,系統采用注冊用戶信息路由的方式,屏蔽未注冊用戶的信息。當注冊用戶遇到疑難問題時,用手機拍下遇到的問題在植株、果實上的表現,再添加上必要的文字說明,編輯成MMS并發送到運行在服務器端的MMS模塊。服務器上運行的監聽程序能自動監聽模塊中的信息,當有信息到來時自動獲取、下載收到的內容,檢索所發送的信息用戶是不是注冊用戶,把注冊用戶發送來的信息進行分類整理、儲存。
專家通過Internet登錄到服務器,按照網頁提示進入自己研究領域。瀏覽網頁上注冊用戶上傳的問題,做出相應的解答。把問題的解決方案發送回服務器,服務器上的監聽程序在監聽到解決方案后會把上傳的文字信息編碼成短信息格式,通過MMS模塊以短信的形式發回到農民們的手機上。用戶根據專家的答復,實施相應的措施,這樣就可以避免更大的損失,信息發送流程(如圖1所示)。
該系統主要是由TR-800(MMS模塊)、SIM卡和WEB服務器、用戶通信設備以及專家用戶電腦組成(如圖2所示)。

圖1信息發送流程
Fig.1Message'ssendingprocess
該系統主要是由TR-800(MMS模塊)、SIM卡和WEB服務器、用戶通信設備以及專家用戶電腦組成(如圖2所示)。


圖2彩信專家平臺系統結構原理Fig.2 Thory of expert diagnostic platforms structure圖3監聽程序監聽過程Fig.3 Monitoring process
對彩信服務器平臺的操作主要包括:
(1)在服務器端運行彩信監聽程序、設置好監聽串口、波特率、授權號碼、運行監聽程序(界面如圖3所示)。
(2)把插好SIM卡的TR-800與服務器通過串口連接起來,對短信平臺接收短信和發送短信的功能進行測試。
采用iwow公司的TR-800模塊,TR-800工作在四個波段(GSM850/EGSM 900/DCS 1800/PCS 1800),集成了語音通信、短信、彩信、傳真和通過CSD的數據連接等功能,內嵌TCP/IP 協議棧、WAP 協議棧、MMS(彩信)協議棧。該模塊接口包括:2個UART 1個IIC接口,1個數字和2個模擬音頻接口,8個通用I/O口(GPIO)。通過簡單的AT指令就能控制和實現該模塊的所有功能。
服務器端監聽程序是基于Microsoft Visual C++ 6.0開發的應用程序 ,Visual C++6.0是微軟公司推出的開發Win32應用程序(Windows 95/98/2000/XP/NT)的、面向對象的可視化集成工具。它的最大優點就是提供了功能強大的MFC類庫,MFC是一個很大的C++類層次結構,其中封裝了大量的類及其函數,很多Windows程序所共有的標準內容可以由MFC的類來提供,MFC類為這些內容提供了用戶接口的標準實現方法,程序員所要做的就是通過預定義的接口把具體應用程序特有的東西填入這個輪廓,這將簡化編程工作,大大的減少程序員編寫的代碼數量,并且VC6.0對網絡、數據庫等方面的編程也都提供了相應的支持,使編程工作變得更加輕松容易。
監聽程序在上電運行時首先完成對MMS模塊的初始化,包括設置串口波特率,設置MMS模塊的工作模式和WAB連接方式、地址。初始化完成之后通過串口發送AT$MMSHL=“ALL"來檢索SIM卡中的信息。檢索到返回字串READ后的數字,為1則表示信息已讀,經過30 S延時后再次發送讀取AT指令,為0則表示新信息,進行提取用戶信息,開啟SQL數據庫查詢。如果此用戶已經注冊,獲取用戶注冊信息為信息分類做好基礎,然后對已經注冊用戶的信息進行分類儲存,對于沒有注冊的用戶再通過MMS模塊以短信的形式通知用戶錯誤信息和注冊方式。
TR-800內部有3M bytes的存儲量,因此可以對信息進行一定量的儲存。系統設定了5條界限,當多余5條信息時就把MMS內的信息清空。為了減輕系統的負擔在循環后加了30 S的延時。經過實際驗證足以滿足0-5個用戶同時發送信息(實際監聽流程如圖4所示)。

圖4系統監聽流程圖
WEB應用程序服務器采用MS2IIS技術,是在Internet/Intranet上使用最廣泛的技術,它為用戶提供了一個標準的界面即Web瀏覽器。在Internet環境下,應用中的代碼是流動的,這是它與傳統B/S(客戶機/服務器)模式下應用軟件的一個重要區別。客戶機上只需安裝一個標準的Web瀏覽器,其它的應用程序都存儲在Web服務器上,需要時才下載,這樣,系統中的客戶機就成為一個真正的“瘦客戶機”。
我們使用的基于Web的數據管理與應用子系統,是運行在Web服務器上的一套網絡應用程序。采用ASP.NET動態網頁技術,在Visual Studio.net2003開發環境下使用C#等混合語言設計開發而成。在服務器上為每一個注冊專家開辟了數據儲存空間,可以實現信息的分類管理。使得平臺能容納多個領域的專家加入。
文件的信息的保存和調用是通過FAT32文件系統來完成的。不同專業的問題被保存到不同的文件夾下。每個用戶都擁有自己在專業文件夾下的一個子文件夾,來儲存用戶發送的信息和專家的解答。因為VC++6.0和VS.NET都很好的嵌入了FAT32文件管理系統,所以為系統的開發和軟件的維護提供了很大的便利,也方便了專家經行資料的備份。
DataSocket 由DataSocket API 與DataSocketServer兩部分組成。DataSocket API 是用戶訪問或寫入網絡數據的接口;DataSocket Server負責提供DataSocket技術自帶的協(DataSocketTransferProtocol ,DSTP) 協議和管理底層網絡通信。數據發布者通過DataSocket API 以字節流的方式向DataSocketServer 中寫入數據。數據訂閱者通過DataSocket API從DataSocket Server 中還原數據。DataSocket是應用層與TCP/IP協議族通信的中間軟件抽象層,它是一組接口。用不同的語言編寫的程序可以共享這一組接口,可以通過它來收發數據,因此我們采用的是Socket方式。
專家登陸系統后瀏覽用戶發送信息,結合文字和圖片,對用戶傳上來的問題進行解答。通過單擊發送信息把解決方案傳送到Internet服務器上。網頁接收到這個信息就會把信息按照DataSocket協議打包路由給監聽程序。網頁通過Socket傳輸的文本都是UNICODE編碼格式的,而監聽程序要通過TR-800發送短信需要把編碼轉換成PDU格式的編碼。
短信收發常用的編碼格式有兩種:Text模式和PDU(protocol description unit)模式,TextMode代碼簡單,實現起來比較容易,但其缺陷是不支持中文短信;PDU Mode既支持英文,又支持中文,目前,PDU Mode應用最為廣泛,基本上全國所有的電信局都提供支持PDU Mode的短消息務。實現中文短消息發送,選用UCS2編碼,即中文Unicode碼,將單個字符(1~2個字節)按ISO/IEC10646 的規定轉變為16 位的Unicoide寬字符,即將單個字符轉換為十六進制字符串。PDU串不僅包含可顯示的消息本身,還包括其他很多信息,如:SMS 服務中心號碼、目標號碼、回復號碼、編碼方式和服務時間等,發送和接受的PDU串結構不是完全相同[4](如表1所示)。

表1發送短信PDU 編碼
在Intel(R)4, Xeon(TM) CPU3.2GHz , 512M 內存的數據服務器上基于C#、ASP.NET、framework.NET1.1語言、短信平臺、SQL Server2000 數據庫開發實現的。
對農場短信中心進行了性能測試試驗。系統服務器端界面如圖5所示。網站中顯示了注冊在該專家管理下的注冊用戶的發送請求解決的問題信息和專家提出的解決方案。
經過現場的調試TR-800可以同一時間接收位用戶發送的信息,網頁可以同時給5個用戶發送信息。每一個專家系統可以注冊5000個用戶。

圖5 專家客戶端界面
(1)GSM的農業病蟲害彩信專家平臺,很好把農民和專家聯系起來,有了專家的幫助使得用戶做到科學管理和種植。
(2)系統才用了彩信方式,使得有些用語言不好表達的問題輕而易舉的解決掉了。這樣還有效的避免了由于用戶表述不清專家做出錯誤的判斷的情況。
(3)在服務器端為每個專家開辟了不同的空間,因此可以應用的不同的領域。使得系統的拓展性能大大的增加。
(4)系統中我們沒有采用數據庫的形式保存用戶的問題信息,而是以文本和圖片文件的形式保存。這樣專家就可以把數據進行分類收集整理,為自己在今后的研究提供第一手資料。
[1]孫妮娜,秦向陽,楊寶祝,等.農業專家系統開發平臺的研究現狀及發展趨勢[J].中國農學通報,2006,22(6):436-440
[2]陳家均,陳建民.MMS系統技術分析及應用[J].中國數據通信,2004,(10):84-86
[3]孫 英.短信收發中的PDU編碼分析[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