聶 琿,陳海峰,周 豪
(西安郵電大學 電子工程學院,陜西 西安 710121)
隨著“十二五”規劃的穩步推進,“智慧城市”的建設也穩中求進。目前已經迸發出大批智慧型產業,如智慧健康、智慧校園、智慧金融、智慧零售、智慧農業等,這些產業的出現得益于物聯網技術的興起。其中窄帶物聯網技術正以迅猛的速度發展,相比3G網絡、4G 網絡、GPRS[1]、Wifi 技術、LoRa 技術[2]、Zigbee 技術等,它具有覆蓋廣、連接多、速率低、成本低、功耗低、架構優等特點[3-4]。因此,基于物聯網技術的環境監測系統也應運而生[5]。
環境監測系統在監測、分析、治理和保護環境質量方面起著至關重要的作用,基于物聯網技術的環境監測系統解決了環境監測單一、布線復雜、傳輸能力差、耗時費力等缺點[6-7]。文獻[8]基于Zigbee 協議對工業環境溫濕度進行監測,單純地采集溫濕度環境量,難以體現工業環境質量的好壞;文獻[9]中設計的室內環境監測系統使用星型網絡結構,利用主從收發方式對室內環境數據進行監測,輸出方式過于復雜;文獻[10]中使用Wifi 無線傳感器將采集到的農業監測數據上傳到云平臺,限制了傳輸距離;文獻[11]使用GPRS技術來監控農田環境,很大程度上限制了數據上傳的速度,降低了系統的傳輸成功率。
通過對上述環境監測系統的分析和研究,本文設計了一種基于窄帶物聯網的環境監測系統。以STM32F103C8T6單片機為微控制器,其中溫度和濕度值通過單總線協議讀取,甲醛、TVOC(總揮發性有機化合物)和粉塵含量則是通過串行端口收集,并配備OLED 液晶屏顯示相關數據;通信模塊采用中移物聯M5310A,采集的環境數據通過AT 命令使用LwM2M 協議上傳到OneNET 云平臺[12];用戶通過手機APP(應用程序)或網頁實時查看環境監測數據。
根據物聯網的分層技術,環境監測系統的總體架構分為感知層、傳輸層、平臺層和應用層[13],該系統總體架構如圖1 所示。

圖1 系統總體架構框圖
其中感知層通過溫濕度、甲醛、TVOC、粉塵傳感器采集外部環境數據;傳輸層使用NB-IoT 技術通過基站為感知層和平臺層之間建立“橋梁”;平臺層通過OneNET 云平臺接收檢測到的環境數據;應用層實現使用手機APP 或網頁實時查看環境數據[14]。
硬件系統主要由STM32 單片機最小系統及外圍電路[15],溫濕度、甲醛、TVOC、粉塵數據采集電路,OLED 液晶顯示電路,閾值警報電路和NB-IoT 通信電路組成。硬件系統框圖如圖2 所示。

圖2 硬件系統框圖
硬件電路工作原理是:主控制器STM32F103C8T6采用單總線協議讀取溫濕度傳感器數據,采用串口協議讀取甲醛、TVOC 和粉塵傳感器的數據,并用OLED液晶屏顯示相關數據;如果環境值超過標準,閾值警報電路將發揮作用;最后將采集到的環境數據通過NB-IoT 通信電路傳輸至OneNET 云平臺。
STM32 系列32 位單片機具有高性能、低功耗、低成本的特性。STM32F103C8T6 程序存儲容量64 kB,電源電壓2~3.6 V,工作溫度-40~85℃。嵌入式單片機的最小系統由主控芯片、電源電路、時鐘電路、復位電路組成。其最小系統如圖3 所示。
整個系統采用USB 接口供電,通過ASM117-3.3 正向低壓降穩壓器將5V 電壓轉換成單片機能正常工作的電壓3.3V。
目前市場上的溫濕度傳感器種類繁多,通訊方式也各具特色。本文選用響應速度快、能耗超低、傳輸距離長、抗干擾能力強的DHT22 數字溫濕度傳感器,其內部包含電容式感濕元件和高精度測溫元件,應用專用的數字模塊采集技術在內部將模擬信號轉換成數字信號輸出,精度比DHT11 更高[16]。因為傳感器采用標準數字單總線輸出,所以只需將數據引腳外接5.1 kΩ上拉電阻即可。其中溫濕度傳感器實物圖和采集電路如圖4 所示。
甲醛傳感器選用電化學甲醛模組ZE08-CH2O,利用電化學原理檢測空氣中的CH2O,具有良好的選擇性和穩定性,同時內部配置了溫度傳感器對溫度進行補償。該模組的主要特點是高靈敏度、低功耗、高分辨率、優秀的抗干擾能力和卓越的線性輸出,其次它提供通用異步收發器、模擬電壓信號、脈寬調制波形和其他輸出模式。系統選用的是UART(通用異步收發器)輸出模式,其通訊命令分為主動上傳式和問答式兩種,用戶可以根據需求自行設置。甲醛傳感器實物圖和采集電路如圖5 所示。傳感器采用出廠默認的主動上傳通信方式發送數據位,所以電路圖中只使用了一根傳輸線。

