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

面向軟件測試的物聯(lián)網節(jié)點模擬單元開發(fā)

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

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

  關鍵詞:物聯(lián)網;Arduino;軟件框架

軟件工程師論文

  1 引言(Introduction)

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

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

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

  2 軟件系統(tǒng)建模(Software modeling)

  2.1 框架設計

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

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

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

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

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

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

  5 結論(Conclusion)

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

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

  參考文獻(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的步進電機遠程控制方案實現(xiàn)[J].測控技術,2018(6):126-129.

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

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

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

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

主站蜘蛛池模板: 石狮市| 高邮市| 乐都县| 泰宁县| 荥阳市| 涟源市| 虎林市| 宁阳县| 云浮市| 丽水市| 肇庆市| 兴海县| 凤山县| 沂水县| 仪征市| 自治县| 八宿县| 务川| 上高县| 科尔| 临武县| 长治县| 新民市| 阳原县| 龙岩市| 沈阳市| 扶余县| 张掖市| 肥西县| 大名县| 吉林省| 德钦县| 郑州市| 合江县| 田东县| 拉萨市| 鄂尔多斯市| 灵石县| 巨野县| 安平县| 石棉县|