彭勇 胡文德 陳俞強 王石 林冠業



關鍵詞:物聯網;低功耗;窄帶物聯網;無線采集終端
近年來,城鎮化速度加快,我國城市化水平越來越高,舊城改造、新城建設,城市硬件基礎設施建設越來越完善,雨水、污水、燃氣、通信、電力等不同的城市地下管線越來越多,窨井數以千萬計。據統計,一個中等城市每年新增、更換井蓋十萬個以上,很多井蓋分布在道路周邊、行車道以及人行道中,因為窨井井蓋缺失、管道泄漏導致的安全事故層出不窮,城市地下管線的管理水平跟不上經濟社會的發展水平,通過智能化手段改造現有井蓋,實時獲取井蓋狀態和井下數據,并進行監控是對地下管線管理的重要手段,也是可行的做法。有些城市在井蓋采用2.4G無線模塊,在集中區域安裝無線中繼器,再通過GPRS等方式發送數據到監控平臺,但是缺點是功耗比較高,距離遠時靈敏度不高,中繼模塊安裝也不方便。南京郵電大學的一篇碩士論文研究了一款基于WiFi通信的智能井蓋,但是WiFi技術功耗比較大、終端連接能力比較弱,不適合井蓋這種需要廣域部署的情況。為了解決當下井蓋管理存在的種種問題,將先進的物聯網技術與傳統井蓋相結合,設計出一種井下數據無線采集終端,可以檢測井蓋傾角狀態和井下水位,讓傳統井蓋成為一個固定的信息交互設備,并使用NB-IoT作為無線傳輸技術實現智能井蓋與物聯網云平臺的信息傳輸,能對城市井蓋進行大面積監測,實現了對城市井蓋的智能化管理。
1整體結構
井下數據無線采集終端系統是一個典型的物聯網應用,主要包括智能井蓋數據終端、第三方物聯網云平臺、后臺應用服務器開發、智能井蓋監測管理平臺和手機應用端軟件開發,項目設計結構見圖1。
智能井蓋數據終端可以實時采集井蓋的傾角和井下的水位情況,利用傾角可以判斷井蓋是否被開啟,一般設定為20°左右即表示井蓋被開啟,井下水位是判斷井壁滲水等故障的重要依據,每隔30分鐘左右智能井蓋數據終端就會自動上報數據,當井蓋傾角和井下水位有異常時,會實時通過NB-IoT模塊上報到NB-IoT基站,進而上傳到物聯網云平臺;物聯網云平臺提供設備接入、數據解析服務,將設備上傳的二進制數據轉換為有意義的JSON格式數據,并提供應用側API供應用服務器訪問;應用服務器主要是完成系統的數據邏輯部分,對從云平臺得到的數據進行各種計算,然后存儲到數據庫,并通過API發布數據;管理員用戶通過PC端管理平臺來對整個城市的井蓋情況、井下數據進行監控、統計、井蓋異常報警處理,井蓋巡檢員可以使用移動客戶端來讀取所負責區域的所有井蓋情況以及井下數據,并及時接收警報信息,對井蓋及井下異常數據進行處理。
2硬件設計
智能井蓋數據終端的硬件主要包括5個部分,分別是:主控模塊、NB-IoT通信模塊、傳感器模塊、藍牙模塊和電源模塊,系統的硬件結構如圖2所示。主控芯片我們選用一枚超低功耗設備的STM32L15IC8T6,低功耗睡眠狀態電流只有5.1μA,數據終端在開機后會進行初始化,讀取藍牙模塊配置的基本信息,并完成NB-IoT模塊附著網絡,NB-IoT模塊一段時間沒有發送數據就會自動進入PSM(Power Saving Mode,省電)模式。主控STM32芯片在完成初始化后會進入待機模式,直到被時鐘喚醒,當定期采集數據的時間到來時,主控芯片會退出待機模式,并采集井蓋的傾角和井下水位等數據,并發送給NB-IoT模塊,STM32主控芯片隨即進入待機模式,NB-IoT模塊在收到數據后,則退出省電模式,把數據發送到NB-IoT基站,通過NB-IoT基站,數據最終傳到物聯網云平臺,發送完所有數據后,NB-IoT模塊再次進入休眠模式。
2.1 主控模塊
智能井蓋數據終端中最為核心的模塊就是主控制器,根據智能井蓋數據終端設備所需要的低功耗、高數據傳輸率、穩定可靠、性價比高等特性,我們選擇STM32L152R8T6作為主控制器,具有超低功耗、全面節能模式,能夠滿足系統的超低功耗要求;提供各種增強的I/O和外圍設備連接到兩個APB總線,一個12位ADC,2個DAC,六個通用16位定時器和兩個基本定時器,兩個ⅡC和SPI,三個USART和一個USB,能滿足系統外部傳感器種類繁多,所需接口較多的要求;能夠在一40~85℃的溫度范圍內可用,在低功耗狀態下擴展至105℃,可以滿足在惡劣的井內環境中正常工作的需求。主控模塊一般情況下處于休眠狀態,當采集數據間隔時間到來或者出現數據異常預警信息時,會喚醒模塊執行相應的程序,讀取各傳感器數據并發送到NB-IoT模塊。如圖3所示,PA4、PA7、PA11作為外部模塊上電接口,控制外部模塊電路的通電;通過PB6、PB7、PC9這組ⅡC接口與傾角監測模塊連接實現數據傳輸和中斷處理,通過PB8、PB9、PA5、PA8這組ⅡC接口與液位檢測的激光測距傳感器進行數據交換以及中斷處理;通過PA2和PA3這組URAT接口與NB-IoT通信模塊進行數據交換,可以完成將采集的數據上傳到物聯網云平臺以及接受云平臺下發的指令;通過PA9和PAIO接口與藍牙模塊進行串行通信,通過PC10、PC11、PC12實現藍牙模塊的片選、配對和狀態指示。
2.2通信模塊
NB-IoT無線通信模塊采用BC26模組,具有極低功耗,最低電流功耗為3.5μA,發射功率為23dBm±2dB,能夠非常方便地連接中國移動、中國電信、華為等大型運營商的物聯網云平臺,可以在連接狀態、空閑狀態和省電狀態下工作,連接狀態下模塊的所有功能都可以正常運行,進行數據的發送和接收,但是耗電量略大;空閑狀態下,模塊處于輕休眠模式,網絡處于DRX/eDRX狀態,尋呼窗口內可接收尋呼;省電狀態下,模塊處于深睡眠模式,CPU掉電,內部只有RTC工作,處于極低功耗。BC26模塊硬件電路如圖4所示,BC26模塊的TXD引腳用來發送數據給STM32,連接到STM32引腳的PA2,BC26模塊的TXD引腳用來接收AT指令,可以對模塊進行設置,連接到STM32引腳的PA3。
2.3傳感器模塊硬件設計
2.3.1傾角檢測模塊
根據采集到的井蓋三個方向的偏轉角可以計算井蓋是否發生傾斜或移動,考慮到功耗、精度、價格等方面的影響因素,選取了ADXL345三軸加速度傳感器作為傾角傳感器,其具有靈敏度高、功耗低的優點,能測量不到1.0°的傾斜角度變化,測量模式下只有40~145μA的電流,待機模式只有0.1μA,支持SPI和IIC兩種通信方式,我們采用的是IIC方式連接,加速度傳感器外圍電路如圖5所示。
2.3.2水位檢測模塊
城市窨井往往會因為雨水過多、管道阻塞等原因導致井內有積水,當積水過多時會對井內各種設施以及線路造成腐蝕、傳輸中斷、數據丟失、觸電等多種影響,所以需要對井下的水位進行監控??紤]到測量距離、井下環境、測量精度和功耗等因素,選用VL531L1X激光測距傳感器來檢測水位,能提供精確的距離測量,可以測量4m的絕對距離。VL53LIX采用ⅡC接口與STM32相連,GPIOI引腳與STM32的PA5相連發送中斷信號,SCL時鐘信號連接STM32的PB8,SDA與STM32的PB9相連實現雙向數據交換,XSHUT引腳與STM32的PA8相連實現VL53LIX模式的控制。具體電路圖如圖6所示。
2.4藍牙模塊設計
智能井蓋數據終端在第一次使用前需要進行初始化配置,井蓋施工現場一般情況都是由手機客戶端通過藍牙連接到智能井蓋,就可以配置服務器的IP地址、端口號、井蓋編號、井蓋位置經緯度(由手機客戶端獲?。┑然A數據,在日常巡檢中也可以通過藍牙連接修改或讀取井蓋的基礎數據以及井下傳感器數據。藍牙通信模塊采用HC-06模組,最大發射功率為4dBm,最大通信距離為10m,支持AT指令,方便靈活。HC-06模組采用串口與STM32通信,HC-06模組的RX引腳與STM32的PAIO連接,接收上位機發來的數據,TX引腳發送數據到STM32的PA9,HC-06模組的PIOII連接STM32的PC10,實現對藍牙模塊的片選,HC-06模組的PI09連接STM32的PC11,實現上位機和藍牙模塊的配對。具體電路圖如圖7所示。
3軟件設計
井蓋智能終端軟件設計部分主要有主程序、傳感器模塊程序、NB-IoT通信模塊程序、藍牙模塊配置程序。其中主程序主要是負責調用各模塊程序,實現整個系統正常運行,與物聯網云平臺實現數據的交互以及數據格式的轉換,傳感器模塊程序主要負責采集各種傳感器收集的數據,實現數據的格式化并提交給主程序,NB-IoT通信模塊程序負責初始化通信模塊,與NB-IoT基站建立連接,發送數據給物聯網云平臺,并接受上位機下發的各種指令,藍牙模塊配置程序實現了智能終端各種初始數據的配置以及巡檢過程中修改配置及讀取數據,見圖8。
3.1智能井蓋數據終端主程序設計
系統通電后,完成系統的初始化,完成串口、定時器、各種IO接口的初始配置,然后通過藍牙方式或者從FLASH中讀取井蓋的基本配置信息(IP地址、端口號、井蓋編號、井蓋位置經緯度等),接下來加載通信模塊和傳感器模塊,主控制器進入休眠待機模式并關閉通信模塊。當采集時間間隔到來或有預警中斷信號時,主控制器會被喚醒讀取傳感器數據并通知通信模塊發送信息。
3.2傳感器模塊程序
傳感器模塊程序可以采集傾角檢測模塊、液位檢測模塊的數據,對于傾角檢測模塊,程序讀取到的是三軸加速度分量,然后解算出三軸姿態角,計算出傾角;對于液位檢測模塊,接收到測量數據后還需要進行解算,最終得到液面到井蓋的距離。液位檢測模塊的傳感器盡管在出廠時已經做了校準,但是由于實際應用會加蓋保護以及焊接等因素的干擾,會造成細微誤差,所以一般在整個終端產品應用前還會再次做相關校準,見圖9。
3.3NB-IoT模塊程序
NB-IoT模塊程序負責完成初始化BC26模塊配置與數據傳輸,在數據傳輸前還需要進行附網的一系列操作,主控制器與NB-IoT通信模塊之間采用AT指令進行通信,見圖10。
3.4藍牙模塊程序
藍牙模塊主要是方便現場與數據終端之間的近距離通信,數據終端第一次安裝時需要進行初始化配置,主要包括經緯度、設備編號等,在井蓋維護時,也能通過藍牙模塊讀取部分實時數據以便檢修,見圖11
4系統測試與數據分析
4.1硬件電路測試
在研發過程中對于整個系統的初始化、數據上傳、下載及入網情況等進行了測試。測試結果如表1所示。
測試結果表明,系統初始化100%正常,NB-IoT入網和信息上傳成功率98.8%,主要是由于高大建筑物遮擋等造成極少次數失敗,通過重傳即可解決這個問題,藍牙數據傳輸失敗率在1%,也是由于井下環境較為惡劣,產生的極少的失敗,通過重新連接即可解決,整個系統各個模塊運行穩定。
4.2設備功耗測試
智能井蓋數據終端安裝在窨井,一般情況下沒有外接電源,要求數據終端依靠電池就能長期運行,因此對終端功耗提出很高的要求。在程序設計上,主控模塊大部分時間停機,只有采集時間到來或者數據異常發出,終端才會被喚醒,NB-IoT模塊一直處于PSM低功耗模式,等到主控模塊需要其發送數據時才被喚醒。終端設備低功耗運行時電流功耗僅為10.216μA,初步推算,采集周期是30min情況下,5400mAh內部電池可使用約1217天,供電時間超過3年,設備功能測試見表2。
4.3傾角檢測模塊測試
為了更加直觀地得到最終傾斜角度,將終端設備放置在平板上,平板的一角緩緩下壓或抬起,來模擬設備在各種傾斜角度下的傾角采集,通過最終設備上傳的角度值與實際角度值的對比可得出該模塊是否能夠滿足于正常應用。具體實際角度值和測量值如表3所示。
實驗分為九組數據進行測量,其中四組處于非報警狀態的測量,五組處于報警狀態的測量,根據表3數據的對比可知,該設備在這兩種狀態下均能夠實現對傾角值的監測,并且角度越小測量越精準,精度為±0.2°,基本能夠滿足應用要求。
4.4液位檢測模塊測試
為了測量井下水位,將智能井蓋數據終端放置于一個水盆上方,然后開啟終端,記錄水位數據,再往水盆添水,隨著水位升高,不斷記錄水位數據,最終得出實際距離值和測量距離值如表4所示。
此種實驗模式由于實際距離的測量方式和設備本身存在誤差,液位測量值與實際值稍有不同,但通過七組實驗的數據對比可知,誤差基本保持在±2mm以內,誤差值均在允許的范圍內。因此該模塊能夠實現終端設備的液位高度測量,基本滿足系統需求。
5成本分析和技術方案對比
目前常見的智能井蓋方案主要有基于GPRS技術和基于NB-IoT技術兩種,具體方案對比如表5所示。
從表5可以看出,基于NB-IoT的智能井蓋方案從數據傳輸、網絡覆蓋及功耗等各方面都優于傳統的GPRS技術方案。
根據已經實現的原型系統(圖12)的測算,基于NB-IoT的井蓋系統具有較低的建設成本和運行成本,具體成本分析見表6。
從表6看出,基于NB-IoT的成本低,其中包括建設成本、運行成本和年均成本等,具有更好的市場前景。
6結論
針對城市普遍存在的井蓋發生位移、傾斜、松動、溢水、損壞、被盜等現象,根據智慧井蓋數據采集終端低功耗、低成本、穩定性高的設計理念,完成了基于SMT32單片機+NB26無線通信模塊的終端平臺的搭建,實現對井蓋的身份標識、對井蓋統一歸檔管理,以及實現對井蓋的狀態監控、實時報警、自動巡檢、及時處置等功能,保障安全運行。在未來井蓋監測這一智慧城市關鍵應用中,可以在已經實現的智能井蓋數據終端的基礎上,添加氣體傳感器、電導率傳感器等其他傳感器,以適應污水井、燃氣井、雨水井等各類窨井的特殊需求,豐富井蓋終端的功能,還可以進一步考慮分析數據的綜合與利用,進一步提高市政管理的信息化、智能化水平,為智慧城市奠定行業應用基礎。