2019亚洲日韩新视频_97精品在线观看_国产成人精品一区二区_91精品网站在线观看

面向軟件測試的物聯網節點模擬單元開發

來源:期刊VIP網所屬分類:軟件開發時間:瀏覽:

  摘 要:在物聯網應用開發中,其軟件系統的開發往往受制于硬件節點的開發進度和完善程度,造成開發進度緩慢,需求不斷變更,軟件測試維護困難等問題。如果能在開發初期迅速搭建一個物聯網節點的模擬單元則能夠極大促進系統的開發和完善。Arduino提供了一個開源的、通用的、簡單易用的硬件平臺,非常適合模擬物聯網的硬件節點功能。本論文基于Arduino及其開發框架,提出了一個通用的物聯網節點的模擬單元模型,基于該模型開發了智能靶的虛擬節點用于智能靶網管控系統的開發,開發實踐表明該模型和方法可以快速實現物聯網節點功能和數據的模擬,提高物聯網系統的開發質量。

  關鍵詞:物聯網;Arduino;軟件框架

軟件工程師論文

  1 引言(Introduction)

  物聯網(IoT, Internet of Things)的繁榮帶動了大量的物聯網應用的開發需求,一個完整的物聯網應用開發包括基于智能硬件的節點開發,以及移動端、PC端的網絡應用開發,即使是一個小規模的物聯網應用也是如此。由于硬件開發的周期較長,網絡應用軟件的開發則相對較快,造成了軟件測試受制于硬件開發進度的矛盾,特別是對于那些依賴于快速迭代的軟件開發技術的項目,會因此而受到很大的制約。此外,由于軟硬件開發通常由不同的團隊完成,測試帶來的人力和協調方面的成本也會很高[1]。

  為了解決上述問題,在軟件工程實踐中,通常是采用標準化的物聯網通訊協議或者數據封裝來解耦硬件和軟件系統之間的依賴。例如在物聯網應用開發中廣泛使用的MQTT協議[2,3],以及基于TLV的數據封裝格式[4]等。但由于具體應用千變萬化,物聯網絡結構復雜,感知層網絡類型不統一等問題的存在,這種方法并不能很好地解決開發中的問題。半物理仿真的概念是在仿真回路中引入部分實物,即硬件在環的方法,進行控制系統的仿真[5],同樣,在軟件開發和測試過程中,借鑒半物理仿真的思想,引入通用硬件技術,對物聯網節點進行模擬,可以很好地解決物聯網應用開發過程中的矛盾。

  Arduino是一種開源的通用硬件平臺,具有開發簡單,接口豐富,成本低廉等優點,非常適合作為物聯網節點的模擬設備[6]。本論文將基于Arduino硬件平臺,通過設計實現面向物聯網應用的節點模擬軟件框架和模型,并以靶網管理系統軟件開發為應用背景,探討如何實現智能靶節點的模擬,以降低軟件開發的周期和成本。

  2 軟件系統建模(Software modeling)

  2.1 框架設計

  對于物聯網應用來說,本質上是物聯網智能節點與服務器之間的數據交換。由于物聯網底層和互聯網通常采用的協議不同,數據交換通常是基于一個物聯網關實現[2,7]。物聯網應用系統的典型結構模型如圖1所示。

  物聯網傳輸協議有很多種,例如Zigbee、工業以太網、工業總線、NB-IoT等。對于Arduino而言,都有專門的模塊和轉接板對應于這些網絡。通常Arduino與這些模塊之間是通過串口進行通訊的,因此在設計基于Arduino的物聯網節點模擬軟件框架如圖2所示。

  該軟件框架是從基于時間的嵌入式多任務框架[8]中擴展而來,其中方框表示軟件模塊/任務,而箭頭表示調用關系。該框架包括以下內容:

  (1)“定時器”模塊提供了多任務的運行時間片參考。該定時器使用了Arduino板上單片機的硬件定時器,并利用定時器的中斷服務來運行任務調度模塊。

  (2)“任務調度模塊”實現了對任務的管理和執行。任務調度模塊會在定時器產生的時間間隔內依次調用系統內的任務模塊,這些任務模塊實現了對輸入的協議數據的解析,數據處理,模擬設備模型的執行,以及生成返回給服務器的數據。這些任務模塊包括數據解析任務模塊、協議處理任務模塊、模擬設備任務模塊和數據發送任務模塊。其中模擬設備任務模塊是為了模擬節點的功能,例如和執行控制、狀態更新等。

  (3)“數據通訊模塊”實現了基于串口的與通訊設備的數據交換機制,針對不同的通訊設備,該模塊的實現不同,主要封裝了針對不同設備的通訊細節;“設備實體/狀態模擬模塊”實現了節點功能和狀態的仿真,通常情況下是存儲與被模擬節點相關的數據。

  5 結論(Conclusion)

  本文提出了一種以Arduino作為硬件載體模擬物聯網系統的節點功能及其通訊的模型,用于物聯網應用軟件的測試,采用半實物仿真的思想,讓軟件測試過程更接近真實場景,從而加速軟件開發的進程,提高物聯網應用軟件系統的開發效率,降低開發成本。所開發的模擬節點獲得的經驗更可以用于指導真實物聯網智能硬件節點的設計和開發。本文提出了基于Arduino的物聯網節點的模擬軟件框架和實現方法,該軟件框架和實現在智能靶網控制軟件中進行了應用,所獲得的模擬靶機硬件能夠真實地模擬靶機的功能和交互,為靶網控制軟件的快速迭代發揮了重要作用。

  目前該軟件框架以源碼的方式應用在開發中,在將來可以將其封裝成Arduino的庫,以庫的形式集成在應用中,這樣可以進一步簡化開發,實現代碼分離。

  參考文獻(References)

  [1] Antero Taivalsaari,Tommi Mikkonen.A Roadmap to the Programmable World:Software Challenges in IoT Era[J].IEEE Software,2017,34(1):72-80.

  [2] 趙丹,諶建飛,鄧敏,等.基于MQTT的步進電機遠程控制方案實現[J].測控技術,2018(6):126-129.

  [3] 譚方勇,王昂,劉子寧.基于Zigbee與MQTT的物聯網網關通信框架的設計與實現[J].軟件工程,2017(4):43-45.

  [4] 朱江彥,呂霖,向晉祥,等.基于BER-TLV報文格式的航標與水位動態數據交換技術[J].中國水運,2017(7):81-87.

  [5] 蔡安江,蔣周月,郭師虹,等.半物理仿真技術工業應用現狀及發展趨勢[J].航天控制,2018(6):52-56.

  推薦閱讀:軟件工程計算機工程師職稱論文投稿

主站蜘蛛池模板: 错那县| 屏南县| 班玛县| 厦门市| 上饶市| 三江| 罗平县| 濉溪县| 垣曲县| 苗栗县| 寻甸| 苗栗县| 嘉祥县| 招远市| 靖安县| 普定县| 高青县| 蒙阴县| 姜堰市| 朝阳市| 大方县| 五华县| 新化县| 夏津县| 枣强县| 华池县| 固原市| 织金县| 偏关县| 孝感市| 宣化县| 新野县| 来安县| 廉江市| 正宁县| 池州市| 西乌珠穆沁旗| 昌邑市| 吉木萨尔县| 札达县| 兴安县|