彭維平,宋 成,王 磊
(河南理工大學 計算機科學與技術學院,河南 焦作 454003)
物聯網組網技術課程教學內容及方法探討
彭維平,宋 成,王 磊
(河南理工大學 計算機科學與技術學院,河南 焦作 454003)
針對物聯網組網技術課程內容涵蓋面廣、交叉性強、教學內容難以把握的教學實際,結合近年來的教學實踐,對該課程的定位和特征進行分析,提出統籌規劃架構為先、分層設計上下層服務次之、逐層細化技術為基的課程內容規劃思想,闡述如何通過強化先進的組網技術和方法,使學生掌握必要的技能,提高學生的實際動手能力。
物聯網組網;系統架構;實景觀摩;項目式教學;翻轉課堂
信息時代,物聯網無處不在。據IDC測算,2020年全球物聯網有望影響的下游市場規模將突破3萬億美元,超過250億臺系統/裝置聯網[1]。面對如此龐大的智能設備和網絡設備聯網需求,規劃設計人員需要根據不同設備及產品的工作特性,設計出既能滿足各類業務需求和應用的聯網方式及組網結構,又能合理有效地使系統能對外提供各級各類服務,這對技術人才在物聯網設備組網中的知識水平和技能提出更高的要求。
物聯網組網技術課程的學習對提高學生的網絡規劃和設計能力至關重要,但目前我國各高校相關專業的辦學尚處于摸索階段,還未形成成熟的教學內容體系,探索一套切實可行的教學內容及教學模式很有必要。
物聯網組網技術課程是在學生學習并掌握物聯網工程專業所有專業基礎課和絕大部分專業必修課之后開設的一門專業必修課,其目的是讓學生通過本門課程的學習,掌握當前常用的物聯網組網技術和方法,然后將之前學習的專業知識進行整合和融會貫通,并進行系統規劃和設計,進一步提高學生對物聯網系統的設計開發與實際應用能力。在物聯網專業教學和知識體系架構中,物聯網組網技術課程是一門承上啟下的課程[2],其知識體系架構如圖1所示。物聯網組網技術課程除了配套的實驗教學環節之外,還會安排1—2周的課程設計,通常在第3學年第1或第2學期開設。
此課程開設的前提是學生具備一定的傳感器、單片機或嵌入式程序設計和無線傳感器網絡基礎,掌握計算機網絡組網的方式和方法,能運用可視化編程語言和數據庫技術進行數據管理,因此,必須先修的前導課程主要包括單片機與嵌入式技術、計算機網絡、高級語言程序設計技術、無線傳感器網絡技術、數據庫技術、RFID技術等,后續課程為物聯網系統集成與應用。

圖1 物聯網組網技術課程知識體系結構圖
物聯網作為一種新興的信息網絡技術,本質上是將各種傳感器技術、網絡技術、人工智能和自動控制技術集成與融合,使人與人、人與物、物與物相連,構成一個準泛在的網絡,是互聯網的延伸和擴展,其核心和基礎仍然是互聯網。相比傳統互聯網領域的組網技術,物聯網組網除了包含計算機網絡組網領域的相關技術和方法之外,還具有其獨特的地方,主要包括以下三方面。
(1)聯網主體多樣化。
物聯網技術的一個顯著特征是全面感知,它是各種感知技術的綜合應用,聯網設備包括(計算機網絡領域)交換機、路由器、PC機和服務器,還包含(物聯網領域)感知節點、匯聚節點、RFID標簽、RFID讀寫器、智能網關、移動終端等。
(2)傳輸技術復雜化。
物聯網應用中各種感知手段采集的信息通過有線和無線網絡與互聯網融合,并通過互聯網將信息實時而準確地傳遞出去,由于所傳遞的信息數量極其龐大,形成海量信息,所以在傳輸過程中,為保障數據的正確性和及時性,必須適應各種異構的網絡和協議。
(3)數據處理智能化。
物聯網不僅能提供傳感器的連接,還能將感知層采集的數據利用數據融合、模式識別等智能信息處理技術進行分析、加工和處理,為管理者的手動決策和智能設備的自主決策提供數據支持。
目前,與物聯網組網技術課程相關的參考書及教材較少,大致分為兩種類型:第一類采用系統分層的方式逐層講解每一層相關的技術[3],如從數據鏈路層的互聯技術到網絡層的網絡協議和路由器與交換機配置技術,再到應用層的綜合布線、網絡管理、物聯網對象名稱解析服務等,講解的技術涵蓋面十分廣闊;第二類采用案例式教學模式[4],以講解物聯網在多個行業的應用需求以及相關的組網技術為主,如物聯網技術在智能家居、智能工業、智能農業、智能物流、智能交通、智能電網、智能環保、智能安防、智能醫療等多領域的應用。兩種類型的講授內容各有側重,在實際教學過程中,需要綜合利用這兩種類型的資源優勢,有選擇、有目的地組織課堂教學內容。
開設物聯網組網技術課程之前,學生已經學習過計算機網絡、無線傳感器網絡、RFID應用等相關課程,物聯網組網本質上就是這些技術的綜合。學生雖然掌握其中的很多知識點和基礎技能,但無法將這些技術和知識較好地聯系起來,知識點支離破碎,缺乏對這些知識點應用的融會貫通能力,仍然迷茫于如何應用,也會導致學生失去學習興趣。
由此,筆者建議在講授技術知識之前,從系統總體架構的角度,對學生學習過的知識點做初步融合,用體系架構的總體思路來啟發學生,讓學生對本門課程有總體的認識。總體架構是一個項目或應用的總體輪廓和框架,偏向于概念,是從項目整體出發,明確問題的范圍,然后確定所需組件和服務。通過此環節,讓學生構建對某個應用的大局觀,有利于培養學生對具體項目的掌控度,教學過程中講解的一個通用架構如圖2所示。
架構設計能讓學生從宏觀上對物聯網組網產生一定了解,分層設計則是讓學生從服務提供的角度認識每一層需要為上一層提供哪些服務、常用的技術和方法。目前,受到各界廣泛認可的物聯網分層為信息感知層、物聯接入層、網絡傳輸層、智能處理層和應用接口層。信息感知層主要是對物的感知和識別,涉及的技術有RFID、傳感器、多媒體信息捕獲、位置服務、GPS技術等;物聯接入層主要涉及藍牙、WIFI、Zigbee、WIMAX、GPRS技術等[5];網絡傳輸層主要涉及以IPv4和IPv6為核心建立的互聯網平臺;智能處理層主要涉及數據融合技術、海量數據分析、云計算技術等;應用接口層則是以各類行業應用為主,針對不同的行業采用不同的解決方案。

