国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

NB-IoT的基本架構(gòu)與環(huán)境監(jiān)測系統(tǒng)的應(yīng)用設(shè)計(jì)*

2018-12-07 08:31:52,,,
關(guān)鍵詞:接收數(shù)據(jù)微控制器郵局

,,,

(1.咸陽師范學(xué)院 計(jì)算機(jī)學(xué)院,咸陽 712000;2.蘇州大學(xué))

引 言

目前,制約物聯(lián)網(wǎng)技術(shù)應(yīng)用發(fā)展的主要原因有:移動(dòng)蜂窩網(wǎng)承載物聯(lián)網(wǎng)應(yīng)用時(shí),不能使物聯(lián)網(wǎng)專網(wǎng)與公眾網(wǎng)絡(luò)相對隔離,由于接入容量的相互影響,單站的接入能力阻礙了物聯(lián)網(wǎng)市場的發(fā)展;4G網(wǎng)絡(luò)投入運(yùn)營后,運(yùn)營商減少了對2G、3G網(wǎng)絡(luò)建設(shè)及優(yōu)化工作,使得這些網(wǎng)絡(luò)質(zhì)量下降,后續(xù)應(yīng)對物聯(lián)網(wǎng)市場發(fā)展就更加困難;現(xiàn)有物聯(lián)網(wǎng)通信模塊依托移動(dòng)核心網(wǎng)進(jìn)行管理,對號(hào)碼資源消耗過大。針對以上問題,運(yùn)營商須盡快開發(fā)與現(xiàn)有移動(dòng)蜂窩網(wǎng)絡(luò)相隔離的低功耗廣域網(wǎng) (Low Power Wide Area,LPWA)[1]專網(wǎng),并實(shí)現(xiàn)LPWA專網(wǎng)的全面覆蓋,改變目前物聯(lián)網(wǎng)應(yīng)用對移動(dòng)蜂窩網(wǎng)絡(luò)的依賴,裁減大量無關(guān)功能,獲得符合目標(biāo)場景的性價(jià)比。

1 NB-IoT的產(chǎn)生及發(fā)展現(xiàn)狀

窄帶物聯(lián)網(wǎng)(Narrow Band Internet of Things,簡寫NB-IoT)[2]是物聯(lián)網(wǎng)領(lǐng)域一種新興的技術(shù),又稱低功耗廣域網(wǎng)(Low Power Wide Area)。它工作的上下行頻段為180 kHz,以蜂窩通信技術(shù)為基礎(chǔ),可以在2 G或4 G網(wǎng)絡(luò)上直接部署,降低了開發(fā)成本。

2015年9月3GPP[3]標(biāo)準(zhǔn)組織提出了一種新的窄帶蜂窩通信技術(shù)—NB-IoT。2016年6月16日,國際組織3GPP在韓國釜山正式通過NB-IoT系列標(biāo)準(zhǔn)[4]。目前,NB-IoT技術(shù)協(xié)議核心已經(jīng)制定完成,已初步完成了第一階段測試,這標(biāo)志著NB-IoT標(biāo)準(zhǔn)基本成熟,已初步具備商用條件。世界知名通信企業(yè)華為、愛立信等都宣布支持NB-IoT[5]。在國內(nèi),2017年5月無錫成為全國首個(gè)實(shí)現(xiàn)了NB-IoT全域覆蓋的地級市[6];同年,上海、福州、杭州、廣州4個(gè)城市啟動(dòng)了NB-IoT外場測試[7]。

NB-IoT的主要特點(diǎn)[8]包括:覆蓋范圍廣,比現(xiàn)有網(wǎng)絡(luò)覆蓋面積擴(kuò)大約100倍;容量大,一個(gè)扇區(qū)能夠支持大約10萬個(gè)連接;功耗低,NB-IoT終端采用兩節(jié)AA電池供電待機(jī)可達(dá)10年;成本低,單個(gè)連接模塊不超過3 美元。

2 NB-IoT基本架構(gòu)

NB-IoT應(yīng)用架構(gòu)可以抽象為NB-IoT終端(UE)、NB-IoT信息郵局(MPO)、NB-IoT人機(jī)交互系統(tǒng)(HCI)三個(gè)組成部分。

2.1 NB-IoT終端

NB-IoT終端(Ultimate Equipment,UE)是一種以微控制器(MCU)為核心,包含其他電子裝置,具有數(shù)據(jù)采集、控制、運(yùn)算及基于NB-IoT通信等功能,適合于特定用途的軟硬件實(shí)體,如NB-IoT燃?xì)獗?、NB-IoT水表、NB-IoT交通燈、NB-IoT智能農(nóng)業(yè)設(shè)備、NB-IoT機(jī)床控制系統(tǒng)等。

