基於窄帶物聯網應用架構的溫溼度控制系統設計

0 引言

窄帶物聯網(Narrow Band Internet of Things,NB-IoT)是第三代合作伙伴計劃(3GPP)於2016年6月完成其核心技術標準而實施的新一代物聯網通信技術,構建於蜂窩網絡,消耗的帶寬不會超過180 kHz,可直接部署於GSM網絡、UMTS網絡或者LTE網絡,能夠實現平滑升級[1-2]。相比4G網絡、ZigBee等短距離通信技術,NB-IoT技術有大容量、廣覆蓋、深穿透、低成本、低功耗等特點,能夠帶來更加豐富的應用場景,其可廣泛應用於遠程抄表、智慧農業、智能停車等應用領域,NB-IoT將會成為我國未來物聯網發展的主要趨勢[3-4]

由於NB-IoT技術的研究處於初期階段,為了解決在應用中存在可靠性和穩定性的問題,本文通過採用在NB-IoT應用架構下實現溫溼度控制系統的設計進行實驗論證。先從應用角度對NB-IoT進行分析研究,歸納出了NB-IoT應用架構,為系統設計提供了理論基礎。再根據應用架構功能要求對NB-IoT終端軟硬件設計,並在開發環境Visual Studio 2013下設計出人機交互系統,通過對溫溼度控制系統的實驗結果分析,可以得到NB-IoT技術在應用方面具有很好的穩定性和可靠性。

NB-IoT應用架構的建立是在抽取NB-IoT應用開發的共性,從具體到一般,把NB-IoT應用開發所涉及軟硬件體系的共性進行概括、歸納,建立與其相關知識要素的抽象模型,為由一般到具體提供理論與應用基礎,也為具體的NB-IoT應用開發提供技術基礎。經過分析研究,NB-IoT應用架構由NB-IoT終端(Ultimate-Equipment,UE)、NB-IoT信息郵局(Mssage Post Office,MPO)和NB-IoT人機交互系統(Human-Computer Interaction,HCI)三部分組成

[5],如圖1所示。

基于窄带物联网应用架构的温湿度控制系统设计

三部分之間的通信關係是:首先人機交互系統與信息郵局建立網絡連接,由人機交互系統向管理服務器提供通信所需的終端IMSI號。終端會根據管理服務器的IP地址、管理服務器面向終端的端口號以及IMSI號通過基站建立終端與管理服務器網絡連接,將數據發送給管理服務器。其次管理服務器接收到終端數據後,通過解析出IMSI號找到發送相同IMSI號的人機交互系統,把接收的數據傳送到人機交互系統。最後人機交互系統有一個專門負責偵聽管理服務器是否發送過來數據的線程,當偵聽到有數據發送來時,把這些數據進行解析和處理,這個過程就完成了終端發送數據到人機交互系統的通信。終端接收數據的過程與發送過程類似,這樣就實現了一次完整的通信過程。

2 終端系統設計

終端系統設計結構圖如圖2所示。微控制器選用恩智浦公司的MKL36Z64VLH4作為主控芯片,該芯片CPU工作頻率為48 MHz,工作電壓為1.71 V~3.6 V,額定工作電壓為3.3 V,並具有定時器、DMA、UART、TSI、16位ADC、12位DAC等模塊,能夠滿足NB-IoT硬件設計功能需求,負責數據採集、處理、分析以及與通信模塊通信連接等[6]。電源模塊為微控制器和GPRS提供工作電壓,溫溼度採集模塊是通過傳感器實時採集外部溫溼度,經過A/D模塊傳送到微控制器處理。GPIO模塊是通用I/O模塊,是微控制器與外部進行信息交換的接口。

基于窄带物联网应用架构的温湿度控制系统设计

2.1 終端硬件設計

在硬件設計時為了提高設計可重用性與可移植性,應該對所有使用到的硬件根據功能設計進行合理劃分,把與系統目標功能無關的進行個體構件封裝,然後把個體構件“組裝”,最終完成整個系統的硬件設計[7]。根據硬件設計方法,終端硬件設計包含有電源模塊、通信模塊、復位模塊、A/D模塊和溫溼度採集模塊等。在本文中重點介紹電源模塊、通信模塊和溫溼度採集模塊的設計。

2.1.1 電源模塊

電源模塊電路如圖3所示,在圖中TPS709系列芯片是低壓降線性穩壓器,工作輸入電壓範圍為2.7 V~30 V,輸出電壓範圍為1.5 V~6.5 V,輸出最大電流為150 mA,其中EN引腳為低電平時,芯片停止工作。TPS70933芯片為KL36提供3.3 V額定工作電壓,TPS70939芯片為通信模塊R518提供3.9 V工作電壓,為了能達到低功耗的目的,需要進行無線通信時,由MCU發出指令控制TPS70939芯片的EN引腳為高電平,向R518通信模塊供電3.9 V電壓,不需要通信模塊工作時,使EN引腳為低電平,TPS70939芯片停止工作。

