辛慧娟, 肖軍
(1.陜西工業(yè)職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院, 陜西 咸陽 712000;2.西安航空學(xué)院 電子工程學(xué)院, 陜西 西安 710077)
隨著社會的發(fā)展、科技水平的飛速提升,信息數(shù)字化的傳播,數(shù)據(jù)采集正邁向智能化、網(wǎng)絡(luò)化。傳統(tǒng)的數(shù)據(jù)采集裝置,是通過人工測量數(shù)據(jù),并且人工收集數(shù)據(jù),然后再整理數(shù)據(jù)輸入到PC機處理和分析。很顯然傳統(tǒng)數(shù)據(jù)采集方式工作繁重,誤差較大,準(zhǔn)確性不高,實時性差。數(shù)據(jù)采集系統(tǒng)可以提高數(shù)據(jù)采集的準(zhǔn)確性和實時性,同時儲存在數(shù)據(jù)庫的數(shù)據(jù)也方便調(diào)用。在實際使用中,數(shù)據(jù)采集系統(tǒng)需要與網(wǎng)絡(luò)相連。網(wǎng)絡(luò)接入包括有線接入和無線接入。無線接入法是通過網(wǎng)絡(luò)服務(wù)器發(fā)布無線連接信號,利用微波和衛(wèi)星將系統(tǒng)接入到網(wǎng)絡(luò)中。研究發(fā)現(xiàn)傳統(tǒng)的接入法存在運行時間長、誤傳率高的問題[1]。
物聯(lián)網(wǎng)技術(shù)、嵌入式技術(shù)和傳感器技術(shù)已成為信息產(chǎn)業(yè)的發(fā)展方向。無線傳感器網(wǎng)絡(luò)(WSN)在智能家居、智慧農(nóng)業(yè)、智慧交通、災(zāi)情監(jiān)控等方面的應(yīng)用越來越廣泛。結(jié)合無線傳感器網(wǎng)絡(luò)協(xié)議和物聯(lián)網(wǎng)技術(shù)進行物聯(lián)網(wǎng)組網(wǎng)優(yōu)化設(shè)計,在監(jiān)測區(qū)域中,布置大量傳感器,對數(shù)據(jù)優(yōu)化采集,已到達在監(jiān)控區(qū)域內(nèi)信息監(jiān)測和控制能力的提升。本文結(jié)合物聯(lián)網(wǎng)技術(shù)、嵌入式技術(shù)和傳感器技術(shù),設(shè)計了一款基于NB-IoT技術(shù)的數(shù)據(jù)采集系統(tǒng),該系統(tǒng)具有成本低、低功耗的特點,可應(yīng)用于各個領(lǐng)域,可以實現(xiàn)監(jiān)控區(qū)域信息的無線采集、傳輸、處理,將數(shù)據(jù)存儲于服務(wù)器端的數(shù)據(jù)庫,并且可以實現(xiàn)PC終端的信息交互,使監(jiān)控人員隨時可以使用各種能聯(lián)網(wǎng)的設(shè)備獲取現(xiàn)場狀況[2-4]。
本文所設(shè)計的基于NB-IoT數(shù)據(jù)采集系統(tǒng),是以32位的Cortex-M4系列微處理器作為核心控制器,結(jié)合各個功能模塊的電路,以基于NB-IoT通信技術(shù),達到完成對多種參數(shù)(溫度、濕度、二氧化碳、一氧化碳等)進行測量與實時監(jiān)測。在設(shè)計硬件電路時,將主控制器外圍電路劃分為不同的獨立模塊,不如:數(shù)據(jù)采集模塊(或傳感器模塊)、攝像頭模塊、NB-IoT通信模塊、電源電路模塊、時鐘電路、復(fù)位電路等,這些模塊都是圍繞STM32微處理器運行的。
物聯(lián)網(wǎng)技術(shù)是互聯(lián)網(wǎng)技術(shù)的一項革新應(yīng)用,也是延伸。物聯(lián)網(wǎng)就是通過感知元件采集物品的一些信息,進行傳輸,結(jié)合互聯(lián)網(wǎng)技術(shù),進行信息交換和處理,最終實現(xiàn)實時監(jiān)測物品和管理。感知元件和互聯(lián)網(wǎng)是物聯(lián)網(wǎng)技術(shù)的關(guān)鍵,感知元件定義為感知層,能夠?qū)⑽锲返臓顟B(tài)上傳至互聯(lián)網(wǎng),最終將信息傳遞給客戶端。
目前,常用的無線通信技術(shù)有Wifi、藍(lán)牙、Zigbee等[5]。Wifi是一種無線局域網(wǎng)接入技術(shù),采用802.11協(xié)議,網(wǎng)絡(luò)覆蓋100米左右,功耗大[6]。藍(lán)牙技術(shù)是短距離的無線通信技術(shù),傳輸半徑只有10米,可以實現(xiàn)點對點或一點對多點的通信,具有低功耗、低成本、抗干擾能力較弱等特點[7]。Zigbee技術(shù)采用IEEE802.15.4標(biāo)準(zhǔn),傳輸距離在10~100 m,具有低功耗、低成本等特點[8]。窄帶物聯(lián)網(wǎng)(NB-IoT)是全新窄帶無線接入技術(shù),通常也被叫作低功耗廣域網(wǎng)(LPWAN)。NB-IoT是在LTE基礎(chǔ)上發(fā)展起來的,NB-IoT帶寬為 180 kHz,上下行速率不超過250 kbit/s,NB-IoT終端類型為Cat.NB1。NB-IoT網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。
圖1 NB-IoT組網(wǎng)圖
其中包括NB-IoT終端,NB-IoT基站,NB-IoT核心網(wǎng),NB-IoT云平臺和垂直行業(yè)中心。NB-IOT技術(shù)與其他技術(shù)相比,網(wǎng)絡(luò)覆蓋面提升了;NB-IoT電池可以支撐十年,大大降低了功耗。綜上所述,本系統(tǒng)采用NB-IoT通信協(xié)議[9-11]。
STM32單片機與其他單片機比較,具有價格低、功能強、開發(fā)方便等特點。本系統(tǒng)采用STM32F407單片機,STM32F407是32位高性能微控制器,具有CortexTM-M4架構(gòu),抗干擾能力強,使用獨立的數(shù)據(jù)總線和指令總線。其主頻為168 MHz,自帶DCMI接口,能夠接收外部CMOS攝像頭模塊發(fā)出的高速數(shù)據(jù)流。該架構(gòu)含有好多個總線接口,都可以對自己的應(yīng)用進行優(yōu)化。利用STM32對采集到的多種數(shù)據(jù)信息進行處理后,將已處理數(shù)據(jù)通過NB-IoT無線通信發(fā)送到網(wǎng)絡(luò)平臺。
NB-IoT是窄帶物聯(lián)網(wǎng)技術(shù),也被稱為低功耗廣域網(wǎng)。目前NB-IoT的帶寬消耗已降至180 kHz,因為其優(yōu)點比較突出,所以可以將NB-IoT部署在GSM網(wǎng)絡(luò)、UMTS網(wǎng)絡(luò)和LTE網(wǎng)絡(luò)中。該系統(tǒng)NB-IoT模塊采用5 V供電,每15 min向外發(fā)射信號一次。STM32單片機與NB-IoT模塊相連,NB-IoT模塊與網(wǎng)絡(luò)相連,將數(shù)據(jù)信息傳送到后臺,實現(xiàn)雙向透明傳輸。
OV2640是一款CMOS圖像傳感器,自帶JPEG輸出功能。STM32F407自帶同步并行數(shù)字?jǐn)z像頭(DCMI)接口,與OV2640連接,可以控制數(shù)據(jù)傳輸方式、圖像質(zhì)量和設(shè)置數(shù)據(jù)格式。同時能夠以DMA的方式接收攝像頭發(fā)出的高速數(shù)據(jù)流,降低了CPU的工作量,大大減少了圖像處理的數(shù)據(jù)量,靈敏度高。
傳感器模塊主要包括溫濕度傳感器(DHT11)、一氧化碳傳感器(MQ-7)、二氧化碳傳感器(MG-811)。各模塊監(jiān)測周圍環(huán)境中對應(yīng)參數(shù)值。各傳感器與主控芯片STM32相連接,各傳感器將被測模擬信號轉(zhuǎn)變?yōu)榭杀籗TM32處理的數(shù)字信號,并將數(shù)據(jù)通過NB-IoT無線通信傳輸?shù)皆破脚_。各傳感器將采集的數(shù)據(jù)傳給STM32,STM32對這些數(shù)據(jù)進行校驗,這樣就有效的提高了數(shù)據(jù)傳輸?shù)恼_性[12]。
本系統(tǒng)使用LDO低壓差模擬電源芯片AMS1117-3.3,該芯片工作特性是:當(dāng)輸入電壓在4.8~10 V之間時,能輸出3.3 V的穩(wěn)定電壓。本系統(tǒng)中芯片與傳感器所需電壓都為3.3 V,模塊提供的是5 V直流電,可以通過該穩(wěn)壓芯片把電壓降到3.3 V,其穩(wěn)定性較高,功耗較低,能夠給系統(tǒng)提供穩(wěn)定的電壓。電源電路原理,如圖2所示。
圖2 電源電路原理圖
該系統(tǒng)軟件設(shè)計主要包括終端數(shù)據(jù)采集與數(shù)據(jù)通信協(xié)議設(shè)計、IOT云平臺以及客戶端軟件設(shè)計。為了移植方便,該系統(tǒng)采用C語言編寫,使用Keil uVision5軟件編譯。并且使用軟件構(gòu)件技術(shù)設(shè)計底層驅(qū)動程序,可以提高軟件的開放性、移植性、通用性以及系統(tǒng)穩(wěn)定性。根據(jù)模塊功能,終端構(gòu)件,如圖3所示。
構(gòu)件設(shè)計包含源程序文件(.c)和頭文件(.h) 兩部分。主程序設(shè)計過程,如圖4所示。
主程序設(shè)計在main()函數(shù)中調(diào)用函數(shù),主要進行聲明主函數(shù)中變量類型和名稱,關(guān)總中斷;進行系統(tǒng)初始化,初始化各個模塊;調(diào)用傳感器模塊采集的參數(shù),根據(jù)設(shè)定的閾值判斷采集數(shù)據(jù)是否正常[13-16]。
本系統(tǒng)在采集終端和IOT云平臺之間采用了CoAP通信協(xié)議,該協(xié)議是一種應(yīng)用層通信協(xié)議,波特率為9 600 bit/s。通信時,首先與IOT云平臺服務(wù)器建立連接,接入網(wǎng)絡(luò)后再進行數(shù)據(jù)傳輸。CoAP通信協(xié)議最小數(shù)據(jù)包僅為4字節(jié),可實現(xiàn)微型機之間的通信。數(shù)據(jù)發(fā)送格式采用CRC校驗,提高了數(shù)據(jù)的準(zhǔn)確性。
圖4 主程序流程圖
根據(jù)NB-IoT通信技術(shù)的架構(gòu)可知,在通信中,終端設(shè)備的識別是采用IP地址+IMSI號的方法,每個終端設(shè)備有且只有一個IMSI號,給傳輸?shù)臄?shù)據(jù)包加入目的IP地址,以保證通信的有效進行。通信中一幀數(shù)據(jù)格式:幀頭占2字節(jié)、傳輸數(shù)據(jù)占32字節(jié)、IP地址占15字節(jié)、IMSI號占15字節(jié)、驗證碼占2字節(jié)、幀尾占2字節(jié)。該幀結(jié)構(gòu)可以提高數(shù)據(jù)傳輸?shù)恼_性。為了保證數(shù)據(jù)模塊通信成功,設(shè)置了重復(fù)發(fā)送的次數(shù),有效避免外界干擾引起的傳輸失敗。
為了檢測該系統(tǒng)的穩(wěn)定性和準(zhǔn)確性,實際搭建了模擬仿真實驗平臺。將傳感器所采集的濕度、溫度、一氧化碳以及二氧化碳等參數(shù),通過NB-IoT核心網(wǎng)和云平臺每隔6分鐘發(fā)送到監(jiān)測中心的PC機的檢測界面中,進行操作和觀察。經(jīng)反復(fù)實驗分析,該系統(tǒng)數(shù)據(jù)傳輸中沒有產(chǎn)生丟包的現(xiàn)象,運行較穩(wěn)定,數(shù)據(jù)比較準(zhǔn)確。
本文結(jié)合物聯(lián)網(wǎng)技術(shù)、嵌入式技術(shù)和傳感器技術(shù),設(shè)計了基于NB-IoT的多傳感器數(shù)據(jù)采集系統(tǒng),并通過硬件模塊和軟件功能模塊的設(shè)計,運用云平臺技術(shù),最終實現(xiàn)了無線通信的數(shù)據(jù)采集系統(tǒng),能對溫濕度、一氧化碳以及二氧化碳進行實時監(jiān)控。通過實驗表明:該方案能夠快速地對環(huán)境進行數(shù)據(jù)采集,且運行穩(wěn)定,數(shù)據(jù)采集準(zhǔn)確,達到了設(shè)計之初的要求,并且具有通用性和擴展性。