MCU負(fù)責(zé)數(shù)據(jù)采集、處理、分析,干預(yù)執(zhí)行,以及與通信模組的板內(nèi)通信連接,通信模組將MCU的板內(nèi)連接轉(zhuǎn)為NB-IoT通信,以便與遠(yuǎn)程服務(wù)器通信。UE還可以包含短距離無線通信機(jī)構(gòu),以便與其他物聯(lián)網(wǎng)節(jié)點(diǎn)實(shí)現(xiàn)通信。UE內(nèi)含手機(jī)卡(目前使用電子卡,也可以集成到通信模組中),這個(gè)卡通常叫“用戶識(shí)別卡”,即SIM卡,它含有唯一的國際移動(dòng)用戶識(shí)別碼[9]。UE用戶通過這個(gè)號(hào)給信息郵局運(yùn)營商繳費(fèi)。

2.2 NB-IoT信息郵局

NB-IoT信息郵局(Mssage Post Office,MPO)是一種基于NB-IoT協(xié)議的信息傳送系統(tǒng)[10],由NB-IoT基站(eNodeB)與NB-IoT管理服務(wù)器組成。它在NB-IoT終端(UE)與NB-IoT人機(jī)交互系統(tǒng)(HCI)之間起信息傳送的作用,由信息運(yùn)行商負(fù)責(zé)建立與維護(hù)。

NB-IoT基站由戶外的鐵塔、NB-IoT基站路由器等構(gòu)成。鐵塔是基站路由器支撐機(jī)構(gòu),作用是把NB-IoT基站路由器高高掛起,提高NB-IoT基站路由器的無線覆蓋范圍。從用戶編程角度來看,編程者可以忽略NB-IoT基站這個(gè)中間過渡。信息郵局(MPO)中的管理服務(wù)器MS(Management Server)可以是一個(gè)實(shí)體服務(wù)器,也可以是分散的云服務(wù)器。對編程者來說,信息郵局就是具有信息偵聽功能的固定IP地址與端口,需要向信息郵局運(yùn)營商或第三方機(jī)構(gòu)申請并付費(fèi)使用。

2.3 NB-IoT人機(jī)交互系統(tǒng)

NB-IoT人機(jī)交互系統(tǒng)(Human Computer Interaction,HCI)是實(shí)現(xiàn)人與NB-IoT信息郵局(NB-IoT管理服務(wù)器)之間信息交互、信息處理與信息服務(wù)的軟硬件系統(tǒng)。目標(biāo)是使人們能夠利用通用計(jì)算機(jī)(PC)、平板電腦、手機(jī)等設(shè)備,通過NB-IoT信息郵局獲取NB-IoT終端UE的數(shù)據(jù),并可實(shí)現(xiàn)對終端UE的控制等功能。從應(yīng)用開發(fā)角度看,人機(jī)交互系統(tǒng)就是與信息郵局的固定IP地址與端口打交道,通過這個(gè)固定IP地址與端口實(shí)現(xiàn)與終端的信息交互。

3 基于NB-IoT的環(huán)境監(jiān)測系統(tǒng)

3.1 硬件設(shè)計(jì)

基于NB-IoT的環(huán)境監(jiān)測系統(tǒng)硬件由兩塊擴(kuò)展板構(gòu)成,擴(kuò)展板A包含了一個(gè)32位ARM Cortex-M0+內(nèi)核的KL36微控制器[11]、GPRS通信模塊[12]、三色燈、SWD寫入器接口、TTL串口(UART0)及兩排對外接口。擴(kuò)展板A實(shí)物圖如圖1所示。

圖1 擴(kuò)展板A實(shí)物圖

(1)KL36微控制器

KL36微控制器不僅具備超低功耗的性能,還包含一套豐富的模擬、通信、定時(shí)和控制外設(shè),適用于消費(fèi)電子、工業(yè)計(jì)量等應(yīng)用。同時(shí),它提供了段式LCD控制器和多個(gè)靈活的低功率模式,包括新的計(jì)算模式,這個(gè)功能通過使外設(shè)采用異步停止模式,降低了動(dòng)態(tài)功耗,而且具有穩(wěn)定可靠的開發(fā)工具和軟件。在本設(shè)計(jì)中,KL36提供了芯片溫度的獲取方法,即通過A/D轉(zhuǎn)換器的26通道讀取數(shù)值然后計(jì)算得到。

