吳正平, 張兆蒙, 李 東, 顏 華, 尹 凡, 馬占穩
(1.三峽大學 電氣與新能源學院,湖北 宜昌 443002;2.深圳市 興源智能儀表股份有限公司,廣東 深圳 518000)
目前大部分的供水公司采用人工抄表和智能卡表模式。人工抄表模式存在信息采集周期長、錯抄、漏抄、估抄的現象,影響供水公司的經濟效益和社會形象[1]。智能卡表模式,IC卡預付費方式雖然方便公司管理收費,但存在生產IC卡增加成本且智能卡表無法聯網不能反饋用戶用水信息,供水公司難以把握供水的調度和均衡[2],為此無線抄表研究被廣大研究者所關注。對于傳統的無線抄表技術研究最為廣泛的是ZigBee[2~4],Wi-Fi[5,6],GPRS[7,8]技術。對于ZigBee、Wi-Fi技術,覆蓋范圍小、傳輸距離短、需要基站多,不適合進行遠程抄表[2,8]。GPRS是專為手機設計的授權頻段網絡,雖然傳輸距離遠,可以有效避免外界信號的干擾,但是它的功耗過大、接入量少,當水表處在地下室或者位置較深的地方,GPRS信號薄弱,無法保證通信的可靠性[1]。而窄帶物聯網(narrow-band Internet of thing,NB-IoT)是專為滿足廣域、低速率的物聯網需求設計的無線通信技術,相比于上述的無線通信技術它更具有信號強、覆蓋廣、大連接、功耗低和成本低等優點。如果水表處在信號不好的地方,同樣可以保證通信的可靠性[2,9]。因此,在無線抄表領域,NB-IoT將會成為未來主要發展趨勢。
本文采用NB-IoT無線通信技術對智能水表實現遠程抄表,通過BC95模塊把采集水表數據遠程傳輸到應用管理系統 ,便于供水公司對水表數據進行實時監控和智能管理。
智能水表抄表系統以NB-IoT技術為基礎,該系統主要包括智能水表(成熟產品,無需設計)、集中器、中國電信物聯網平臺和應用管理平臺。集中器完成水表數據的采集、數據向云平臺發送、接收從云平臺下發的命令等功能。中國電信物聯網平臺作為橋梁,連接起應用管理系統和集中器,實現集中器采集數據的上傳和應用管理系統命令的下發。應用管理平臺通過中國電信物聯網云平臺和集中器,實現智能水表的遠程控制與數據采集。集中器平時處于低功耗的待機狀態,當需要采集和上報數據時,被自動喚醒,待其完成工作之后,又進入待機狀態。
系統硬件總體結構如圖1所示。STM32主控制器[10]通過其引腳與各個模塊進行連接,使各模塊協調工作,實現系統功能。顯示模塊用于顯示NB-IoT集中器所處環境下的溫濕度、時間參數、電量、BC95模塊的信號強度等信息。BC95模塊主要實現集中器和云平臺之間的通信,進而實現應用管理平臺的數據采集和命令下發。報警模塊用于實時監測智能水表是否被偷水或者漏水,如有偷水或漏水,報警模塊進行報警,并向應用管理平臺上傳報警信號,以便維修和處理。存儲模塊用于存儲采集水表的數據信息。溫濕度傳感器模塊主要檢測集中器所處環境溫濕度,防止集中器處在惡劣環境下而損壞。電源模塊分別為STM32,BC95、數據采集等模塊分片提供電壓,以保證模塊正常工作和系統的低功耗運行。

圖1 硬件結構
集中器選用STM32F103RCT6A單片機作為主控芯片,其外部設有晶振電路、復位電路以及電源電路,組成最小的工作系統,確保集中器的主控芯片能正常工作。
本系統使用RS—485通信協議的智能水表。集中器上設置1~4組RS—485接口,通過RS—485接口與一組或者多組智能水表進行通信,實現水表數據的采集。
BC95模塊是一種高性能、低功耗的NB-IoT無線通信模塊,華為海思產品。相比與其它的無線通信模塊,BC95具有覆蓋更強、大連接、功耗低和成本低等優點[9]。BC95模塊工作電路主要包括:電源模塊、復位模塊、串口通信模塊、天線模塊、SIM(subscriber identity module)卡接口模塊[11]。本系統采用BC95模塊與主控制器的PA10與PA9相連接,實現數據的發送與接收,通信電路如圖2所示。

圖2 BC95模塊通信電路
電源模塊供電電路,通過LM2575降壓電源開關芯片把12 V直流電分別降壓為5,3.6,3.3 V,為RS—485,BC95模塊、STM32主控制器以及其它功能模塊提供額定工作電壓。單片機根據需要控制是否對RS485模塊、BC95模塊供電,實現系統低功耗運行。
系統軟件設計是在Keil5平臺下利用C語言進行開發的,主要包括BC95通信程序和主程序設計。
BC95模塊入網通信流程如圖3所示。

圖3 BC95模塊入網通信流程
集中器主程序由采集數據、發送數據、數據接收、定時、低功耗運行等主要功能組成。
系統通電以后,首先進行初始化工作,初始化工作完成以后,STM32主控制器進入待機模式,待采集時間到,主控制器被喚醒,把采集的表編號、表讀數、系統時間存儲到FLASH中。如果此時距設置的上傳時間點小于120 s,主控制器待上傳時間到,把FLASH中的水表數據通過BC95模塊實現上傳,若距設置的上傳時間點大于120 s,主控制器進入待機模式,待上傳時間到,主控制器被喚醒,把FLASH中的水表數據通過BC95模塊實現上傳。在上傳水表數據的同時,主控制器把集中器運行狀態數據如系統時間、溫度、濕度、電池電壓、控制器電壓、信號強度等信息通過BC95模塊一起上傳,從而可以及時掌握集中器的運行狀態。待集中器把運行狀態數據和水表數據上傳完成以后,主控制器上傳一條指令到云平臺,云平臺收到數據會采取訂閱的方式通知應用管理平臺,詢問是否有下發命令:如果有,命令下發到平臺,然后立即下發到集中器,主控制器進行處理,如果沒有,主控制器進入待機模式,集中器實現低功耗運行。
設計了完整的硬件和軟件系統,并對系統進行了測試。系統測試首先通過應用管理平臺下發命令,設置集中器的工作參數。集中器按照設定的工作參數工作。當工作參數中設置的采集時間到時,集中自動喚醒,進行數據采集;當工作參數中設置的上傳時間到時,集中自動喚醒,將采集到的數據通過BC95模塊上傳到云平臺, 最后應用管理平臺在通過中國電信物聯網平臺提供的應用IP和端口采取訂閱的方式把云平臺解析數據提取出來,可以在應用管理平臺監視采集到的數據,集中器的運行狀態等(如圖4所示)。與此同時,應用管理平臺,把采集到的水表數據存儲到數據庫中,方便供水公司實現智能管理。

圖4 應用管理平臺界面
對系統實測結果表明:基于NB-IoT智能水表抄表系統,能夠穩定地將采集的水表數據和集中器的溫濕度等狀態信息傳輸到應用管理系統,實現遠距離傳輸,在集中器位于樓棟信號不好的位置,系統也能保證通信的穩定性。能夠更好地解決傳統水表抄表系統的傳輸距離短、覆蓋范圍小、穿透力不強、數據傳輸穩定性差等問題,具有很強的實用性。一旦該系統運用到供水行業,能實現供水公司對水表數據實時監控以及智能化管理。