圖3 STM32F103C8T6 最小系統

圖4 溫濕度傳感器實物圖和采集電路

圖5 甲醛傳感器實物圖和采集電路
TVOC 傳感器選用型號為KQM2800A 的高性能、低功耗模塊,內部集成12 位高精度模數轉換芯片,內置良好的傅立葉變換和分類算法,出色地抑制了各種因素引起的傳感器漂移。此模塊具備實時零點標定、自動溫濕度補償等功能,其中數據輸出方式有UART通信方式和I/O(輸入、輸出)口分級輸出方式。系統選用UART 通信方式對TVOC 數據進行采集,實物圖和采集電路如圖6 所示。

圖6 TVOC 傳感器實物圖和采集電路
選用ZPH01 粉塵傳感器,它采用先進的PM2.5(細顆粒物)檢測機理,內部檢測單元運用粒子技術原理,可靈敏檢測到直徑為1 μm 以上的粉塵顆粒物。通信方式同樣為UART,實物圖和采集電路如圖7 所示。

圖7 粉塵傳感器實物圖和采集電路
NB-IoT 通訊電路由中移物聯M5310A 模塊、電源電路、天線插座電路、復位電路及SIM 卡座電路組成。采用電源芯片LD39200 為M5310A 提供穩定的發射電流,防止因電流供應不足導致設備離線。其通信方式為UART,并添加手動復位電路,電路設計如圖8 所示。

圖8 NB-IoT 通訊電路
STM32F103C8T6 單片機共有3 個UART 串口,其中UART1 用作打印輸出,為系統提供檢查糾錯的功能;UART3 用于與NB-IoT 模塊進行通信,使設備能夠注冊上線、上傳數據、下發指令和注銷下線等;因此UART2 需要用來接收甲醛、TVOC 和粉塵傳感器的數據。系統使用八選一數選器74HC151 對串口進行擴展,設計電路如圖9 所示。

圖9 串口數據采集電路
基于NB-IoT 的環境監測系統軟件設計主要分為傳感器數據采集程序和NB-IoT 模塊數據發送程序兩部分,采用的都是串口中斷服務。軟件主要是對各傳感器進行初始化并將它們的數據通過NB-IoT 模塊上傳至OneNET 云平臺,總體流程如圖10 所示。
因為溫濕度傳感器使用單總線協議,所以使用I/O口設置相關程序。程序的關鍵是讀取數據時把數據總線SDA 拉低的時間必須符合傳感器響應的時間,其軟件設計流程如圖11 所示。

圖10 軟件設計總體流程圖

圖11 DHT22 程序流程圖
甲醛、TVOC、粉塵傳感器都是采用UART 通信方式,主要區別就是數據位所在的比特位不同,所以統一設計它們的程序流程,如圖12 所示。

圖12 串口數據采集程序流程圖
中移物聯M5310A 模塊采用LwM2M 協議將環境數據上傳至中國移動物聯網云平臺OneNET,其中設備注冊上線、數據上傳、指令下發和設備注銷都是通過串口發送AT 指令控制。串口中斷采用DMA(直接存儲器訪問)方式,目的是為了減輕CPU 的負擔,提升系統的運行速度,具體流程如圖13 所示。

圖13 NB-IoT 模塊程序流程圖
環境監測系統使用中國移動OneNET 云平臺,它為用戶提供多種傳輸協議、各類硬件終端的快速接入方案和設備管理服務、豐富的API 和數據分發能力。目標是在物聯網應用和真實設備之間建立一個高效、穩定和安全的應用平臺。其中每個NB-IoT 模塊都需要配備一塊SIM 卡,通過IMEI 號注冊相關設備,建立設備和云平臺之間的連接。
為了驗證此環境監測系統采集數據的準確性和上傳數據的穩定性,將設計好的系統上電后對比OLED液晶屏顯示的數據和OneNET 云平臺接收到的數據,觀察數據是否傳輸一致。其中OLED 液晶屏顯示數據如圖14 所示,OneNET 云平臺數據如圖15 所示。

圖14 OLED 液晶屏數據

圖15 OneNET 云平臺數據
通過測試數據比對,環境監測系統的數據采集和上傳功能實現正常。通過觀察發現OneNET 云平臺顯示數據上傳的時間間隔在2 s 之內,說明NB-IoT 模塊和OneNET 云平臺之間通信正常。其中網頁版和手機APP 顯示的環境監測數據分別如圖16 和17 所示。

圖16 網頁版數據顯示

圖17 手機APP 數據顯示
本文設計的基于 NB-IoT 的環境監測系統以STM32F103C8T6 微控制器為核心,搭載中移物聯的低功耗、高性能M5310A 通信模塊。主控制芯片采用單總線協議和UART 協議采集溫濕度、甲醛、TVOC、粉塵傳感器數據。收集到的環境數據通過串口控制M5310A 經基站上傳到OneNET 云平臺。用戶可以通過網頁客戶端和手機APP 實時查看相關環境數據,及時了解當前的環境質量。該系統改善了傳統環境監測系統組網方式復雜、傳輸距離短、覆蓋面極低、功耗高的缺點,為基于物聯網的環境監測系統的發展提供了參考。