基于窄带物联网应用架构的温湿度控制系统设计

2.1.2 溫溼度採集模塊

溫溼度採集選用Pt100鉑電阻傳感器,它具有微功耗、高可靠、高準確度等特點,在生活中的溫溼度測量方面得到廣泛應用。當溫度變化範圍在-40~60 ℃之間時,Pt100阻值變化範圍為84.27 Ω~123.24 Ω[8],溫度最大非線性偏差小於0.5 ℃。溼度範圍在0~100%時,溼度傳感器的輸出電壓範圍為0~1.0 V,兩者是正比關係,溼度信號的放大倍數為K=(R201+R202)/R202。溫溼度採樣電路如圖4所示。其中:RH+和RH-分別表示溼度傳感器電壓信號正向/反向輸入端,RT+和RT-分別表示溫度傳感器電壓信號正向/反向輸入端,PTE16/PTE17表示溼度/溫度傳感器電壓輸出信號提供給MCU。LM324為電路放大元件,工作電壓範圍為3.0 V~32 V,靜態電流小,單電源供電時放大倍數為1~100倍。

基于窄带物联网应用架构的温湿度控制系统设计

2.1.3 NB-IoT通信模塊

通信模塊選用的是具有高性能、低功耗的無線通信GPRS模塊R518芯片。R518芯片是一款工業級的兩頻段GSM/GPRS無線模塊,工作電壓為3.4 V~4.2 V,額定工作電壓為3.9 V,能提供GPRS數傳和GSM短信業務,內嵌豐富的網絡服務協議棧,完成無線通信功能[9]。NB-IoT通信模塊由R518芯片、輸入電壓保護電路和射頻電路組成,電路如圖5所示。在圖中,C301~C304組成輸入電壓保護電路,板載天線和P302組成無線射頻電路,P301是升級固件串口,TXD、RXD引腳連接KL36芯片引腳PTE0、PTE1用作通信串口。

基于窄带物联网应用架构的温湿度控制系统设计

圖5中電壓保護電路作用是:由於芯片R518工作電壓範圍為3.4 V~4.2 V,電源提供的電壓為3.9 V,在長期使用過程中輸入電壓會逐漸降低,為保證VBAT引腳電壓不會跌落到3.4 V以下,在靠近模塊VBAT輸入端,並聯一個C301=100 μF的鉭電容以及C302=100 nF、C303=33 pF、C304=10 pF的濾波電容,保障R518正常工作[9]。無線射頻電路的作用是接收無線信號,為了能夠更好地調節射頻性能,其中R301預留匹配電路使用,根據信號的強弱可以進行增減,載板天線是用來接收外部無線信號,P302連接外部天線使用,如果通過載板天線接收的信號不能達到工作要求時,可以通過P302連接外部天線增強無線信號。

2.2 終端軟件設計

將軟件構件技術應用到嵌入式軟件開發中,可以大大提高嵌入式的開發效率與穩定性。採用構件技術設計對底層驅動編程,可以提高軟件的開放性、通用性和移植性。根據模塊使用性能,終端構件如圖6所示。在設計時,構件包含頭文件(.h)和源程序文件(.c)兩部分。頭文件中主要含必要的引用文件、描述構件功能特性的宏定義語句以及聲明對外接口函數,源程序文件中含構件的頭文件、內部函數的聲明、對外接口函數的實現。

基于窄带物联网应用架构的温湿度控制系统设计

2.2.1 通信機制

根據NB-IoT應用架構可知,在通信中採用IP地址+IMSI號的方法分辨設備的終端,設備終端存在唯一的IP地址和IMSI號,在傳輸的數據包中加入目的終端的IP地址和IMSI號,來保證數據包到達目的終端並做出反應。為提高數據傳輸的正確性,採用幀結構來降低數據包在傳輸過程中出錯的概率,傳輸數據包一幀數據包由幀頭、幀長、有效數據、校驗碼以及幀尾組成,一幀數據長度有46個字節,具體幀格式如表1所示。

基于窄带物联网应用架构的温湿度控制系统设计

2.2.2 主程序設計

軟件構件設計完成後,在main函數中調用函數進行主程序設計,根據要求需要以下步驟:(1)聲明變量:聲明主函數中使用的變量類型和名稱;(2)關總中斷:為了避免程序在開始運行時還有其他中斷程序在運行,影響主函數運行;(3)初始化外設模塊:需要使用的外設模塊初始化完成後,模塊等待調用;(4)給部分聲明變量賦初始值;(5)使能外設模塊中斷:打開需要使用外設函數中斷的設置,當有中斷產生時調用中斷函數;(6)打開總中斷,有中斷產生時能執行中斷函數;(7)主循環函數編程,主循環流程圖如圖7所示。

