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