陳建鋒, 羅家兵, 黃福春
(廣州大學 華軟軟件學院,廣州 510990)
物聯網是利用局部網或互聯網等通信技術把傳感器、控制器、機器、人和物等通過新的方式聯在一起,實現信息化、遠程管理控制和智能化的網絡[1]。物聯網被稱為是繼計算機、互聯網之后世界信息產業發展的第3次浪潮,它要解決的是人與物、物與物的互聯問題[2],國家已將其視為戰略性新興產業?;谖锫摼W專業人才培養的需求,本文研究OPNET、SoftRadio、Qemu、Proteus、Docker等軟件,搭建了綜合物聯網虛擬仿真實驗教學平臺,貫穿物聯網的感知層、網絡層、應用層,如圖1所示。本文介紹物聯網的網絡和嵌入式網關層等課程的虛擬仿真實驗教學平臺的構建和運用情況,重點介紹計算機網絡、無線網絡、嵌入式物聯網網關(Cortex-A9、Raspberry Pi)等課程在該平臺上可以開展的基礎性實驗和綜合性實驗的虛擬仿真教學,相關課程重點設計了串口通信編程、網絡通信編程和數據庫編程的綜合性實驗,能幫助學生更好地解決物聯網應用系統設計與實現的“通”(實時通信)、“存”(數據存儲)、“用”(數據應用)等問題。該平臺既方便教師將綜合的物聯網實驗項目帶進課堂,在課堂上利用虛擬實驗平臺進行現場操作和演示,使理論知識的教學更加形象、生動,也解決了實驗學時不能滿足學生實驗的難題,使物聯網工程專業相關實驗課程的學習不再局限于理論課堂和實驗室,在教學時間和空間上拓展了學生對物聯網工程專業相關實驗課程的學習范圍[3-4],為物聯網工程的網絡層和嵌入式網關層課程的實驗教學的開展提供較好的支持。
OPNET是一個網絡仿真技術軟件包,它能夠準確地分析復雜網絡的性能和行為,在網絡模型中的任意位置都可以插入標準的或用戶指定的探頭,以采集數據和進行統計。通過探頭得到的仿真輸出可以以圖形化顯示、數字方式觀察,或者輸出到第3方的軟件包去[5-6]。在計算機網絡教學中,仿真實現了簡單容量規劃、HTTP性能、采用RIP進行路由、采用OSPF進行路由、無線通信等基礎性實驗和IP編址和網絡地址轉換、傳感器網絡、ZigBee協議等綜合性實驗[7-8]。詳細的計算機網絡仿真實驗項目的名稱和實驗項目涉及的相關內容,見表1。圖2是傳感器網絡仿真綜合性實驗的運行情況。
圖1 綜合物聯網虛擬仿真實驗教學平臺
表1 計算機網絡仿真實驗項目
圖2 傳感器網絡仿真實驗
SoftRadio是一款PC軟件,在測試場景下,使用者在不需要芯片/模組、NB-IOT基站和核心網的情況下,借助PC端的SoftRadio軟件,任何時候都可通過互聯網連接到IOT平臺和APP應用,用于NB-IOT設備和APP Server基本功能調試,提升調試效率[9]。圖3為SoftRadio模擬NB-IOT的情況。
Device:NB-IOT終端(如智能水表、氣表等)通過空口連接到eNodeB。SoftRadio:在測試場景中模擬NB-IOT芯片與模組、屏蔽無線空口的軟件。eNodeB:主要承擔空口接入處理和小區管理等相關功能,通過S1-lite接口與IOT核心網進行連接,將非接入層數據轉發給高層網元處理。IOT核心網:承擔與終端非接入層交互的功能,將IOT業務相關數據轉發到IOT平臺進行處理。IOT管理平臺:IOT聯接管理平臺匯聚從各種接入網得到的IOT數據,根據不同類型轉發至相應的業務應用進行處理[10]。圖4是SoftRadio運行界面,表2為SoftRadio模擬NB-IOT的AT指令。
圖3 SoftRadio 模擬NB-IOT
圖4 SoftRadio運行界面
表2 SoftRadio模擬NB-IOT的AT指令
QEMU是一款通用開源模擬器及虛擬機監管器。QEMU主要提供兩種功能給用戶使用。一是作為用戶態模擬器,利用動態代碼翻譯機制來執行不同于主機架構的代碼;二是作為虛擬機監管器,模擬全系統,利用其VMM(Xen、KVM)來使用硬件提供的虛擬化支持,創建接近于主機性能的虛擬機。
QEMU可以模擬IA-32(x86)個人電腦,AMD64個人電腦,MIPS R4000,ARM v6,v7(Cortex-A8,A9,A15)等架構[10]。Debian完全支持移植到little-endian ARM的3種類型的硬件:ARM EABI(armel)、硬浮點ABI ARM(armhf)、64位ARM(arm 64)。本文的“物聯網虛擬仿真實驗教學平臺”借助QEMU和Debian實現Cortex-A9平臺的虛擬仿真實驗教學,在嵌入式物聯網網關(Cortex-A9)的教學中,設計了文件IO、串口通信、多線程、數據庫和網絡通信編程等基礎性實驗和數碼相框實驗、串口調試助手、環境監測綜合系統等綜合性實驗[11-12]。詳細的嵌入式物聯網網關(Cortex-A9)仿真實驗項目的名稱和實驗項目涉及的相關內容,見表3。圖5是串口調試助手綜合性實驗的仿真運行情況。ARM鏡像下載網站(https://people.debian.org/~aurel32/qemu/)。
表3 嵌入式網關(Cortex- A9)仿真實驗項目
樹莓派(Raspberry Pi)是為學習計算機編程教育而設計,只有信用卡大小的微型電腦[13]。本文的“物聯網虛擬仿真實驗教學平臺”,借助QEMU和Debian實現樹莓派平臺的虛擬仿真實驗教學,在嵌入式物聯網網關(Raspberry Pi)的教學中結合目前比較流行的Python編程語言,設計了多線程,GUI、串口通信、數據庫和網絡通信編程等基礎性實驗和串口調試助手、MQTT協議測試工具、環境監測綜合系統等綜合性實驗[14-15]。嵌入式物聯網網關(Raspberry Pi)仿真實驗項目的名稱和實驗項目涉及的相關內容,見表4。圖6是MQTT協議測試工具綜合性實驗的仿真運行情況。樹莓派鏡像文件下載網站(http://downloads.raspberrypi.org/raspbian/images/)。
圖6 MQTT協議測試工具實驗
表4 嵌入式網關(Raspberry Pi)仿真實驗項目
綜合利用OPNET、SoftRadio、Qemu、Proteus、Docker等軟件,完成搭建物聯網虛擬仿真綜合實驗教學平臺,實現感知層、網絡層、嵌入式網關層和應用層課程的仿真。介紹了物聯網中網絡層和嵌入式網關層的計算機網絡、無線網絡、嵌入式物聯網網關(Cortex-A9、Raspberry Pi)等課程的基礎性和綜合性實驗項目的仿真教學設計,虛擬仿真實驗教學平臺為物聯網絡和嵌入式網關層的課程實驗教學的開展提供較好的支持。實踐證明,通過這些實驗項目的虛擬仿真,能讓學生更好地掌握串口通信、網絡通信和數據庫編程等專業知識,較好地解決物聯網應用系統設計與實現的“通、存、用”等問題。