(2)模擬信號(hào)輸入電路

模擬信號(hào)一般來自相應(yīng)的傳感器。例如要測量室內(nèi)的溫度,就需要溫度傳感器。但是,一般傳感器將實(shí)際模擬信號(hào)轉(zhuǎn)換成的電信號(hào)都比較弱,微控制器無法直接獲得該信號(hào),需要將其放大,然后經(jīng)過A/D轉(zhuǎn)換變?yōu)閿?shù)字信號(hào)進(jìn)行處理。目前許多微控制器內(nèi)部包含A/D轉(zhuǎn)換模塊,實(shí)際應(yīng)用時(shí)也可根據(jù)需要外接A/D轉(zhuǎn)換芯片。

圖2 A/D采樣電路

在本設(shè)計(jì)中,將光敏(熱敏)電阻接入圖2的采樣電路中,光敏(熱敏)電阻與一個(gè)特定阻值的電阻串聯(lián),由于光敏(熱敏)電阻會(huì)隨著外界環(huán)境的變化而改變,因此A/D采樣點(diǎn)的電壓也會(huì)隨之改變,A/D采樣點(diǎn)的電壓為:

(1)

式(1)中x是一個(gè)特定阻值,根據(jù)實(shí)際光敏或熱敏電阻的不同而加以選定。以熱敏電阻為例,假設(shè)熱敏電阻阻值增大,采樣點(diǎn)的電壓就會(huì)減小,A/D值也相應(yīng)減??;反之,熱敏電阻阻值減小,采樣點(diǎn)的電壓就會(huì)增大,A/D值也相應(yīng)增大。所以采用這種方法,MCU就會(huì)獲知外界溫度的變化。

A/D轉(zhuǎn)換驅(qū)動(dòng)代碼如下:

① adc_init(MUXSEL_A, AD_SINGLE,16,SAMPLE32);

//初始化A通道

② advalue=adc_read(26);

//讀取通道26,每次采集32次硬件濾波

③ floatVTemp, temp

VTemp=(advalue * 3300)>>16;

temp=25-(VTemp-719)/1.715;

//將讀取到的A/D值轉(zhuǎn)換成溫度

④ printf(“%f”, temp);

//輸出的溫度

(3)擴(kuò)展板提供的接口

擴(kuò)展板A共有60個(gè)對外接口,其中包括4個(gè)5 V接口、2個(gè)3.3 V接口、8個(gè)GND接口和46個(gè)GPIO接口[13](見圖1)。這些GPIO接口與KL36引腳直接相連。其中支持LCD的引腳有30個(gè),支持16位A/D轉(zhuǎn)換的引腳有19個(gè)(其中有3個(gè)支持差分輸入),支持TSI功能的引腳有16個(gè),支持UART[14](TX、RX)的有8對,支持TPM的引腳有36個(gè),支持SPI輸入輸出的引腳有10個(gè)。

擴(kuò)展板B包含3排插針、LCD顯示屏、TSI觸摸片、光敏電阻、串口接口和SWD寫入口。顯示屏可顯示檢測的數(shù)據(jù),TSI觸摸片被觸摸時(shí)會(huì)觸發(fā)TSI響應(yīng)事件,實(shí)現(xiàn)用戶與硬件的交互。硬件通過TTL-USB串口[15]線與PC機(jī)相連,實(shí)現(xiàn)硬件與PC機(jī)的通信,SWD用于將程序?qū)戇M(jìn)硬件。

3.2 基于NB-IoT偵測軟件的設(shè)計(jì)

(1)偵測軟件設(shè)計(jì)的基本思想

偵聽程序是人機(jī)交互系統(tǒng)中的一部分,是信息郵局與上層人機(jī)交互軟件之間的通信媒介。根據(jù)軟件分層的思想,將偵聽程序分為網(wǎng)絡(luò)通信層、數(shù)據(jù)處理層和應(yīng)用層來進(jìn)行設(shè)計(jì)。

網(wǎng)絡(luò)通信層主要負(fù)責(zé)接收上行數(shù)據(jù)和發(fā)送下行數(shù)據(jù)。該層負(fù)責(zé)偵聽本機(jī)端口,對接收到的上行數(shù)據(jù)包進(jìn)行解析并校驗(yàn),將正確的數(shù)據(jù)包存入接收數(shù)據(jù)隊(duì)列,將出錯(cuò)的數(shù)據(jù)包存入錯(cuò)誤接收數(shù)據(jù)隊(duì)列,并觸發(fā)接收數(shù)據(jù)事件。同時(shí),該層將要發(fā)送的數(shù)據(jù)封裝成幀并根據(jù)傳送參數(shù)發(fā)送給指定設(shè)備。