基于窄带物联网应用架构的温湿度控制系统设计

3 人機交互系統設計

人機交互系統設計開發環境為Visual Studio 2012,採用C#語言,C#是一種安全、穩定、簡單的面向對象的編程語言,使用.NET Framework的Windows Forms模塊生成具有Windows外觀和操作方式的應用程序。Windows Forms模塊是一個空間庫,其中的控件(例如按鈕、工具欄、菜單等)用於建立Windows用戶界面[10-11]。在啟動界面時,界面初始化過程流程圖如圖8所示。

基于窄带物联网应用架构的温湿度控制系统设计

在界面初始化過程流程圖中,判斷PC是否連接互聯網成功,通過拼接外部網站進行驗證,如果拼接成功,證明該PC已經連接,否則,連接失敗,結束初始化過程。加載在窗體上顯示的信息在AHL.xml文檔中,內容有窗體名、工程名、IP地址、端口號、IMSI號等信息。在讀出AHL.xml文檔中內容時,需要判斷數據是否完全正確,當出現錯誤時,給出相應的提示,並退出初始化程序。數據讀取成功後,實現數據的傳輸一定與轉發服務器建立TCP連接。

4 通信測試分析

通信測試監控界面能否接收到通過服務器上傳給GPRS模塊R518芯片發送MCU的芯片溫度、系統時間、IMSI號和服務器IP地址等信息。通過AT指令從通信模塊中獲得IMSI號和服務器IP地址等信息,通過讀取A/D模塊的通道採樣獲得經過轉換後的溫溼度值。在通信測試時,先啟動監控界面,當終端UE上電時,終端模塊進行一系列的初始化,建立與接收服務器的通信連接,等待終端UE發送數據至監控界面,需要等待1 min左右就能接收到發送來的數據。溫溼數據值每10 min採集一次,本次實驗時間大約進行12 h,具體生成溫溼度曲線如圖9、圖10所示。通過生成的實時溫溼度曲線可以看出,數據採集穩定,系統運行可靠,進一步驗證了系統設計的可靠性和穩定性。

基于窄带物联网应用架构的温湿度控制系统设计基于窄带物联网应用架构的温湿度控制系统设计

5 結論

本文介紹了在NB-IoT應用架構下進行溫溼度採集的控制系統設計,詳細分析了NB-IoT的硬件設計過程和軟件設計方法,依據KL36芯片和GPRS模塊進行硬件設計,並採用構件化方法進行軟件設計,提高了系統設計的可移植性和可重複性。通過人機交互系統的控制界面設計,實現對溫溼度值參數的實時監控,實驗結果證明了NB-IoT技術具有穩定性和可靠性。該控制系統在實際運行過程中,軟硬件功能都得到測試,運行可靠、穩定,為NB-IoT技術應用在農業監控、智能燃氣表等提供技術支持和參考價值。

參考文獻

[1] 候海風.NB-IoT關鍵技術及應用前景[J].通訊世界,2017(14);1-2.

[2] 蘇雄生.NB-IoT技術與應用展望[J].電信快報,2017(5):6-8.

[3] 何澤鵬.基於蜂窩的窄帶物聯網(NB-IoT)技術性能及應用[J].廣東通信技術,2017(3):29-34.

[4] 劉全德,傅子維.窄帶物聯網建設方案研究[J].廣東通信技術,2017(7):22-25.

[5] 王宜懷,劉輝,張建.窄帶物聯網NB-IoT應用架構[Z].蘇州大學計算機科學技術學院,2017.

[6] Freescale.KL36 Sub-Family Reference Manual[DB/OL].[2013-12-12].http://www.Freescale.com.

[7] 王宜懷,吳瑾,文瑾.嵌入式技術基礎與實踐(第4版)[M].北京:清華大學出版社,2017.

[8] 鄭保,成鵬展,張建蘭.提高鉑電阻溫度計測量精度的方法研究[J].計測技術,2006,26(1):56-59.

[9] GPRS系列:R518硬件設計手冊[Z].2016.

[10] 鄭阿奇,梁敬東.C#程序設計教程(第3版)[M].北京:機械工業出版社,2015.

[11] 白聰,王宜懷,司蕭俊.基於KW01-ZigBee+GPRS的無線氣象監控系統的設計與實現[J].現代電子技術,2017,9(18):70-74.

作者信息:

楊 凡1,2,王宜懷1,宋洪儒1,3

(1.蘇州大學 計算機科學與技術學院,江蘇 蘇州215006;

2.銅陵學院 數學與計算機學院,安徽 銅陵244000;3.銅陵學院 電氣工程學院,安徽 銅陵244000)


分享到:


相關文章: