?

計算機科學與技術專業生產實踐項目設計

2022-08-31 19:18郭永平
電腦知識與技術 2022年18期

摘要:設計一個應用無線傳感網絡技術的遠程監控系統,作為計算機科學與技術、物聯網工程、軟件工程等專業高年級學生的生產實踐項目,以項目為導向將所學知識融會貫通,轉化為解決實際問題的能力。分析計算機相關專業學生能力培養中的學習需求以及高年級學生知識運用能力存在的問題,構建高年級計算機相關專業實踐項目教學模型和能力培養關鍵特征。實踐效果表明,基于遠程無線監控系統實踐項目能夠激發學生學習潛能,提升學習的積極性和主動性,培養知識整合應用能力與實踐創新能力。

關鍵詞:教學實踐項目;能力培養;監控系統

中圖分類號:TP393? ? ? ?文獻標識碼:A

文章編號:1009-3044(2022)18-0048-03

開放科學(資源服務)標識碼(OSID):

計算機科學與技術相關專業的高年級學生,經過兩年多專業課程的學習,已經具備了簡單的軟硬件開發的能力。然而與企業級項目開發還存在很大的差距,對本科畢業生的弱項主要表現有以下三點,首先,知識嚴重碎片化,形成知識孤島,無法將所學的知識融會貫通,面對多技術交叉融合,跨領域合作能力弱;其次,解決問題過程中,往往忽視問題的復雜性,解決問題不徹底,缺乏對可靠性、擴展性、穩定性等非功能性需求的考慮;最后,能夠勝任某一方面具體工作,但創新能力及獨立解決問題較弱。為了進一步提高學生動手實踐能力和解決工程中復雜問題的能力,引入一項能夠融合多項技術的實際應用系統,通過對其實現的關鍵技術進行解析,提升大學生解決現實工程問題能力,實現與企業用人需求形成無縫對接。

基于分布式無線傳感網絡的遠程監控系統融合了傳感網絡技術、通信技術、自動控制、軟件開發等多項技術的應用系統,廣泛應用于農業、水文、災害點、農業等領域,為人們不間斷地提供遠程監測對象狀態的數據變化,是實現智能化、數字化的重要組成部分[1]。該系統涉及數字電路、通信技術、網絡技術、數據庫技術、軟件開發技術等多項技術應用及實現細節;而且遠程監控系統在我國已經廣泛使用,也是技術最成熟的應用系統之一,解決方案的可選性多,硬件成本低,非常適合作為實驗教學的實踐項目。同時按照企業的開發環境、開發規范、質量標準進行要求,以任務為驅動,激發學生學習興趣,提高識別問題和解決問題的能力,對已學習的專業知識再認識,構建自身知識體系,改善教學效果。

1 遠程監控系統簡介

典型的遠程監控系統一般由部署于現場的無人值守監測站、數據傳輸網絡和監控中心軟硬件三部分組成。無人值守監測站包括數據采集節點、遠程控制設備節點和網關結點組成,數據采集節點完成數據自動采集,遠程控制設備節點用于響應上位機的指令,執行相應的操作,如:節水灌溉系統中的閘門開啟與關閉;網關節點是監控現場數據采集的中心節點,有著承上啟下的作用,負責監控現場網絡組建、數據傳輸規約的標準化,與監控中心進行數據上報與指令下達。數據傳輸網絡一般借助通信公網完成監控現場與監控中心長距離的通信,根據監控現場與監控中心實際影響因素,可選擇GSM短信、通信衛星、GPRS/CDMA、4G/5G等通信方式。監控中心軟件一般包括通信值守程序和應用軟件,通信值守程序通過Scoket監聽網絡端口,接收檢測站發送的報文,按照數據傳輸規約對報文進行解譯,將校驗后的數據存儲于關系型數據庫中;應用軟件系統根據基于數據庫系統完成實時監控、查詢分析、預警預報、數據挖掘等功能。其工作活動如圖1所示。

遠程監控系統通信網絡由數據感知區無線網絡和通信公網兩部分組成。數據感知區無線網絡是由數據采集節點、設備控制節點和網關節點采用無線局域網、藍牙、Zigbee、窄帶物聯(NB-IoT)、Lora等方式組建數據感知區無線網絡[2]。通信公網則使用第三方通信運營商提供的移動通信網絡技術,實現監控現場與監控中心之間長距離的通信。由于感知區內無線網絡不便直接與公網進行數據交互,網關節點集成感知區無線通信模塊和公網通信模塊,公網通信有可插入SIM卡槽,通過SIM接入傳輸公網,實現數據雙向傳送?;跓o線傳感器技術遠程監控系統網絡結構如圖2所示。數據采集節點和設備控制節點一般采用微型嵌入式結構芯片,能耗較低,一般采用電池供電即可。網關節點同時要一直保持接收數據和指令的準備,對于芯片數據處理能力和功耗上較高,可根據監控現場的實際情況,選擇工控機、帶有串口的平板電腦或自主開發的遠程傳送終端等,采用220V交流電或太陽能電池板進行供電。

