(四川信息職業技術學院,四川 廣元 628040)
井蓋是城市的公共基礎設施,馬路井蓋是對地下管網設施進行維護、檢修的重要窗口,也是關乎城市路面環境的一部分[1]。目前,中國許多城市的路面都存在井蓋缺失、破損之類的問題。這些“問題井蓋”不僅影響市容,還存在安全隱患,容易造成行人跌落、車輛損壞等交通事故,同時井蓋下的廢水經過發酵容易產生有害氣體,不利于井蓋周圍的環境健康。井蓋需要得到有效的管理,但城市中的井蓋數量繁多、種類多樣、布局分散,為本來已經非常冗雜的城市管理工作增添了不小的負擔。為了解決這些問題,本文將物聯網技術與井蓋相結合,利用帶有芯片的智能井蓋將監測到的井蓋姿態狀態、井內氣體等信息,通過物聯網技術上傳到云平臺,方便管理人員對井蓋的監測與維修[2]。
本文選擇基于NB-IoT技術的井蓋管理方法。NB-IoT技術是一種獲得國際認可的新興物聯網技術,利用NB-IoT技術可以大大簡化網絡結構,減少部署和維護難度。同時該技術具有低成本、低功耗、覆蓋范圍廣和連接多的特點,非常適合低頻、通信延遲不敏感及數據量小的物聯網業務[3]。單片機由NB-IoT將每個井蓋的信息通過通信網絡傳遞到監控平臺,為加強城市的智慧管理,解決安全隱患提供有力的保證。
系統通過傳感器采集井蓋的環境信息,利用STM32L151C8芯片通過窄帶物聯網(NB-IoT)模塊實現數據的上傳。云平臺收到上傳數據或下發命令后立即保存數據,實時進行數據解析和協議包的發送。本系統可以實時監控井蓋狀態,并通過IoT平臺將相關數據發送到個人計算機和遠程客戶端。
系統由感知層、傳輸層、平臺層和應用程序層等四層組成[4],各級分工明確,主要通過將數據從感知層報告到應用層來實現對數據的遠程監控。系統架構如圖1所示。

圖1 系統架構
第一層是感知層,部署在井蓋中,負責有害氣體、井蓋狀態的數據收集,主要包括電源模塊、傳感器模塊(多軸傳感器、有害氣體傳感器等)、微控制器單元(MCU)和NB模塊。
第二層是傳輸層,主要包括核心網絡和基站通信,負責業務數據的傳輸。在接收到從第一層收集的井蓋數據后,將數據通過傳輸層的核心網絡發送到附近的通信基站,在硬件終端上建立用戶界面并傳輸業務數據。
第三層是平臺層,其功能是用戶在接入云平臺后,獲得收集到的相關數據。同時,系統將獲得的數據根據不同類型分別轉發至監控應用系統,進行具體的分類處理。
最后一層是應用程序層。在該平臺的基礎上,部署了城市井蓋監測系統,它不僅可以調用查詢接口來監視平臺上的數據,而且可以完成數據的預處理和存儲。
系統的感知層設計包含五個部分:主控板模塊設計、通信模塊設計、數據通信格式設計、電源模塊設計、嵌入式開發。其中,NB-IoT通信模塊設計、主控板模塊設計是系統感知層設計的核心。主控板模塊主要負責對井蓋數據的收集,通信模塊負責與基站數據交互。
主控板設計框圖如圖2所示。多軸傳感器MPU6050模塊用于獲得井蓋的姿態,甲烷傳感器TGS2611用于監測井內氣體的甲烷含量。整個主控板的核心是STM32L151C8,其具有數據采集、分析、處理,以及通信模塊之間的通信連接等功能。選擇STM32L151C8為主控芯片,是因為其內核采用超低功耗ARM的Cortex-M4架構,可以最大程度地減少功耗。其內置計時器、直接存儲器訪問(DMA)、通用異步接收器/發送器(UART)、快速存儲技術(RST)、模數轉換器(ADC)、通用輸入/輸出(GPIO)等模塊,可以滿足NB-IoT硬件功能運行要求[5]。

