亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向NB-IoT測(cè)控系統(tǒng)的可配置軟件設(shè)計(jì)

        2021-02-25 05:52:32王宜懷姚望舒葛新越
        關(guān)鍵詞:服務(wù)器端測(cè)控組態(tài)

        周 欣,王宜懷,姚望舒,葛新越

        (蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)

        0 引 言

        隨著窄帶物聯(lián)網(wǎng)(narrow band internet of things,NB-IoT)[1]基站的廣泛部署,相應(yīng)的物聯(lián)網(wǎng)監(jiān)控系統(tǒng)也逐步增多,如文獻(xiàn)[2]和文獻(xiàn)[3]將NB-IoT應(yīng)用于智能抄表領(lǐng)域,文獻(xiàn)[4]和文獻(xiàn)[5]針對(duì)智能農(nóng)業(yè)場(chǎng)景。這類以數(shù)據(jù)采集為主,簡(jiǎn)單控制為輔的測(cè)控系統(tǒng),其功能存在一定相似性,每次研發(fā)一套完整的應(yīng)用系統(tǒng)會(huì)造成重復(fù)工作,且開發(fā)周期較長(zhǎng)。文獻(xiàn)[6]中設(shè)計(jì)了一種面向物聯(lián)網(wǎng)應(yīng)用系統(tǒng),為NB-IoT應(yīng)用系統(tǒng)的開發(fā)提供方法。但各類物聯(lián)網(wǎng)應(yīng)用開發(fā)過程涉及內(nèi)容較多,包含終端程序、應(yīng)用服務(wù)器及人機(jī)交互系統(tǒng)的感知、計(jì)算、通信等功能的實(shí)現(xiàn),開發(fā)難度較大,且整體系統(tǒng)的適應(yīng)性與靈活性無(wú)法滿足日益變化的用戶需求。組態(tài)軟件以配置的形式靈活組合各功能模塊,生成適合不同用戶需求的應(yīng)用軟件,具有易于開發(fā)、便于擴(kuò)展的特點(diǎn)。

        基于上述情況,本文在使用NB-IoT進(jìn)行通信的嵌入式測(cè)控系統(tǒng)的基礎(chǔ)上,引入組態(tài)的思想,提出一種對(duì)流程、數(shù)據(jù)與界面進(jìn)行配置開發(fā)的低成本、高通用性、高可靠性的智能監(jiān)控軟件開發(fā)方法。該方法對(duì)終端節(jié)點(diǎn)、應(yīng)用服務(wù)器、人機(jī)交互系統(tǒng)的數(shù)據(jù)采集、實(shí)時(shí)控制、嵌入式通信、數(shù)據(jù)處理等功能進(jìn)行配置,使其適用性與靈活性得以加強(qiáng)。用戶可以通過修改配置觸發(fā)動(dòng)態(tài)配置,做到快速開發(fā),同時(shí)也減少了直接更改軟件的風(fēng)險(xiǎn)。

        1 NB-IoT測(cè)控系統(tǒng)的可配置設(shè)計(jì)方案

        1.1 NB-IoT測(cè)控系統(tǒng)架構(gòu)

        本文使用的NB-IoT測(cè)控系統(tǒng)總體架構(gòu)如圖1所示,由NB-IoT終端節(jié)點(diǎn)、NB-IoT基站、蜂窩物聯(lián)核心網(wǎng)、IoT業(yè)務(wù)平臺(tái)、應(yīng)用服務(wù)器及人機(jī)交互系統(tǒng)組成。其中NB-IoT基站、蜂窩物聯(lián)核心網(wǎng)和IoT業(yè)務(wù)平臺(tái)由運(yùn)營(yíng)商負(fù)責(zé)管理維護(hù),主要負(fù)責(zé)部署站點(diǎn),優(yōu)化通信接口和為應(yīng)用層提供相關(guān)服務(wù)。

        圖1 NB-IoT測(cè)控系統(tǒng)總體架構(gòu)

        NB-IoT終端節(jié)點(diǎn)、應(yīng)用服務(wù)器和人機(jī)交互系統(tǒng)作為測(cè)控系統(tǒng)的主要部分,由系統(tǒng)開發(fā)者負(fù)責(zé)功能設(shè)計(jì)與實(shí)現(xiàn),各部分之間相互配合完成數(shù)據(jù)采集、傳輸、顯示和控制的功能。NB-IoT終端節(jié)點(diǎn)采集信息發(fā)送到應(yīng)用服務(wù)器存儲(chǔ),用戶通過人機(jī)交互系統(tǒng)進(jìn)行數(shù)據(jù)查看,也可通過人機(jī)交互系統(tǒng)發(fā)送控制命令,由終端節(jié)點(diǎn)解析后對(duì)執(zhí)行機(jī)構(gòu)進(jìn)行控制。

        1.2 基于NB-IoT的可配置軟件架構(gòu)

        在NB-IoT測(cè)控系統(tǒng)架構(gòu)中引入組態(tài)的思想,對(duì)NB-IoT終端節(jié)點(diǎn)、應(yīng)用服務(wù)器和人機(jī)交互系統(tǒng)進(jìn)行可配置開發(fā),形成了一種基于組態(tài)和NB-IoT通信的可配置開發(fā)軟件(NB-IoT embedded configuration software,NB-ECS)。NB-ECS架構(gòu)如圖2所示,分為組態(tài)開發(fā)平臺(tái)和運(yùn)行平臺(tái)兩個(gè)部分。

        圖2 基于NB-IoT的可配置軟件架構(gòu)

        (1)組態(tài)開發(fā)平臺(tái)

        組態(tài)開發(fā)平臺(tái)是可配置軟件架構(gòu)的核心部分,負(fù)責(zé)提供對(duì)數(shù)據(jù)、界面、流程的可配置服務(wù),包括對(duì)終端接入傳感器與執(zhí)行機(jī)構(gòu)的引腳功能配置、控制關(guān)系配置、設(shè)備信息配置;對(duì)應(yīng)用服務(wù)器與人交互系統(tǒng)構(gòu)成的監(jiān)控軟件進(jìn)行數(shù)據(jù)配置、功能界面配置與用戶信息配置,具有較強(qiáng)的可配置功能,能夠適用于大多數(shù)簡(jiǎn)單監(jiān)控場(chǎng)景。

        (2)運(yùn)行平臺(tái)

        運(yùn)行平臺(tái)包含NB-IoT終端節(jié)點(diǎn)、應(yīng)用服務(wù)程序與人機(jī)交互系統(tǒng)的運(yùn)行環(huán)境與程序,通過組態(tài)開發(fā)平臺(tái)對(duì)各個(gè)部分進(jìn)行配置,運(yùn)行平臺(tái)中的各部分內(nèi)容通過加載相應(yīng)的配置信息完成功能的初始化與運(yùn)行,形成一套完整的NB-IoT測(cè)控系統(tǒng)架構(gòu)。

        2 基于NB-IoT可配置軟件的關(guān)鍵實(shí)現(xiàn)

        針對(duì)NB-ECS架構(gòu)的可配置特性,結(jié)合監(jiān)控軟件的功能需求,對(duì)NB-IoT終端節(jié)點(diǎn)、組態(tài)開發(fā)平臺(tái)、監(jiān)控平臺(tái)及數(shù)據(jù)通信協(xié)議進(jìn)行設(shè)計(jì)開發(fā)。在此框架下,測(cè)控系統(tǒng)由組態(tài)開發(fā)平臺(tái)完成功能配置生成相應(yīng)的應(yīng)用軟件,下載至對(duì)應(yīng)的運(yùn)行環(huán)境中運(yùn)行。同時(shí)運(yùn)行狀態(tài)下,具備一定的可配置功能,配合不同的通信命令實(shí)現(xiàn)配置信息的動(dòng)態(tài)更新。

        2.1 NB-IoT終端節(jié)點(diǎn)

        NB-IoT終端節(jié)點(diǎn)的硬件部分由主控芯片最小系統(tǒng)、NB-IoT通信模組外圍電路,傳感器接口和其它輔助電路組成,與接入傳感器一同構(gòu)成具有信息采集控制功能的硬件實(shí)體,如圖3所示。

        圖3 NB-IoT終端硬件實(shí)體

        主控芯片最小系統(tǒng)為芯片提供電源、晶振、寫入等服務(wù),保證芯片的運(yùn)行;通信模組外圍電路包含電源模塊,eSIM卡電路和GNSS天線電路,并利用電平轉(zhuǎn)換電路與主控芯片通過UART通信方式連接;主控芯片通過ADC、GPIO、PWM等接口電路對(duì)外提供引腳服務(wù),與傳感器和執(zhí)行機(jī)構(gòu)進(jìn)行連接,完成數(shù)據(jù)的采樣與控制功能,本文采用USB接口的形式便于傳感器的自由組合。

        主控芯片提供軟件服務(wù),負(fù)責(zé)數(shù)據(jù)采集、運(yùn)算和控制等操作,并能配合相應(yīng)的命令實(shí)現(xiàn)參數(shù)的動(dòng)態(tài)可配置。針對(duì)以上功能,將主控芯片的Flash區(qū)分為4個(gè)部分:BootLoader區(qū)、用戶代碼區(qū)、更新代碼區(qū)和配置信息區(qū)。BootLoader區(qū)作為駐留在主控芯片中具有一定的硬件設(shè)備啟動(dòng)及程序跳轉(zhuǎn)功能,能與更新代碼區(qū)配合實(shí)現(xiàn)對(duì)用戶程序的更新。用戶代碼區(qū)是用戶應(yīng)用程序的存儲(chǔ)區(qū)域,與配置信息區(qū)相互配合,實(shí)現(xiàn)終端節(jié)點(diǎn)的可配置及數(shù)據(jù)采集控制等功能。

        用戶程序作為終端節(jié)點(diǎn)軟件的核心模塊,其主程序運(yùn)行流程如圖4所示。初始配置參數(shù)通過組態(tài)開發(fā)平臺(tái)存儲(chǔ)在對(duì)應(yīng)Flash區(qū)域(即配置信息區(qū)),芯片啟動(dòng)后讀取位于該區(qū)域中的配置信息,并對(duì)相關(guān)硬件模塊初始化和中斷使能,隨后進(jìn)入NB-IoT通信模塊的啟動(dòng),獲取IMSI號(hào),建立與基站及服務(wù)器的連接;啟動(dòng)完畢后,進(jìn)入主循環(huán)。主循環(huán)按照其數(shù)據(jù)采集、運(yùn)算、控制和動(dòng)態(tài)配置的功能,可劃分成6個(gè)任務(wù):

        (1)采集任務(wù):隨著定時(shí)器中斷計(jì)時(shí)達(dá)到設(shè)定時(shí)間,執(zhí)行該任務(wù)。該任務(wù)中,依次使用配置的傳感器對(duì)外界環(huán)境進(jìn)行檢測(cè),例如對(duì)溫濕度、開關(guān)狀態(tài)等模擬量與開關(guān)量的輸入狀態(tài)進(jìn)行采集,并保存相應(yīng)的采集結(jié)果。

        (2)LCD顯示任務(wù):針對(duì)需要使用LCD進(jìn)行屏幕顯示的應(yīng)用,支持LCD顯示功能,將采集信息與控制狀態(tài)顯示在LCD屏幕上。

        (3)通信發(fā)送任務(wù):使用NB-IoT作為通信方式,將當(dāng)前采集信息、控制狀態(tài)等數(shù)據(jù)進(jìn)行組幀,發(fā)送至應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)庫(kù)存儲(chǔ)與顯示。

        (4)通信解析任務(wù):隨著數(shù)據(jù)接收中斷接收到完整數(shù)據(jù)幀,在此任務(wù)中進(jìn)行數(shù)據(jù)幀解析,根據(jù)不同命令執(zhí)行控制任務(wù)或參數(shù)配置更新任務(wù)。

        (5)控制任務(wù):分為自動(dòng)控制和遠(yuǎn)程控制兩種,自動(dòng)控制時(shí)可根據(jù)預(yù)先設(shè)置的控制關(guān)系,依照采集信息,對(duì)相應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行控制;也可根據(jù)數(shù)據(jù)幀解析結(jié)果對(duì)執(zhí)行機(jī)構(gòu)進(jìn)行遠(yuǎn)程調(diào)控。

        (6)參數(shù)配置更新任務(wù):作為動(dòng)態(tài)可配置功能的主要執(zhí)行部分,此任務(wù)可根據(jù)解析的數(shù)據(jù)對(duì)各類參數(shù)進(jìn)行動(dòng)態(tài)的更新,并存入配置信息區(qū)保存,使得在程序運(yùn)行過程中,兼具數(shù)據(jù)采集和參數(shù)可配置功能。

        圖4 用戶主程序運(yùn)行流程

        除上述任務(wù)之外還包括兩個(gè)中斷服務(wù)例程:

        (1)定時(shí)器中斷:用于計(jì)時(shí),提供時(shí)間節(jié)拍,并為采集任務(wù)的執(zhí)行提供服務(wù);

        (2)數(shù)據(jù)接收中斷:NB-IoT通信模組與UART之間通過AT指令進(jìn)行通信,利用UART接收中斷完成數(shù)據(jù)接收與組幀操作,為通信解析任務(wù)提供服務(wù)。

        各任務(wù)與中斷服務(wù)例程的相互配合,保證用戶程序的運(yùn)行。根據(jù)終端節(jié)點(diǎn)的運(yùn)行流程,對(duì)終端節(jié)點(diǎn)的可配置信息進(jìn)行定義,結(jié)構(gòu)體關(guān)系如圖5所示,包含設(shè)備信息與控制邏輯兩部分。設(shè)備信息結(jié)構(gòu)體較為簡(jiǎn)單,是對(duì)節(jié)點(diǎn)名稱、網(wǎng)絡(luò)服務(wù)地址等進(jìn)行描述,該字段用于網(wǎng)絡(luò)連接地址設(shè)置和存儲(chǔ)設(shè)備唯一標(biāo)識(shí),用于區(qū)分不同節(jié)點(diǎn);控制邏輯由多個(gè)結(jié)構(gòu)體嵌套組成,表示的是傳感器與執(zhí)行機(jī)構(gòu)的模塊屬性及其之間的控制關(guān)系,涉及各類開關(guān)量與模擬量對(duì)應(yīng)采集變量名稱以及運(yùn)行狀態(tài)范圍。通過組態(tài)開發(fā)平臺(tái)進(jìn)行參數(shù)配置,各參數(shù)值預(yù)先存儲(chǔ)在相應(yīng)的Flash區(qū)域中,結(jié)合用戶代碼實(shí)現(xiàn)嵌入式終端節(jié)點(diǎn)的可配置開發(fā)以及配置參數(shù)的動(dòng)態(tài)修改。

        2.2 組態(tài)開發(fā)平臺(tái)

        2.2.1 交互界面設(shè)計(jì)

        組態(tài)開發(fā)平臺(tái)按照NB-ECS結(jié)構(gòu)分為嵌入式配置與監(jiān)控軟件配置,使用Microsoft Visual Studio作為開發(fā)工具進(jìn)行C# WinForm應(yīng)用窗體的開發(fā),借助WeifenLuo.WinFormsUI.Docking實(shí)現(xiàn)多界面的組合布局,界面按照?qǐng)D6劃分成4個(gè)部分,具體功能與實(shí)現(xiàn)如下:

        圖5 組態(tài)信息結(jié)構(gòu)體

        圖6 組態(tài)開發(fā)平臺(tái)配置界面

        (1)工具欄窗體。用于各類可配置模塊的展示,通過選擇對(duì)應(yīng)的模塊完成相應(yīng)的配置。根據(jù)測(cè)控系統(tǒng)的一般功能,按照終端節(jié)點(diǎn)與監(jiān)控平臺(tái)進(jìn)行區(qū)分,提取不同類型的可配置模塊,如開關(guān)量輸入配置、模擬量輸出配置、控制關(guān)系、通信連接等。

        以TreeView控件作為展示平臺(tái)生成相應(yīng)的可配置參數(shù)列表、終端節(jié)點(diǎn)與監(jiān)控平臺(tái)作為控件父節(jié)點(diǎn),各可配置模塊作為子節(jié)點(diǎn),以圖元的形式呈現(xiàn)。每個(gè)圖元模塊包含模塊名稱、父節(jié)點(diǎn)分類,顯示圖標(biāo)、單擊事件和對(duì)應(yīng)可配置窗體。當(dāng)選擇對(duì)應(yīng)的可配置模塊時(shí)觸發(fā)相應(yīng)的窗體創(chuàng)建事件,進(jìn)行參數(shù)的配置。

        (2)已配置信息窗體。在工具欄中選擇的模塊完成配置后,配置信息會(huì)顯示在已配置信息區(qū)。除此之外,還可以對(duì)已配置內(nèi)容進(jìn)行編輯修改。

        (3)程序代碼或配置文件窗體。在完成配置后會(huì)自動(dòng)生成相應(yīng)的配置文件或程序代碼,對(duì)應(yīng)文件將顯示在此窗體中,配置模式下不可被手動(dòng)修改。

        (4)信息輸出窗體。用于狀態(tài)提示,可以顯示運(yùn)行狀態(tài)、編譯生成狀態(tài)信息等信息。

        通過上述組態(tài)開發(fā)平臺(tái)各部分窗體的相互配合,可完成對(duì)具體項(xiàng)目及功能的配置,而項(xiàng)目相關(guān)的配置信息也會(huì)存儲(chǔ)在對(duì)應(yīng)的配置文件中。

        2.2.2 配置文件存儲(chǔ)格式

        嵌入式端的配置信息在組態(tài)開發(fā)平臺(tái)中通過JSON文件按照鍵值對(duì)的方式存儲(chǔ),結(jié)構(gòu)較為簡(jiǎn)單,易于解析[7]。不同芯片引腳及其可復(fù)用功能存在差異,pin.json文件記錄芯片型號(hào)、各引腳編號(hào)與引腳可復(fù)用功能,并保存當(dāng)前引腳使用狀態(tài),其對(duì)應(yīng)格式如圖7所示。

        圖7 pin.json文件配置格式

        當(dāng)選擇工具欄中對(duì)應(yīng)的開關(guān)量輸入與輸出,模擬量輸入與輸出模塊時(shí),根據(jù)引腳是否被使用狀態(tài)(use字段)及可復(fù)用功能(fun字段),與模塊名稱對(duì)比,篩選出相應(yīng)的可配置引腳,配置成功后設(shè)置該引腳use字段為使用。

        同時(shí)已配置信息窗體對(duì)應(yīng)的控制邏輯關(guān)系數(shù)據(jù)使用配置參數(shù)文件config.json記錄,其結(jié)構(gòu)如圖8所示,對(duì)已配置引腳及其屬性、控制關(guān)系、設(shè)備信息等進(jìn)行保存。與pin.json文件相互配合,構(gòu)成終端節(jié)點(diǎn)相應(yīng)的可配置數(shù)據(jù),實(shí)現(xiàn)引腳功能的可復(fù)用與可配置,也實(shí)現(xiàn)了終端節(jié)點(diǎn)功能、流程的可配置。

        圖8 config.json文件配置格式

        上述JSON文件用于在當(dāng)前開發(fā)平臺(tái)中保存可配置信息,實(shí)際配置信息在相應(yīng)編譯后按照相應(yīng)結(jié)構(gòu)體存儲(chǔ)在終端節(jié)點(diǎn)對(duì)應(yīng)的Flash區(qū)域中,也可在運(yùn)行過程中進(jìn)行動(dòng)態(tài)的修改。

        服務(wù)器端程序和人機(jī)交互系統(tǒng)組成的監(jiān)控軟件的可配置信息由工程樣式、通信連接設(shè)置、監(jiān)聽設(shè)備、通信命令幀、數(shù)據(jù)類型定義5個(gè)部分。

        (1)窗體/工程樣式。存儲(chǔ)簡(jiǎn)單設(shè)置窗體名稱、圖標(biāo)與設(shè)定樣式;

        (2)通信連接設(shè)置。存儲(chǔ)服務(wù)器連接地址,由服務(wù)器IP和端口號(hào)構(gòu)成。服務(wù)器程序使用不同的端口區(qū)分服務(wù),對(duì)應(yīng)于使用不同的通信協(xié)議與終端節(jié)點(diǎn)與人際交互系統(tǒng)進(jìn)行通信,分別使用HCIComTarget和WebsocketTarget作為標(biāo)簽進(jìn)行區(qū)分。終端節(jié)點(diǎn)與人機(jī)交互系統(tǒng)分別使用設(shè)定地址進(jìn)行連接;

        (3)監(jiān)聽設(shè)備。存儲(chǔ)終端節(jié)點(diǎn)的唯一標(biāo)識(shí)——IMSI號(hào),表明當(dāng)前程序偵聽的終端設(shè)備;

        (4)通信命令幀。存儲(chǔ)本程序使用的通信命令,不同通信命令的數(shù)據(jù)格式存在不同,通過此處進(jìn)行定義數(shù)據(jù)幀各字段內(nèi)容,便于區(qū)分與解析;

        (5)數(shù)據(jù)類型定義。是對(duì)通信命令幀的補(bǔ)充,對(duì)通信命令中的各字段的詳細(xì)信息進(jìn)行定義,包含多個(gè)標(biāo)簽,如字段變量名稱、變量顯示名稱、數(shù)據(jù)類型、可讀可寫狀態(tài)。各標(biāo)簽之前為并列關(guān)系,可進(jìn)行動(dòng)態(tài)的刪減,配合進(jìn)行數(shù)據(jù)的可配置。

        上述信息使用XML文件進(jìn)行存儲(chǔ),具有結(jié)構(gòu)化和可擴(kuò)展的特點(diǎn),并可進(jìn)行標(biāo)簽的自定義[8],有助于數(shù)據(jù)節(jié)點(diǎn)的定義和動(dòng)態(tài)增減,輸出的文件存儲(chǔ)格式如圖9所示。服務(wù)器程序根據(jù)XML文件進(jìn)行動(dòng)態(tài)解析,實(shí)現(xiàn)對(duì)服務(wù)器數(shù)據(jù)庫(kù)存儲(chǔ)格式,界面顯示設(shè)置以及數(shù)據(jù)可視化顯示等的動(dòng)態(tài)修改,與通信協(xié)議相互配合實(shí)現(xiàn)了數(shù)據(jù)傳輸和界面顯示的可配置。

        圖9 監(jiān)控系統(tǒng)XML文件配置格式

        2.3 監(jiān)控平臺(tái)

        監(jiān)控平臺(tái)是對(duì)終端采集數(shù)據(jù)進(jìn)行存儲(chǔ)與顯示的軟件,服務(wù)器程序在接收到來(lái)自終端節(jié)點(diǎn)發(fā)送的數(shù)據(jù),解析后按照預(yù)定格式寫入數(shù)據(jù)庫(kù),并將相關(guān)數(shù)據(jù)發(fā)送至連接的人機(jī)交互系統(tǒng)顯示。作為監(jiān)控軟件的核心部分,數(shù)據(jù)庫(kù)中各數(shù)據(jù)表通過XML文件進(jìn)行完善,各數(shù)據(jù)表名稱與功能見表1。

        表1 數(shù)據(jù)

        對(duì)XML文件的數(shù)據(jù)類型定義字段進(jìn)行解析提取,將預(yù)先設(shè)定的變量名稱、變量類型等信息存儲(chǔ)寫入數(shù)據(jù)屬性表中。該數(shù)據(jù)表內(nèi)容可隨配置數(shù)據(jù)進(jìn)行動(dòng)態(tài)修改,保證與通信命令一致。并利用橫縱表轉(zhuǎn)換存儲(chǔ)[9]的方式,自動(dòng)完成上行數(shù)據(jù)表、下行數(shù)據(jù)表及采樣數(shù)據(jù)表的創(chuàng)建。

        數(shù)據(jù)可配置的實(shí)現(xiàn),也確定了人機(jī)交互系統(tǒng)的數(shù)據(jù)界面的動(dòng)態(tài)可配置。人機(jī)交互系統(tǒng)通過獲取服務(wù)器程序發(fā)送的數(shù)據(jù),解析生成相應(yīng)的界面并進(jìn)行數(shù)據(jù)的動(dòng)態(tài)顯示,從而實(shí)現(xiàn)了界面的可配置。

        2.4 數(shù)據(jù)通信流程及協(xié)議

        數(shù)據(jù)在終端節(jié)點(diǎn)、組態(tài)開發(fā)平臺(tái)與監(jiān)控平臺(tái)之間進(jìn)行傳遞。終端節(jié)點(diǎn)的傳感器采集信息與執(zhí)行機(jī)構(gòu)執(zhí)行情況在主控芯片進(jìn)行整合,并通過通信模組發(fā)送至服務(wù)器端,再由服務(wù)器端進(jìn)行數(shù)據(jù)推送給相應(yīng)的人機(jī)交互系統(tǒng)。組態(tài)開發(fā)平臺(tái)的配置信息及人機(jī)交互系統(tǒng)返回的信息都將發(fā)送至服務(wù)器端解析,再返回給終端節(jié)點(diǎn),完成配置或控制功能。對(duì)應(yīng)于通信流程中的不同的階段使用不同的通信方式及數(shù)據(jù)格式。

        終端節(jié)點(diǎn)使用NB-IoT通信方式,始終與服務(wù)器程序進(jìn)行連接。其主要數(shù)據(jù)幀格式如圖10所示。

        圖10 終端程序數(shù)據(jù)幀格式

        幀頭、幀尾各為兩字節(jié),確定一幀數(shù)據(jù)的開始與結(jié)束;幀長(zhǎng)為不包含幀頭、幀長(zhǎng)、CRC校驗(yàn)、幀尾字段的數(shù)據(jù)長(zhǎng)度,由于NB-IoT通信模組限制,單幀數(shù)據(jù)長(zhǎng)度在500字節(jié)以內(nèi)(即N不超過500字節(jié));CRC校驗(yàn)位的使用保證數(shù)據(jù)的完整性與準(zhǔn)確性;命令、IMSI號(hào)、服務(wù)器IP、服務(wù)器端口及發(fā)送時(shí)間為通信固定字段。根據(jù)不同的命令,對(duì)應(yīng)于不同的數(shù)據(jù)幀,其數(shù)據(jù)字段攜帶信息存在差異,一共分為4種情況。

        “U0”,采集數(shù)據(jù)發(fā)送幀,數(shù)據(jù)由終端節(jié)點(diǎn)發(fā)送至服務(wù)器端,攜帶傳感器采集信息及執(zhí)行結(jié)構(gòu)當(dāng)前執(zhí)行狀態(tài),以JSON數(shù)據(jù)格式存儲(chǔ),轉(zhuǎn)換成字節(jié)數(shù)組存放在數(shù)據(jù)字段,由服務(wù)器程序完成數(shù)據(jù)解析與存儲(chǔ)。

        “U1”,數(shù)據(jù)回發(fā)幀,由服務(wù)器端發(fā)送至終端節(jié)點(diǎn),是對(duì)采集數(shù)據(jù)發(fā)送幀的反饋,用戶或服務(wù)器程序依據(jù)數(shù)據(jù)分析決定是否對(duì)當(dāng)前控制狀態(tài)進(jìn)行調(diào)整,數(shù)據(jù)同樣以JSON格式存在數(shù)據(jù)字段。

        “C0”,信息配置幀,由服務(wù)器端發(fā)送至終端節(jié)點(diǎn),組態(tài)開發(fā)平臺(tái)生成的配置信息發(fā)送至服務(wù)器端后,服務(wù)器端按照終端節(jié)點(diǎn)組態(tài)信息結(jié)構(gòu)體生成數(shù)據(jù)字段,終端節(jié)點(diǎn)解析后完成對(duì)可配置參數(shù)的更新。

        “C1”,設(shè)備信息幀,由服務(wù)器端發(fā)送至終端節(jié)點(diǎn),組態(tài)開發(fā)平臺(tái)生成的設(shè)備信息發(fā)送至服務(wù)器端后,按照終端節(jié)點(diǎn)設(shè)備信息結(jié)構(gòu)體生成數(shù)據(jù)字段,終端節(jié)點(diǎn)解析后,完成對(duì)設(shè)備信息的更新。

        服務(wù)器端與組態(tài)開發(fā)平臺(tái),人機(jī)交互系統(tǒng)之間使用WebSocket[10]通信方式,其消息推送功能,能夠保證數(shù)據(jù)的實(shí)時(shí)傳輸,而JSON數(shù)據(jù)格式的使用則實(shí)現(xiàn)了數(shù)據(jù)傳輸?shù)膭?dòng)態(tài)性。其數(shù)據(jù)格式如圖11所示,包含命令名稱、數(shù)據(jù)發(fā)送方、數(shù)據(jù)接收方、傳輸密碼、實(shí)際數(shù)據(jù)等內(nèi)容。通過對(duì)命令名稱區(qū)分組態(tài)開發(fā)平臺(tái)的數(shù)據(jù)配置命令,或人機(jī)交互系統(tǒng)與服務(wù)器程序之間的數(shù)據(jù)交互命令。并可根據(jù)數(shù)據(jù)字段完成界面顯示文本框的動(dòng)態(tài)創(chuàng)建,或數(shù)據(jù)可視化分析等。

        圖11 數(shù)據(jù)格式

        3 可配置軟件在智能農(nóng)業(yè)中的應(yīng)用

        使用基于NB-ECS框架開發(fā)出來(lái)的組態(tài)開發(fā)平臺(tái),能夠較好實(shí)現(xiàn)可配置開發(fā),目前已應(yīng)用于某智能農(nóng)業(yè)項(xiàng)目中,對(duì)農(nóng)業(yè)大棚的墑情進(jìn)行檢測(cè)。

        農(nóng)業(yè)大棚的墑情檢測(cè)反應(yīng)土壤含水量的多寡,受到光照強(qiáng)度、大氣溫度、土壤濕度等因素的影響,對(duì)于不同農(nóng)作物,其生存條件也存在差異,為向農(nóng)作物提供適宜的生存環(huán)境,提高農(nóng)作物的產(chǎn)量,選取如表2所示的傳感器與執(zhí)行機(jī)構(gòu),對(duì)農(nóng)作物的生長(zhǎng)環(huán)境進(jìn)行實(shí)時(shí)檢測(cè),并根據(jù)檢測(cè)結(jié)果進(jìn)行調(diào)整,保證農(nóng)作物的生長(zhǎng)。

        表2 傳感器與執(zhí)行機(jī)構(gòu)

        針對(duì)上述農(nóng)業(yè)應(yīng)用場(chǎng)景,將組態(tài)開發(fā)平臺(tái)、應(yīng)用服務(wù)器程序與人機(jī)交互系統(tǒng)均運(yùn)行于Windows操作系統(tǒng)中。終端節(jié)點(diǎn)使用ARM Cortex M4F內(nèi)核的低功耗芯片STM32L431Rc,其對(duì)應(yīng)的Flash為256 K,RAM大小為64 K[11],并具有豐富的通用I/O接口。選用ME3616作為NB-IoT通信模組,支持串口AT指令、支持TCP、UDP、MQTT和COAP協(xié)議,具有高性能和低功耗等特點(diǎn)[12]。

        依據(jù)相應(yīng)傳感器與執(zhí)行機(jī)構(gòu)選型,選擇合適的引腳接入終端節(jié)點(diǎn),并使用組態(tài)開發(fā)平臺(tái)對(duì)各傳感器與執(zhí)行機(jī)構(gòu)進(jìn)行引腳功能和控制關(guān)系的配置,并設(shè)置采集數(shù)據(jù)名稱,如環(huán)境溫度、土壤濕度等。將配置完成的軟硬件實(shí)體安裝至對(duì)應(yīng)的運(yùn)行環(huán)境中,其監(jiān)控界面如圖12所示。實(shí)驗(yàn)運(yùn)行過程中,可根據(jù)農(nóng)作物需求修改傳感器設(shè)定的閾值參數(shù),保證作物處于合適環(huán)境下,也可增加如二氧化碳濃度、土壤pH值檢測(cè)的傳感器,增加對(duì)環(huán)境狀態(tài)的檢測(cè)與調(diào)節(jié)。長(zhǎng)時(shí)間的運(yùn)行實(shí)驗(yàn)結(jié)果表明,該組態(tài)軟件開發(fā)的嵌入式監(jiān)控系統(tǒng)可以根據(jù)不同農(nóng)業(yè)檢測(cè)目標(biāo)進(jìn)行調(diào)整,快速應(yīng)用于不同的農(nóng)業(yè)場(chǎng)景中。

        在對(duì)如工廠環(huán)境、水質(zhì)狀態(tài)等應(yīng)用場(chǎng)景進(jìn)行監(jiān)測(cè)時(shí),也可依據(jù)需求進(jìn)行傳感器與執(zhí)行機(jī)構(gòu)的選擇與接入,利用NB-ECS組態(tài)開發(fā)平臺(tái)進(jìn)行配置開發(fā),同樣能做到監(jiān)控系統(tǒng)的快速開發(fā)與應(yīng)用,體現(xiàn)了本文所述的配置軟件的普適性。

        圖12 監(jiān)控界面

        4 結(jié)束語(yǔ)

        本文提出一種面向NB-IoT測(cè)控系統(tǒng)的可配置軟件開發(fā)方法,在NB-IoT測(cè)控系統(tǒng)框架的基礎(chǔ)上引入組態(tài)的思想,對(duì)終端節(jié)點(diǎn)、應(yīng)用服務(wù)器、人機(jī)交互系統(tǒng)進(jìn)行可配置開發(fā)。并闡述了終端節(jié)點(diǎn)的運(yùn)行流程、數(shù)據(jù)結(jié)構(gòu)與存儲(chǔ)形式,組態(tài)開發(fā)平臺(tái)的可配置文件存儲(chǔ),監(jiān)控軟件的數(shù)據(jù)庫(kù)設(shè)計(jì)與界面生成,通信協(xié)議等的實(shí)現(xiàn)方法,從而完成對(duì)基于 NB-IoT 的測(cè)控軟件的流程、界面和數(shù)據(jù)的可配置,在不重新編寫程序的情況下,簡(jiǎn)化軟件開發(fā)過程。最后以智能農(nóng)業(yè)的可配置開發(fā)為例,驗(yàn)證該開發(fā)方法的可行性和通用性。實(shí)驗(yàn)結(jié)果表明,運(yùn)用該方法開發(fā)的NB-IoT嵌入式監(jiān)控軟件能夠滿足多變的用戶需求,也能提高開發(fā)效率,具有一定的通用性。

        猜你喜歡
        服務(wù)器端測(cè)控組態(tài)
        基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
        《測(cè)控電路》實(shí)踐教學(xué)改革探討
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        基于PLC和組態(tài)的智能電動(dòng)擰緊系統(tǒng)
        基于現(xiàn)代測(cè)控技術(shù)及其應(yīng)用分析
        向著新航程進(jìn)發(fā)——遠(yuǎn)望7號(hào)測(cè)控船首航記錄
        太空探索(2016年12期)2016-07-18 11:13:43
        PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
        鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
        在Windows中安裝OpenVPN
        基于USB2.0協(xié)議的通用測(cè)控通信接口設(shè)計(jì)
        久久亚洲国产欧洲精品一| 欧美丰满熟妇bbb久久久| 无码ol丝袜高跟秘书在线观看| 四虎影视亚洲精品| 亚洲一区二区av偷偷| 国产实拍日韩精品av在线 | 久久超碰97人人做人人爱| 欧美日韩电影一区| 天堂视频一区二区免费在线观看 | 国产成熟人妻换╳╳╳╳| 狠狠色狠狠色综合日日92| 国产精品av免费网站| 人妻少妇精品视频专区vr| 精品乱码久久久久久久| 国产av成人精品播放| 麻豆夫妻在线视频观看| 国产精品一区二区性色| 精产国品一二三产品蜜桃| 亚洲国产精品线观看不卡| 亚洲国产综合精品一区| 亚洲av永久无码天堂网| 天天干夜夜操| 国产精品一区二区午夜久久 | 亚洲乱码中文字幕综合| 国产精品主播在线一区二区 | 亚洲av一二三又爽又爽又色| 亚洲av日韩一区二区| 特级做a爰片毛片免费看无码| 岛国大片在线免费观看| 扒开女性毛茸茸的视频| 欧美乱大交xxxxx潮喷| 欧洲熟妇乱xxxxx大屁股7| 极品美女销魂一区二区三| 丰满少妇按摩被扣逼高潮| aaa级久久久精品无码片| 亚洲色www无码| 久久久国产精品黄毛片| 日韩欧美亚洲综合久久影院ds| 热久久亚洲| 伊人狼人大香线蕉手机视频 | 狠狠干视频网站|