數(shù)據(jù)處理層定義了幀信息類,即描述幀數(shù)據(jù)內(nèi)包含信息的類,并提供實(shí)現(xiàn)幀數(shù)據(jù)與幀信息類的對象之間相互轉(zhuǎn)換的方法。

應(yīng)用層負(fù)責(zé)與上層交互軟件的通信,根據(jù)不同的應(yīng)用場景對應(yīng)的不同解決方案來對信息作進(jìn)一步處理。數(shù)據(jù)處理層與應(yīng)用層都與傳輸?shù)木唧w內(nèi)容有關(guān),與傳輸方式無關(guān)。

(2)偵測軟件的設(shè)計(jì)

根據(jù)以上思想,設(shè)計(jì)的偵測程序結(jié)構(gòu)框架如圖3所示,主要的文件夾有4個(gè),分別是01_Doc、02_NetworkComm、03_DataProc及04_Application。其中02_NetworkComm、03_DataProc和04_Application是偵聽程序框架的主要文件夾,分別對應(yīng)網(wǎng)絡(luò)通信層、數(shù)據(jù)處理層以及應(yīng)用層。

圖3 偵測程序結(jié)構(gòu)框架

(3)用戶服務(wù)器程序設(shè)計(jì)

用戶服務(wù)器的目的是接收終端通過轉(zhuǎn)發(fā)服務(wù)器發(fā)來的數(shù)據(jù)。由于用戶服務(wù)器的IP地址不固定,所以它必須在開始監(jiān)聽的時(shí)候主動(dòng)連接管理服務(wù)器,并注冊將要監(jiān)聽的IMSI號(hào),該IMSI號(hào)和管理服務(wù)器的IP地址和端口號(hào)可以在“App.config”中進(jìn)行配置。

① 信息發(fā)送核心代碼(發(fā)送流程如圖4所示):

//UE模塊供電

LCDShowRunMsg('H',1,1);

//LCD提示“H1-1”,表示給UE供電

gpio_set(PTE_NUM|22,1); //UE模塊供電

Delay_ms(3000); //等待模塊開機(jī),3 s

//UE模塊初始化

LCDShowRunMsg('H',1,2);

//LCD提示“H1-2”,表示開始初始化

mflag=uecom_init(mRetdata,data.serverIP,data.serverPort);

//根據(jù)初始化是否成功決定是否發(fā)送數(shù)據(jù)

if(mflag) goto main_loop1; //初始化失敗,LCD顯示提示

//初始化成功

LCDShowRunMsg('H',1,3);

//LCD提示“H1-3”,表示UE初始化成功

getFrameData();

//動(dòng)態(tài)獲取當(dāng)前實(shí)時(shí)數(shù)據(jù)

//UE模塊發(fā)送數(shù)據(jù)

LCDShowRunMsg('H',1,4); //LCD提示“H1-4”,表示組幀提示

frameEncode(fd.data,264,mframe,&mframeLen); //組幀操作

LCDShowRunMsg('H',1,5); //LCD提示“H1-5”,表示開始發(fā)送

mflag = uecom_send(mframeLen,mframe);

if(mflag) goto main_loop2; //數(shù)據(jù)發(fā)送失敗,LCD顯示提示

LCDShowRunMsg('H',1,6);//LCD提示“H1-6”,表示發(fā)送成功

② 信息接收核心代碼

// UE模塊接收數(shù)據(jù)

LCDShowRunMsg('H',1,7);//LCD提示“H1-7”,表示發(fā)送成功

mflag = uecom_recv(&mframeLen,mframe);

if(mflag) goto main_loop3; //數(shù)據(jù)接收失敗,LCD顯示提示

LCDShowRunMsg('H',1,8);

//LCD提示“H1-8”,表示接收數(shù)據(jù)成功

frameDecode(mframe,fd.data,&mlen);

//解析幀數(shù)據(jù),信息寫入結(jié)構(gòu)體

LCDShowRunMsg('H',1,9);

//LCD提示“H1-9”,表示數(shù)據(jù)解析成功

圖4 數(shù)據(jù)發(fā)送基本流程