圖2 主控板設計框圖
STM32芯片收集井蓋姿態、有害氣體濃度,將數據轉換為CoAP協議格式的數據編碼,然后通過NB-IoT模塊發送到指定的云平臺,可以利用單片機內部計時器控制數據每30 min發送一次。
采集終端包括傳感器模塊、單片機、NB-IoT通信模塊。終端收集到的模擬信號需要轉換為數字信號,單片機可以通過模數轉換(ADC)模塊對其進行處理,并通過串口將信息發送到NB-IoT模塊。系統通過AT指令完成工作參數的設置,例如,AT+NBAND?查詢頻段號,AT+NMSTATUS確定模塊與平臺之間的連接狀態,AT+NCDP=180.101.147.115,5683是配置電信平臺的CDP服務器地址,AT+NMGS指令可以發送根據CoAP協議設計的代碼,獲取相應的井蓋相關數據。NB-IoT模塊接收到AT命令后,模塊自動將有效載荷封裝為所需的消息,并通過基站將其發送到IoT電信云平臺[6]。
該系統由電源電壓為3.3 V的電池供電。MCU發送數據后,NB通信模塊在NB與基站之間建立傳輸通道,以接收數據并監控命令。當從基站接收到請求信號時,NB通信模塊能夠及時響應。
STM32將檢測到的數據進行編碼,通過串口利用AT指令對NB-IoT模塊控制,NB-IoT模塊負責接收并轉發井蓋的監控數據。
NB-IoT模塊采用的是BC95-B5無線通信模塊。該模塊特點是尺寸小、低功耗,最小電流[7]僅為5 μA。BC95-B5模塊上搭載的物聯網用戶身份模塊SIM卡為中國電信提供的4G NB-IoT卡,用來存儲用戶信息、加密密鑰及時間信息等。該卡還滿足Internet的智能硬件和智能農業管理要求。NBIoT模塊通過無線通信協議與網絡運營商設備建立連接,電信NB-IoT卡主要工作在850 MHz頻段內。
通信模塊如圖3所示。通信模塊BC95-B5為射頻模塊,與電信的NB-IoT卡進行數據交互,射頻天線將井蓋獲取的相關數據發送到NB-IoT基站。

圖3 通信模塊原理圖
系統感知層設計的最終目的是完成數據報告,系統設計時將SEGGER J-Link仿真器和MCU連接,使用Keil集成開發工具對STM32 MCU進行編程,經過編譯下載和仿真后,程序燒寫到MCU。程序可實現數據采集、信號A/D轉換、數據發送及命令接收等功能,工作流程如圖4所示。

圖4 主流程
采集終端的多軸傳感器通過I2C協議將姿態解算后的數據輸出至MCU,同時測量井內沼氣含量的甲烷傳感器也從串口向MCU傳送數據。系統初始化后,獲取井蓋姿態、甲烷含量,并通過A/D轉換將模擬量的信息轉化為數字量,同時將獲取的數據通過CoAP協議發送出去。
為了保證不同井蓋獲得的數據監控唯一性,將姿態及其他數據準確地傳輸到云平臺,在不同井蓋的感知節點和云平臺之間建立一一對應的映射關系。傳輸協議包括兩部分:第一部分包含設備的屬性信息,例如井蓋ID號、制造商信息、設備型號及協議,以確保綁定NB-IoT模塊的一一對應;第二部分包含設備服務信息及定義設備要報告的井蓋的相關數據字段。
部分業務數據的代碼如下:

propertyName中的attitude表示當前設備是狀態傳感器;dataType中的int表示收集到的數據為整數型[8];當dataType為true時,表示該數據需要上傳;min和max表示數據范圍為0~90;step表示步長,該數據等于1.0;method為數據的訪問方式;RE為可以讀取,可以更改并保存。在上傳設備進行文件配置后,就能綁定設備進行接收數據和發送命令。
系統的井蓋狀態測試如下:
首先搭建系統測試環境,將智能網關與井蓋監測單元點對點傳輸,井蓋的控制芯片MCU發送數據包,網關收到后顯示在電腦上[9]。對收發系統進行測試,最終在電腦終端上顯示井蓋狀態信息,如圖5所示。

圖5 測試結果
對3個井蓋狀態進行測試,移動其中一個井蓋,發出告警信息。1號井蓋三維坐標ROLL為-0.15,PITCH為0.0,YAW為-0.2,如圖5(a)所示;2號井蓋三維坐標ROLL為0.0,PITCH為0.02,YAW為-0.2,如圖5(c)所示,井蓋狀態均為正常;3號井蓋三維坐標ROLL為-1.26,PITCH為-18.44,YAW為13.12,如圖5(b)所示,由于移動了井蓋,平臺顯示告警信息。
本文以NB-IoT為基礎設計智能的城市井蓋,解決了數量繁多、種類多樣、布局分散的城市井蓋的管理問題。通過傳感器和MCU實現了對井蓋情況信息的采集,通過NB-IoT模塊將所得數據上傳到云平臺,實現了智能井蓋的數字化、智能化、可控化[10]。整個系統的集成化程度高,實現了對井蓋可視化管理,與世界智能化的發展趨勢相吻合,對城市管理升級有著正面的意義。此外,本系統節約了大量的人力、物力,一定程度上節省了井蓋管理的經濟成本,使城市管理變得更加輕松。