2 溫室監控系統的設計

設計一款用于農業大棚溫室的遠程監測系統,對溫室內的土壤溫濕度、空氣溫濕度和光照三項指標進行監測,并通過Web應用系統和手機App完成對數據的展示與分析。通過監測環境分析、硬件模塊選型、通信方式選型、軟硬件開發,解剖一個完整的監測系統項目,引導學生對電子電路設計、嵌入式編程、軟件開發等方面技術的學習。

2.1傳感網絡設計

傳感網絡設計需要對溫室大棚傳輸距離、功耗等技術參數比較分析,數據采集節點、控制節點使用Lora無線通信技術,采用以網關為中心節點,數據采集節點、控制節點為末端節點的星型網絡結構,由網關節點負責組網,遠距離數據傳輸技術將溫室數據通過網關結點傳輸至監控中心采用GPRS通信方式。

2.2硬件設計

監控系統中硬件設計包括采集現場數據采集結點及網關節點的通信模塊、傳感器芯片、控制芯片及供電模塊的技術,完成各個模塊的技術參數、處理能力、時鐘電路、復位電路、A/D轉換電路及電源電路的設計[3]。

1) 數據采集節點設計:數據采集節點需要溫室環境因子轉化為電腦可識別處理的電信號和數字信號。數據采集節點主要由傳感器模塊、MCU 模塊、LoRa通信模塊以及電源模塊組成,硬件結構圖見圖3。其中空氣溫濕度傳感器選用SHT11 數字型溫濕度傳感、土壤溫濕度傳感器選用TDR-5 數字型溫濕度傳感器、光照強度傳感器采用TSL2561 光強數字轉換芯片,MCU模塊選擇STM32L151C8T6 超低功耗處理器芯片,通信模塊選擇SEMTECH公司生產的SX1278LoRa通信模塊,采用12V 鋰電池對整個節點進行供電。

2) 網關節點設計:網關節點是實現監控現場 Lora 無線網絡組建以及數據的集中處理與轉發。一方面通過 Lora通信方式與數據采集節點進行數據交互,另一方則通過 GPRS 模塊以 TCP/IP 的方式與監控中心的值守程序進行通信,實現溫室現場與外部網絡的連接。網關結點由。硬件結構框圖如圖4所示。Lora通信模塊選擇SX1301 芯片并結合兩片 SX1255 射頻芯片實現電路的設計;MCU模塊選擇STM32L151C8T6 超低功耗處理器芯片;GPRS 采用SIMCOM 公司生產的SIM900A通信模塊;采用外接 DC 24V 開關電源并從 220V 交流電中獲取用電的方式,再經過 DC-DC 轉換電路實現各器件的供電。

2.3軟件設計

溫室監控系統中軟件設計包括網關節點與數據采集結點的通信協議、網關與監控中心之間的數據傳輸規約,數據采集節點軟件、設備控制節點軟件、網關節點軟件、值守程序及應用程序組成。數據傳輸規約參照《水資源監控管理系統數據傳輸規約》和《遠動設備及系統 應用數據的一般結構》進行設計。采集節點及網關結點軟件開發使用C語言編程,IDE環境選用Keil u Vision5;值守程序和監控中心應用,選用C#、Java等面向對象高級語言開發的桌面程序、Web應用及移動App。

1) 采集結點軟件:完成系統初始化、加入網絡、按照設定的頻率中斷請求,完成數據的采集,按照通信規約對數據封裝,并傳輸至網關結點,主要包括模塊初始化、讀取數據和數據組織與傳輸等三個過程。

2) 網關結點軟件:完成硬件接口初始化、網絡初始化、Lora網絡創建,對采集節點地址進行管理,創建TCP/IP連接,接收來自節點監測數據,并對接收數據進行解析、整理、標準化后,將報文發送給值守程序。

3) 通信值守程序:通信值守是安裝在監控中心伺服服務器上的應用程序,主要完成接收、處理、入庫、存儲、轉發、監視等功能,接收來自采集系統的原始報文數據,并通過譯碼程序對原始報文進行譯碼,得到實際遙測數據并寫入數據庫。值守程序通過IP地址和通信端口號創建Socket終端節點,并開始監聽服務,收到監測現場網關發送的鏈接請求后,完成連接請求,執行異步回調函數,開始接收請求方數據傳送,接收完成后,執行回調函數完成對報文的解譯。執行代碼如下,在主界面調用界面鉤子函數load,創建本地Scoket結點,其中CommuTCP是一個封裝了Scoket的類,定義了數據狀態數據和接收數據、發送指令回調函數等。主界面load代碼如下:

private void frmMain_Load(object sender, EventArgs e)

