徐思燕
(四川工商學院 電子信息工程學院,四川 成都 611745)
隨著中國經濟迅速發展,中國環境問題越來越突出,導致環境污染的主要原因是大氣中含有的大量有害物質[1]。隨著生活水平的提高,人們已經意識到生活環境的重要性。因此,利用先進的技術手段加強對環境的監測,分析相關參數,治理和保護環境勢在必行。目前,通信技術發展迅猛,例如4G網絡、WiFi[2]、GPRS[3]、ZigBee、LoRa[4]、NB-IoT 等,其中NB-IoT相比其他技術具有功耗低、成本低、覆蓋廣和海量連接等特點[5],將其融入環境監測能更好地解決布線、傳輸、監測等方面的問題。因此,本文設計了基于NB-IoT的環境監測系統。該系統以STM32F103RBT6單片機為微控制器,利用傳感器測量空氣中溫濕度、PM2.5和CO等參數,通過BC26模塊將采集到的數據上傳到云平臺,用戶可通過網頁實時查看環境監測數據。
圖1所示為基于NB-IoT的環境監測系統結構,該系統由信息采集層、傳輸層和平臺層組成。信息采集層通過溫濕度傳感器、粉塵傳感器、CO傳感器對環境相關參數進行采集;傳輸層通過NB-IoT模塊將采集的環境數據傳輸到基站,再通過基站將數據傳輸到云平臺,傳輸層是信息采集層與平臺傳遞信息的橋梁;平臺層接收和顯示環境參數,可通過PC機進入相關網頁查看。

圖1 系統結構
硬件系統主要由控制器最小系統電路,溫濕度、PM2.5、CO數據采集電路,聲光報警電路,電源電路和NB-IoT模塊組成,其硬件系統架構如圖2所示。

圖2 硬件系統架構
STM32最小系統由微控制器、復位電路、晶振和電源電路構成,如圖3所示。微控制器采用STM32F103RBT6,該芯片具備豐富的外設資源,擁有128 KB FLASH,20 KB SRAM,包含通用的USART、I2C、SPI、CAN、USB接口,工作電壓為2.0~3.6 V,工作溫度為-40~105 ℃,是一款高性能、低功耗的單片機。該硬件系統使用USB供電。USB供電電壓為5 V,而單片機工作電壓為3.3 V,因此需經過AMS1117-3.3降壓。

圖3 最小系統電路
市場上的溫濕度傳感器種類多樣,本系統選用DHT11。該傳感器是一款低功耗、含有已校準數字信號輸出的溫濕度復合傳感器[6],包含一個電阻式感濕元件和一個NTC測溫元件,可確保測量數據的可靠性和長期穩定性。該傳感器使用單總線通信方式,因此,與單片機通信只需添加4.7 kΩ上拉電阻即可。溫濕度采集電路如圖4所示。

圖4 溫濕度采集電路
目前市場上用于檢測空氣中PM2.5的傳感器主要分為紅外型和激光型,本系統選用一款光學灰塵監測傳感器GP2Y1014AU。該傳感器監測粒子最小直徑為0.8 μm,輸出的模擬電壓正比于所測粉塵濃度,其電路如圖5所示。

圖5 PM2.5采集電路
本系統選擇MQ-9傳感器[7](采用高低溫循環檢測方式低溫檢測CO)采集CO濃度,這款傳感器對CO檢測靈敏度較高,壽命長,成本低,驅動電路簡單。CO采集電路如圖6所示。

圖6 CO采集電路
本系統硬件部分帶有聲光報警模塊,該模塊由三極管、蜂鳴器和發光二極管組成,當城市環境中的某些環境要素不符合城市環境標準時,系統發出聲光報警提醒該城市區域相關人員采取必要措施。聲光報警電路如圖7所示。

圖7 聲光報警電路
NB-IoT通信的實現采用BC26模塊。BC26是一款高性能、低功耗、多頻段無線通信模塊,該模塊可提供豐富的外部接口和協議棧。BC26模塊自帶供電電源,與微控制器只需進行串口連接即可通信,其電路和實物如圖8所示。

圖8 BC26模塊通信電路和實物
環境監測系統軟件設計主要分為主程序和模塊程序的設計,其中主程序是對系統和各模塊初始化,然后對各環境數據進行采集并通過NB-IoT上傳到云平臺,當采集數據超過預設值時進行聲光報警,其主程序流程如圖9所示。

圖9 主程序流程
DHT11與微控制器間的通信方式為單總線通信,控制器讀取該傳感器溫濕度數據的流程如圖10所示。DHT11傳輸的數據為5 B,其中溫濕度整數和小數各占2 B,校驗位占1 B,數據從高位開始發送給主機。

圖10 讀取溫濕度程序流程
紅外粉塵傳感器和CO傳感器采集的數據為模擬信號,需將模擬信號經過A/D轉換為數字信號,經控制器處理后上傳云平臺。STM32內部資源帶有A/D轉換器,轉換流程如圖11所示。

圖11 模數轉換流程
BC26模塊采用MQTT協議將環境數據上傳至阿里云物聯網平臺,其中設備注冊、指令下發和數據上傳均通過串口發送AT指令控制,具體流程如圖12所示。

圖12 BC26模塊工作流程
環境監測數據平臺使用阿里云物聯網平臺,該平臺支持多網絡、多協議、多地域設備快速接入,設備管理,監控運營和安全傳輸。每個用戶可通過支付寶或自行注冊帳號登錄阿里云平臺,然后進入管理控制臺,建立產品與設備間的連接。
系統上電后,若控制器運行指示燈、NB-IoT模塊指示燈和環境傳感器指示燈均亮,表明系統正常工作且系統初始化成功,效果如圖13所示。

圖13 硬件系統測試效果
系統正常運行時,按照系統要求下載程序,系統每隔一段時間向云平臺發送一組環境參數數據,可通過串口助手查看系統數據發送成功后返回信息的情況,也可查看云平臺環境參數是否更新,如圖14所示。

圖14 系統數據包發送情況
通過PC進入云平臺界面,可查看環境參數,如溫濕度、PM2.5和CO等,如圖15所示。通過數據傳輸測試中串口數據與云平臺接收數據的對比,可知系統通信正常。

圖15 云平臺界面
針對目前環境污染問題,本文實現了基于NB-IoT技術的環境監測系統。系統可提供環境溫濕度、PM2.5、CO等信息的實時監測和查看功能,當測量數據超過預設值時發出聲光報警。該系統與傳統方案相比部署更方便,成本更低廉,采用無線通信方式監測范圍更大,可視化界面更直觀。