文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.174988
中文引用格式: 楊凡,王宜懷,宋洪儒. 基于窄帶物聯(lián)網(wǎng)應(yīng)用架構(gòu)的溫濕度控制系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,44(7):59-63.
英文引用格式: Yang Fan,Wang Yihuai,Song Hongru. Design of temperature and humidity control system based on narrow band Internet of things application architecture[J]. Application of Electronic Technique,2018,44(7):59-63.
0 引言
窄帶物聯(lián)網(wǎng)(Narrow Band Internet of Things,NB-IoT)是第三代合作伙伴計(jì)劃(3GPP)于2016年6月完成其核心技術(shù)標(biāo)準(zhǔn)而實(shí)施的新一代物聯(lián)網(wǎng)通信技術(shù),構(gòu)建于蜂窩網(wǎng)絡(luò),消耗的帶寬不會超過180 kHz,可直接部署于GSM網(wǎng)絡(luò)、UMTS網(wǎng)絡(luò)或者LTE網(wǎng)絡(luò),能夠?qū)崿F(xiàn)平滑升級[1-2]。相比4G網(wǎng)絡(luò)、ZigBee等短距離通信技術(shù),NB-IoT技術(shù)有大容量、廣覆蓋、深穿透、低成本、低功耗等特點(diǎn),能夠帶來更加豐富的應(yīng)用場景,其可廣泛應(yīng)用于遠(yuǎn)程抄表、智慧農(nóng)業(yè)、智能停車等應(yīng)用領(lǐng)域,NB-IoT將會成為我國未來物聯(lián)網(wǎng)發(fā)展的主要趨勢[3-4]。
由于NB-IoT技術(shù)的研究處于初期階段,為了解決在應(yīng)用中存在可靠性和穩(wěn)定性的問題,本文通過采用在NB-IoT應(yīng)用架構(gòu)下實(shí)現(xiàn)溫濕度控制系統(tǒng)的設(shè)計(jì)進(jìn)行實(shí)驗(yàn)論證。先從應(yīng)用角度對NB-IoT進(jìn)行分析研究,歸納出了NB-IoT應(yīng)用架構(gòu),為系統(tǒng)設(shè)計(jì)提供了理論基礎(chǔ)。再根據(jù)應(yīng)用架構(gòu)功能要求對NB-IoT終端軟硬件設(shè)計(jì),并在開發(fā)環(huán)境Visual Studio 2013下設(shè)計(jì)出人機(jī)交互系統(tǒng),通過對溫濕度控制系統(tǒng)的實(shí)驗(yàn)結(jié)果分析,可以得到NB-IoT技術(shù)在應(yīng)用方面具有很好的穩(wěn)定性和可靠性。
1 NB-IoT應(yīng)用架構(gòu)
NB-IoT應(yīng)用架構(gòu)的建立是在抽取NB-IoT應(yīng)用開發(fā)的共性,從具體到一般,把NB-IoT應(yīng)用開發(fā)所涉及軟硬件體系的共性進(jìn)行概括、歸納,建立與其相關(guān)知識要素的抽象模型,為由一般到具體提供理論與應(yīng)用基礎(chǔ),也為具體的NB-IoT應(yīng)用開發(fā)提供技術(shù)基礎(chǔ)。經(jīng)過分析研究,NB-IoT應(yīng)用架構(gòu)由NB-IoT終端(Ultimate-Equipment,UE)、NB-IoT信息郵局(Mssage Post Office,MPO)和NB-IoT人機(jī)交互系統(tǒng)(Human-Computer Interaction,HCI)三部分組成[5],如圖1所示。
三部分之間的通信關(guān)系是:首先人機(jī)交互系統(tǒng)與信息郵局建立網(wǎng)絡(luò)連接,由人機(jī)交互系統(tǒng)向管理服務(wù)器提供通信所需的終端IMSI號。終端會根據(jù)管理服務(wù)器的IP地址、管理服務(wù)器面向終端的端口號以及IMSI號通過基站建立終端與管理服務(wù)器網(wǎng)絡(luò)連接,將數(shù)據(jù)發(fā)送給管理服務(wù)器。其次管理服務(wù)器接收到終端數(shù)據(jù)后,通過解析出IMSI號找到發(fā)送相同IMSI號的人機(jī)交互系統(tǒng),把接收的數(shù)據(jù)傳送到人機(jī)交互系統(tǒng)。最后人機(jī)交互系統(tǒng)有一個專門負(fù)責(zé)偵聽管理服務(wù)器是否發(fā)送過來數(shù)據(jù)的線程,當(dāng)偵聽到有數(shù)據(jù)發(fā)送來時,把這些數(shù)據(jù)進(jìn)行解析和處理,這個過程就完成了終端發(fā)送數(shù)據(jù)到人機(jī)交互系統(tǒng)的通信。終端接收數(shù)據(jù)的過程與發(fā)送過程類似,這樣就實(shí)現(xiàn)了一次完整的通信過程。
2 終端系統(tǒng)設(shè)計(jì)
終端系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖如圖2所示。微控制器選用恩智浦公司的MKL36Z64VLH4作為主控芯片,該芯片CPU工作頻率為48 MHz,工作電壓為1.71 V~3.6 V,額定工作電壓為3.3 V,并具有定時器、DMA、UART、TSI、16位ADC、12位DAC等模塊,能夠滿足NB-IoT硬件設(shè)計(jì)功能需求,負(fù)責(zé)數(shù)據(jù)采集、處理、分析以及與通信模塊通信連接等[6]。電源模塊為微控制器和GPRS提供工作電壓,溫濕度采集模塊是通過傳感器實(shí)時采集外部溫濕度,經(jīng)過A/D模塊傳送到微控制器處理。GPIO模塊是通用I/O模塊,是微控制器與外部進(jìn)行信息交換的接口。
2.1 終端硬件設(shè)計(jì)
在硬件設(shè)計(jì)時為了提高設(shè)計(jì)可重用性與可移植性,應(yīng)該對所有使用到的硬件根據(jù)功能設(shè)計(jì)進(jìn)行合理劃分,把與系統(tǒng)目標(biāo)功能無關(guān)的進(jìn)行個體構(gòu)件封裝,然后把個體構(gòu)件“組裝”,最終完成整個系統(tǒng)的硬件設(shè)計(jì)[7]。根據(jù)硬件設(shè)計(jì)方法,終端硬件設(shè)計(jì)包含有電源模塊、通信模塊、復(fù)位模塊、A/D模塊和溫濕度采集模塊等。在本文中重點(diǎn)介紹電源模塊、通信模塊和溫濕度采集模塊的設(shè)計(jì)。
2.1.1 電源模塊
電源模塊電路如圖3所示,在圖中TPS709系列芯片是低壓降線性穩(wěn)壓器,工作輸入電壓范圍為2.7 V~30 V,輸出電壓范圍為1.5 V~6.5 V,輸出最大電流為150 mA,其中EN引腳為低電平時,芯片停止工作。TPS70933芯片為KL36提供3.3 V額定工作電壓,TPS70939芯片為通信模塊R518提供3.9 V工作電壓,為了能達(dá)到低功耗的目的,需要進(jìn)行無線通信時,由MCU發(fā)出指令控制TPS70939芯片的EN引腳為高電平,向R518通信模塊供電3.9 V電壓,不需要通信模塊工作時,使EN引腳為低電平,TPS70939芯片停止工作。
2.1.2 溫濕度采集模塊
溫濕度采集選用Pt100鉑電阻傳感器,它具有微功耗、高可靠、高準(zhǔn)確度等特點(diǎn),在生活中的溫濕度測量方面得到廣泛應(yīng)用。當(dāng)溫度變化范圍在-40~60 ℃之間時,Pt100阻值變化范圍為84.27 Ω~123.24 Ω[8],溫度最大非線性偏差小于0.5 ℃。濕度范圍在0~100%時,濕度傳感器的輸出電壓范圍為0~1.0 V,兩者是正比關(guān)系,濕度信號的放大倍數(shù)為K=(R201+R202)/R202。溫濕度采樣電路如圖4所示。其中:RH+和RH-分別表示濕度傳感器電壓信號正向/反向輸入端,RT+和RT-分別表示溫度傳感器電壓信號正向/反向輸入端,PTE16/PTE17表示濕度/溫度傳感器電壓輸出信號提供給MCU。LM324為電路放大元件,工作電壓范圍為3.0 V~32 V,靜態(tài)電流小,單電源供電時放大倍數(shù)為1~100倍。
2.1.3 NB-IoT通信模塊
通信模塊選用的是具有高性能、低功耗的無線通信GPRS模塊R518芯片。R518芯片是一款工業(yè)級的兩頻段GSM/GPRS無線模塊,工作電壓為3.4 V~4.2 V,額定工作電壓為3.9 V,能提供GPRS數(shù)傳和GSM短信業(yè)務(wù),內(nèi)嵌豐富的網(wǎng)絡(luò)服務(wù)協(xié)議棧,完成無線通信功能[9]。NB-IoT通信模塊由R518芯片、輸入電壓保護(hù)電路和射頻電路組成,電路如圖5所示。在圖中,C301~C304組成輸入電壓保護(hù)電路,板載天線和P302組成無線射頻電路,P301是升級固件串口,TXD、RXD引腳連接KL36芯片引腳PTE0、PTE1用作通信串口。
圖5中電壓保護(hù)電路作用是:由于芯片R518工作電壓范圍為3.4 V~4.2 V,電源提供的電壓為3.9 V,在長期使用過程中輸入電壓會逐漸降低,為保證VBAT引腳電壓不會跌落到3.4 V以下,在靠近模塊VBAT輸入端,并聯(lián)一個C301=100 μF的鉭電容以及C302=100 nF、C303=33 pF、C304=10 pF的濾波電容,保障R518正常工作[9]。無線射頻電路的作用是接收無線信號,為了能夠更好地調(diào)節(jié)射頻性能,其中R301預(yù)留匹配電路使用,根據(jù)信號的強(qiáng)弱可以進(jìn)行增減,載板天線是用來接收外部無線信號,P302連接外部天線使用,如果通過載板天線接收的信號不能達(dá)到工作要求時,可以通過P302連接外部天線增強(qiáng)無線信號。
2.2 終端軟件設(shè)計(jì)
將軟件構(gòu)件技術(shù)應(yīng)用到嵌入式軟件開發(fā)中,可以大大提高嵌入式的開發(fā)效率與穩(wěn)定性。采用構(gòu)件技術(shù)設(shè)計(jì)對底層驅(qū)動編程,可以提高軟件的開放性、通用性和移植性。根據(jù)模塊使用性能,終端構(gòu)件如圖6所示。在設(shè)計(jì)時,構(gòu)件包含頭文件(.h)和源程序文件(.c)兩部分。頭文件中主要含必要的引用文件、描述構(gòu)件功能特性的宏定義語句以及聲明對外接口函數(shù),源程序文件中含構(gòu)件的頭文件、內(nèi)部函數(shù)的聲明、對外接口函數(shù)的實(shí)現(xiàn)。
2.2.1 通信機(jī)制
根據(jù)NB-IoT應(yīng)用架構(gòu)可知,在通信中采用IP地址+IMSI號的方法分辨設(shè)備的終端,設(shè)備終端存在唯一的IP地址和IMSI號,在傳輸?shù)臄?shù)據(jù)包中加入目的終端的IP地址和IMSI號,來保證數(shù)據(jù)包到達(dá)目的終端并做出反應(yīng)。為提高數(shù)據(jù)傳輸?shù)恼_性,采用幀結(jié)構(gòu)來降低數(shù)據(jù)包在傳輸過程中出錯的概率,傳輸數(shù)據(jù)包一幀數(shù)據(jù)包由幀頭、幀長、有效數(shù)據(jù)、校驗(yàn)碼以及幀尾組成,一幀數(shù)據(jù)長度有46個字節(jié),具體幀格式如表1所示。
2.2.2 主程序設(shè)計(jì)
軟件構(gòu)件設(shè)計(jì)完成后,在main()函數(shù)中調(diào)用函數(shù)進(jìn)行主程序設(shè)計(jì),根據(jù)要求需要以下步驟:(1)聲明變量:聲明主函數(shù)中使用的變量類型和名稱;(2)關(guān)總中斷:為了避免程序在開始運(yùn)行時還有其他中斷程序在運(yùn)行,影響主函數(shù)運(yùn)行;(3)初始化外設(shè)模塊:需要使用的外設(shè)模塊初始化完成后,模塊等待調(diào)用;(4)給部分聲明變量賦初始值;(5)使能外設(shè)模塊中斷:打開需要使用外設(shè)函數(shù)中斷的設(shè)置,當(dāng)有中斷產(chǎn)生時調(diào)用中斷函數(shù);(6)打開總中斷,有中斷產(chǎn)生時能執(zhí)行中斷函數(shù);(7)主循環(huán)函數(shù)編程,主循環(huán)流程圖如圖7所示。
3 人機(jī)交互系統(tǒng)設(shè)計(jì)
人機(jī)交互系統(tǒng)設(shè)計(jì)開發(fā)環(huán)境為Visual Studio 2012,采用C#語言,C#是一種安全、穩(wěn)定、簡單的面向?qū)ο蟮木幊陶Z言,使用.NET Framework的Windows Forms模塊生成具有Windows外觀和操作方式的應(yīng)用程序。Windows Forms模塊是一個空間庫,其中的控件(例如按鈕、工具欄、菜單等)用于建立Windows用戶界面[10-11]。在啟動界面時,界面初始化過程流程圖如圖8所示。
在界面初始化過程流程圖中,判斷PC是否連接互聯(lián)網(wǎng)成功,通過拼接外部網(wǎng)站進(jìn)行驗(yàn)證,如果拼接成功,證明該P(yáng)C已經(jīng)連接,否則,連接失敗,結(jié)束初始化過程。加載在窗體上顯示的信息在AHL.xml文檔中,內(nèi)容有窗體名、工程名、IP地址、端口號、IMSI號等信息。在讀出AHL.xml文檔中內(nèi)容時,需要判斷數(shù)據(jù)是否完全正確,當(dāng)出現(xiàn)錯誤時,給出相應(yīng)的提示,并退出初始化程序。數(shù)據(jù)讀取成功后,實(shí)現(xiàn)數(shù)據(jù)的傳輸一定與轉(zhuǎn)發(fā)服務(wù)器建立TCP連接。
4 通信測試分析
通信測試監(jiān)控界面能否接收到通過服務(wù)器上傳給GPRS模塊R518芯片發(fā)送MCU的芯片溫度、系統(tǒng)時間、IMSI號和服務(wù)器IP地址等信息。通過AT指令從通信模塊中獲得IMSI號和服務(wù)器IP地址等信息,通過讀取A/D模塊的通道采樣獲得經(jīng)過轉(zhuǎn)換后的溫濕度值。在通信測試時,先啟動監(jiān)控界面,當(dāng)終端UE上電時,終端模塊進(jìn)行一系列的初始化,建立與接收服務(wù)器的通信連接,等待終端UE發(fā)送數(shù)據(jù)至監(jiān)控界面,需要等待1 min左右就能接收到發(fā)送來的數(shù)據(jù)。溫濕數(shù)據(jù)值每10 min采集一次,本次實(shí)驗(yàn)時間大約進(jìn)行12 h,具體生成溫濕度曲線如圖9、圖10所示。通過生成的實(shí)時溫濕度曲線可以看出,數(shù)據(jù)采集穩(wěn)定,系統(tǒng)運(yùn)行可靠,進(jìn)一步驗(yàn)證了系統(tǒng)設(shè)計(jì)的可靠性和穩(wěn)定性。
5 結(jié)論
本文介紹了在NB-IoT應(yīng)用架構(gòu)下進(jìn)行溫濕度采集的控制系統(tǒng)設(shè)計(jì),詳細(xì)分析了NB-IoT的硬件設(shè)計(jì)過程和軟件設(shè)計(jì)方法,依據(jù)KL36芯片和GPRS模塊進(jìn)行硬件設(shè)計(jì),并采用構(gòu)件化方法進(jìn)行軟件設(shè)計(jì),提高了系統(tǒng)設(shè)計(jì)的可移植性和可重復(fù)性。通過人機(jī)交互系統(tǒng)的控制界面設(shè)計(jì),實(shí)現(xiàn)對溫濕度值參數(shù)的實(shí)時監(jiān)控,實(shí)驗(yàn)結(jié)果證明了NB-IoT技術(shù)具有穩(wěn)定性和可靠性。該控制系統(tǒng)在實(shí)際運(yùn)行過程中,軟硬件功能都得到測試,運(yùn)行可靠、穩(wěn)定,為NB-IoT技術(shù)應(yīng)用在農(nóng)業(yè)監(jiān)控、智能燃?xì)獗淼忍峁┘夹g(shù)支持和參考價值。
參考文獻(xiàn)
[1] 候海風(fēng).NB-IoT關(guān)鍵技術(shù)及應(yīng)用前景[J].通訊世界,2017(14);1-2.
[2] 蘇雄生.NB-IoT技術(shù)與應(yīng)用展望[J].電信快報(bào),2017(5):6-8.
[3] 何澤鵬.基于蜂窩的窄帶物聯(lián)網(wǎng)(NB-IoT)技術(shù)性能及應(yīng)用[J].廣東通信技術(shù),2017(3):29-34.
[4] 劉全德,傅子維.窄帶物聯(lián)網(wǎng)建設(shè)方案研究[J].廣東通信技術(shù),2017(7):22-25.
[5] 王宜懷,劉輝,張建.窄帶物聯(lián)網(wǎng)NB-IoT應(yīng)用架構(gòu)[Z].蘇州大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,2017.
[6] Freescale.KL36 Sub-Family Reference Manual[DB/OL].[2013-12-12].http://www.Freescale.com.
[7] 王宜懷,吳瑾,文瑾.嵌入式技術(shù)基礎(chǔ)與實(shí)踐(第4版)[M].北京:清華大學(xué)出版社,2017.
[8] 鄭保,成鵬展,張建蘭.提高鉑電阻溫度計(jì)測量精度的方法研究[J].計(jì)測技術(shù),2006,26(1):56-59.
[9] GPRS系列:R518硬件設(shè)計(jì)手冊[Z].2016.
[10] 鄭阿奇,梁敬東.C#程序設(shè)計(jì)教程(第3版)[M].北京:機(jī)械工業(yè)出版社,2015.
[11] 白聰,王宜懷,司蕭俊.基于KW01-ZigBee+GPRS的無線氣象監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2017,9(18):70-74.
作者信息:
楊 凡1,2,王宜懷1,宋洪儒1,3
(1.蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州215006;
2.銅陵學(xué)院 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,安徽 銅陵244000;3.銅陵學(xué)院 電氣工程學(xué)院,安徽 銅陵244000)