{

CommuTCP myServer = new CommuTCP(this);

myServer.StartListening(m_strHost, m_intPort);

}

CommuTCP中接收數據回調函數代碼如下,在回調函數中將數據接收到異步狀態對象中,轉化為二進制字節數組,并對字節進行校驗,然后根據傳輸規約進行解譯。

private void ReceiveCallback(IAsyncResult ar){

String content = String.Empty;

StateObject state = (StateObject)ar.AsyncState;

Socket handler = state.workSocket;

int intBytesRead = handler.EndReceive(ar);

byte[] byteData;

string strIPClient = handler.RemoteEndPoint.ToString();

byteData = ShareClass.DataConvert.GetSubByteFromBuffer(state.buffer, 0, intBytesRead);

int intTemp = CheckPackage(byteData);

if(intTemp==1){

byte[] byteAnswer = null;

GetPackageData(byteData, ref? blnNeedAnswer, ref? byteAnswer);

}

}

值守程序包括Scoket通信、異步回調、多線程、多種終端報文的解譯、數據存儲、人機交互界面設計等技術內容,涉及的功能模塊多,業務規則復雜多變,對容錯性、并發性和穩定性要求較高,非常適合面向對象設計技術學習深度的訓練[4]??梢砸龑W生完成對象識別和抽象、軟件設計模式的使用,深刻地理解和體會面向對象設計原則的應用。

4) 應用程序:應用程序是基于數據庫創建的WEB應用及移動App,示例項目數據庫采用MySQL數據庫,后端開發語言選擇Java語言,軟件體系結構選擇SSM分層框架,前端選擇Vue+Element框架,采用MVVM模式。通過示例項目可以讓學生掌握restful風格編程、Spring的依賴注入、面向切面的編程、接口測試及前端分層、封裝的使用。

3檢驗

該實踐項目已經成功應用于寶雞文理學院計算機學院高年級學生綜合實踐課程,取得良好的實踐效果。課程以8周為一個周期,實踐環境完全模擬企業的生產環境和工作要求,包括軟硬件開發規范、工作例會、項目評審等要求。實踐環境配有文件服務器和配置管理服務器,為學生各種標準規范、示例項目源碼、文檔樣例及模板的下載[5];配置管理服務器對學生周工作計劃、工作日志、會議紀要、設計圖紙、代碼等配置項進行管理,供教輔人員監督檢查。具體實踐過程如下:

1) 項目師范演示:實驗教師詳細介紹示例項目的構建過程及實現過程中的技術關鍵點、注意事項等;

2) 學生組建團隊:對學生進行分組,學生自主組建4~5人團隊,按照給定的模板編寫項目開發計劃和人員配置計劃;

3) 實踐項目設計:依據示例項目,舉一反三,學生可選擇類似實踐項目,如:提水灌溉、水質監測、智能家居、智慧倉庫等項目作為實踐項目;

4) 項目設計開發:開發過程主張先完成,后完美策略,培養學生繼續學習能力。鼓勵學生先利用自己掌握的技術及利用各種學習資源以項目組為單元獨立解決問題。實驗教師進行答疑和糾偏;通過多次迭代,循序漸進,引導學生對實現細節的關注和技術深度挖掘;

5) 項目驗收:項目組進行現場演示,全體參加實訓的學生對開發項目組的成果開展批評和自我批評。會后項目組成員仔細總結經驗與教訓,完成一個完整的PDCA循環。

4 結論

基于無線傳感網絡技術的遠程監控系統具有應用領域廣泛、技術交叉點多、可選擇解決方案多、項目規模適中、難度可伸縮性強等特點,非常適合用于計算機科學與技術、物聯網工程、軟件工程等專業高年級學生的生產實踐項目。該項目有利于學生對實際項目中多項技術融合的理解與學習,通過實踐可鍛煉學生的學習、溝通、識別問題與解決問題的能力以及學生了解企業開發規范與管理過程,體驗團隊協作成果,對于實現以產出為導向的新工科建設具有一定意義。

參考文獻:

[1] 王琦,張睿曦,趙恒.基于OpenWrt的智能大棚監控系統設計[J].河南機電高等??茖W校學報,2018,26(3):4-7.

[2] 趙磊.基于云平臺的溫室智能灌溉系統的研究與開發[D].蘭州:蘭州理工大學,2020.

[3] 劉遠仲,譚鶴毅,張海波,等.一種基于ZigBee的智能農業溫室大棚控制系統設計[J].電子制作,2020(15):23-24,17.

[4] 殷方園,郭永平.基于B2C模式的小型監測預警系統設計與實現[J].微型電腦應用,2021,37(5):30-33.

[5] 吳湘寧,彭建怡,羅勛鶴,等.高校人工智能實驗室的規劃與建設[J].實驗技術與管理,2020,37(10):244-250.

【通聯編輯:王力】

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合