圖2 通用架構圖
對于物聯網組網,僅僅從幾種不同的信息采集模式和幾種有線或無線數據傳輸方法去分析和講解是遠遠不夠的,需要深入到具體的技術和手段,因為掌握了某一種常用技術和方法,運用其他技術就會容易很多。應用領域和行業千變萬化,但本質核心技術是不變的。因此,在涉及具體的實現環節時,講授技術基礎和細節是非常關鍵和必要的。通過近幾年的摸索,筆者在具體實施教學中主要從以下幾個細節方面進行強化。
無線傳感器網絡中存在較大數量低功耗、低能量和有限數據處理能力的終端節點,為提高這些節點封裝和解析數據的效率,我們重點引入JSON技術,通過JSON格式進行數據封裝。JSON是一種輕量級的數據交換格式,其采用鍵值構造具有特定語法格式的字符串,易于機器的解析和生成,讀寫更加容易,且支持C、C#、Java、JavaScript、Perl、PHP 等多種語言。
物聯網環境中數據傳輸主要面臨3個問題:一是在網絡不穩定的情況下,如何保證數據的可靠傳輸;二是如何保證數據不被重復發送;三是連接斷開后如何進行自動重連。因此,使用合理有效的數據傳輸協議至關重要。針對這個問題,筆者給學生詳細講解了MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),這是一種基于發布/訂閱模式的輕量級通訊協議,該協議構建于TCP/IP協議的基礎之上,由IBM在1999年發布,并于2014年被正式推薦為物聯網傳輸協議標準。
物聯網應用環境中存在多源異構的數據采集終端和異同的應用服務支撐平臺,這些異同給物與物之間的數據交換、服務交互和協同工作產生了不同程度的阻礙。針對這個問題,我們引入Web Services服務,通過Web Services服務,所有平臺均可向外界發布功能或消息,并通過Web瀏覽器實現數據訪問和交互。
物聯網網關除了需要實現不同類型感知網絡以及感知網絡與通信網絡之間的協議轉換,達到局域互聯和廣域互聯之外,更重要的一點是需要在網關設備上提供可視化的圖形用戶操作界面,為用戶提供可視化的設備管理功能和遠程控制服務。對此,我們引入QT界面設計軟件的講授內容。QT是一個跨平臺的C++圖形用戶界面應用程序開發框架,其模塊化程度高,可重用性較好,支持組件編程,可在不同平臺上進行本地化運行,通過signals/slots機制實現各個元件之間的協同工作,能提供簡單易用且功能強大的IDE——Qt Creator,進行界面開發非常方便。
傳統的數據庫技術如Oracle、SQL Server、MySQL等已經在互聯網領域得到廣泛應用,卻并不適合應用于M2M的應用環境,特別是應用于手機、PDA、嵌入式的物聯網網關和智能移動終端這一類設備中,因此,需要為學生增加嵌入式數據庫或內存數據庫的內容。如嵌入式數據庫SQLite,數據庫中所有的信息都包含在一個文件內,并采用獨立、可嵌入且零配置的SQL數據庫引擎,適合智能移動終端設備使用;而Redis是一個可基于內存短期存儲,也可持久化存儲的日志型Key-Value數據庫,非常適合與JSON數據格式配合使用。
傳統的教學過程中,課堂教學是學生了解和熟悉技術基礎理論和方法的主要途徑,而以掌握知識點為目標的實驗教學是學生掌握相關技術和使用方法的主要手段,將兩者相結合進行教學是目前主要的教學模式[6]。物聯網組網技術涉及的內容多、知識點零碎且交叉性強,采用傳統的教學方式和方法很難激發學生的學習興趣,學生也很難理解和掌握眾多零碎知識和技能之間的聯系,更難以融會貫通地使用。筆者從以下幾方面進行改革。
在開課之初,通常在第二次課就帶領學生參觀校內智能家居實景和校外實踐基地的智能農業大棚,進行現場觀摩。通過實景觀摩,首先,讓學生身臨其境,感受進入物聯時代后未來家居和智能農業的便捷以及智能技術的神奇,激發其對未知的渴望和學習的興趣;其次,可以讓學生親自動手去組合各種智能化設備,配置它們之間的聯動關系,實實在在地感受M2M的神奇,讓學生明白這些看似遙不可及高大上的技術和方法就在我們身邊,樹立對學習好本門課程的信心;最后,幫助學生建立對物聯網應用的大局觀,明白組網技術在物聯網應用規劃中的層次和位置。
如今網絡上共享的公共學習資源越來越豐富,學生可以通過智能手機等工具隨時隨地獲取資源。教師在教學過程中單純地講解技術對學生來說意義不大,更重要的是要教會學生如何靈活運用這些技術。在教學中,筆者采用了項目式教學的方法,將和某企業合作的“智能農業大棚遠程監控平臺”科研項目作為案例,從需求分析開始,帶領學生逐步完成整個項目,重點講解如何規劃和設計網絡結構以及如何選擇合理的組網方式。此外,將智能農業大棚原型控制系統實物帶入課堂,讓學生零距離地認識這些工業用的部件,并通過分析設計方案和源代碼,讓學生掌握JSON數據封裝技術、MQTT服務配置、QT界面設計、Redis服務部署、SQLite數據庫等技術的使用。
通過上述項目式教學環節之后,學生已經在教師的帶領下逐步完成了一個完整的項目,但是這些還遠遠不夠,還需要讓學生融會貫通、靈活地運用所掌握的技術和方法。在后期教學中,我們采用了翻轉課堂的模式,以智能家居為例,采取小組合作的方法,讓各組學生作為一個團隊來規劃和設計方案,并在課堂上進行講解,教師和其他學生作為聽眾和評委,各小組之間不僅是競爭關系,還能夠互相取長補短,加深學生對知識的深入理解,提高靈活運用的能力。
物聯網組網技術是物聯網工程專業教學中承上啟下的一門核心課程,在教學過程中需要合理安排本門課程的授課內容,選擇有效的教學方式和方法,讓學生最終學習到更多更好的技術知識,并能夠實現對技術的靈活運用。筆者根據物聯網組網技術在學科中的定位和特征,提出統籌規劃架構為先,分層設計逐層細化課程內容的規劃思想,采用實景觀摩、項目式教學、實物進課堂、翻轉課堂等教學模式,并在近三屆學生的實踐教學過程中進行相關實踐,具有較強的操作性,希望能對其他高校的教學提供一定參考。
[1] 智造局MakeMountain. 物聯網技術行業前景分析[EB/OL].(2016-06-18)[2017-05-18]. https://sanwen.net/a/tjzhubo.html.
[2] 陳輝, 李敬兆, 詹林. 物聯網工程專業人才培養和專業建設探索[J].計算機教育, 2014(4): 13-17.
[3] 喬平安. 物聯網組網技術(高等學校物聯網專業系列教材)[M]. 北京: 中國鐵道出版社, 2013.
[4] 薛燕紅. 物聯網組網技術及案例分析[M]. 北京: 清華大學出版社, 2013.
[5] 佚名. 物聯網常用的組網技術淺析[EB/OL].(2016-08-09)[2017-07-09]. http://www.elecfans.com/iot/430650.html.
[6] 姚建峰, 黃式東, 孫艷歌. 物聯網工程專業實踐教學體系模塊化研究[J]. 物聯網技術, 2017(1): 112-114.
1672-5913(2017)11-0095-04
G642
河南理工大學教育教學改革研究項目(2013JG030)。
彭維平,男,副教授,研究方向為物聯網安全及應用,pwp9999@hpu.edu.cn。
(編輯:史志偉)