用戶服務(wù)器是基于C#程序?qū)崿F(xiàn)的,使用封裝好的UECom類可以很快實(shí)現(xiàn)需要的功能。監(jiān)聽端口可通過UECom類的UECom_Listen方法實(shí)現(xiàn),注冊IMSI可通過向管理服務(wù)器發(fā)送空數(shù)據(jù)實(shí)現(xiàn)。接收幀可通過UECom的接收數(shù)據(jù)事件實(shí)現(xiàn),接收到的數(shù)據(jù)是去掉了幀頭幀尾、校驗(yàn)碼、IMSI號(hào)和幀長的有效數(shù)據(jù)。然后,按照定義的有效數(shù)據(jù)幀格式對幀進(jìn)行解析即可。通過使用封裝好的類,可以大大降低編程的難度。

3.3 系統(tǒng)測試

(1)發(fā)送數(shù)據(jù)(上行數(shù)據(jù))測試

① 通過計(jì)算機(jī)、充電寶、手機(jī)充電器等提供的USB接口給監(jiān)測硬件供電;紅燈亮,LCD顯示芯片溫度“H0-xx.x”(見圖5(a)),時(shí)間約10 s。接著LCD顯示UE的15位SIM卡號(hào)(IMSI號(hào)),本次測試SIM號(hào)為:460040436505436(見圖5(b)、圖5(c))。由于LCD屏的尺寸限制,SIM號(hào)采用分兩屏顯示(間隔5 s),它將作為設(shè)備的唯一標(biāo)識(shí)。

圖5 上行數(shù)據(jù)測試

② 進(jìn)入主循環(huán),紅燈每秒閃爍一次,LCD顯示時(shí)間“hh.mm.ss”,每秒更新一次。在主循環(huán)運(yùn)行過程中,若按下觸摸按鍵(TSI),則LCD顯示“E1-x”,x為TSI觸摸次數(shù)。TSI每觸摸3次或時(shí)間每隔120 s時(shí),監(jiān)測系統(tǒng)通過信息郵局MPO向人機(jī)交互系統(tǒng)HCI發(fā)送數(shù)據(jù),LCD顯示“H1-1007”表示數(shù)據(jù)發(fā)送成功(見圖5(d))。若顯示“F.”則失敗,可能是基站信號(hào)較弱。

③ 在數(shù)據(jù)發(fā)送過程中,若能成功連接基站,則在LCD上顯示“H1-1003”與“H1-1004”之間會(huì)顯示提示“H1-xx”,其中xx為當(dāng)前信號(hào)強(qiáng)度(百分比表示),信號(hào)強(qiáng)度在70以上時(shí),通信較為流暢。

(2)下行數(shù)據(jù)測試

啟動(dòng)PC端程序,用戶服務(wù)器軟件將接收由基站發(fā)來的數(shù)據(jù),并完成對數(shù)據(jù)的解析,在用戶程序端可以查看光線強(qiáng)度、溫度、時(shí)間、信號(hào)強(qiáng)度等信息(見圖6)。對接收到的上行數(shù)據(jù)可做一定的修改,單擊回發(fā)按鈕,可將修改后的數(shù)據(jù)回發(fā)給基站,進(jìn)而回傳給監(jiān)測系統(tǒng)(見圖7),回發(fā)后若LCD顯示“H1-1009”,表示下行數(shù)據(jù)成功。

圖6 接收并解析數(shù)據(jù)

圖7 回發(fā)數(shù)據(jù)成功

結(jié) 語

猜你喜歡
接收數(shù)據(jù)微控制器郵局
沖激噪聲背景下基于幅度預(yù)處理的測向新方法*
郵局有位兇巴巴
低復(fù)雜度多輸入多輸出雷達(dá)目標(biāo)角度估計(jì)方法
2019年征訂通道全年開啟 請到當(dāng)?shù)剜]局(所)訂閱
物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
電子制作(2017年14期)2017-12-18 07:07:58
單片機(jī)模擬串口數(shù)據(jù)接收程序的實(shí)現(xiàn)及優(yōu)化
超重
Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
最新STM32設(shè)計(jì)工具增加對混合信號(hào)微控制器的支持
意法半導(dǎo)體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
江城| 丹江口市| 光山县| 齐齐哈尔市| 宁安市| 乐山市| 抚松县| 象州县| 甘孜| 南阳市| 尼玛县| 贺兰县| 海伦市| 宿松县| 南康市| 洞头县| 赤壁市| 洛隆县| 钟山县| 通海县| 哈巴河县| 石河子市| 巫山县| 灵宝市| 寻乌县| 锦州市| 乳源| 宣城市| 施秉县| 辽宁省| 青川县| 乌鲁木齐县| 辰溪县| 宽城| 河间市| 孝昌县| 茶陵县| 平舆县| 平原县| 镇江市| 平陆县|