777精品久无码人妻蜜桃-欧美在线观看视频一区-99精品网-伊人网中文字幕-99福利网-国产精品99久久久久久武松影视-日本黄色片免费看-免费观看高清在线观看-人妻少妇被粗大爽9797pw-日韩国产在线播放-国产日产成人免费视频在线观看-一区二区人妻-午夜看毛片-国产精品s-午夜免费av-国产精品色情国产三级在-国产精品资源在线

面向軟件測(cè)試的物聯(lián)網(wǎng)節(jié)點(diǎn)模擬單元開(kāi)發(fā)

來(lái)源:期刊VIP網(wǎng)所屬分類:軟件開(kāi)發(fā)時(shí)間:瀏覽:次

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

  關(guān)鍵詞:物聯(lián)網(wǎng);Arduino;軟件框架

軟件工程師論文

  1 引言(Introduction)

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

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

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

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

  2.1 框架設(shè)計(jì)

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

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

  該軟件框架是從基于時(shí)間的嵌入式多任務(wù)框架[8]中擴(kuò)展而來(lái),其中方框表示軟件模塊/任務(wù),而箭頭表示調(diào)用關(guān)系。該框架包括以下內(nèi)容:

  (1)“定時(shí)器”模塊提供了多任務(wù)的運(yùn)行時(shí)間片參考。該定時(shí)器使用了Arduino板上單片機(jī)的硬件定時(shí)器,并利用定時(shí)器的中斷服務(wù)來(lái)運(yùn)行任務(wù)調(diào)度模塊。

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

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

  5 結(jié)論(Conclusion)

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

  目前該軟件框架以源碼的方式應(yīng)用在開(kāi)發(fā)中,在將來(lái)可以將其封裝成Arduino的庫(kù),以庫(kù)的形式集成在應(yīng)用中,這樣可以進(jìn)一步簡(jiǎn)化開(kāi)發(fā),實(shí)現(xiàn)代碼分離。

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

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

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

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

  推薦閱讀:軟件工程計(jì)算機(jī)工程師職稱論文投稿

广安市| 河南省| 白城市| 定兴县| 乃东县| 江阴市| 平潭县| 平乡县| 栾城县| 钦州市| 武汉市| 成安县| 白水县| 南昌县| 广丰县| 四平市| 固始县| 措勤县| 二手房| 玛多县| 忻城县| 项城市| 时尚| 新干县| 凤翔县| 威海市| 黎城县| 南安市| 内乡县| 隆子县| 徐水县| 赫章县| 德江县| 涡阳县| 宿松县| 黔东| 张家口市| 墨竹工卡县| 孝昌县| 新田县| 兴仁县|