趙 哲 陳偉利
(吉林建筑大學 電氣與計算機學院,吉林 長春 130118)
在人口密集化和建筑物高層化的時代背景下,傳統消防措施的低效率,缺乏時效性,和落后的管理模式越來越不能適應需求并且難以提供足夠的安全保障[3]。提高消防技術、增加消防手段、提高消防控制系統的可靠性是現代化消防領域面臨的重大問題。為了滿足我國城市化的進程和新時代下人們對消防控制系統的智能性和穩定性的要求,需要一種新型的智慧消防系統:它需要盡可能少的進行非必要的信息交互,在終端感知層將消防信息上傳到云端物聯網平臺時避免由信息交互中間環節出現錯誤[4]。本文提出的智慧消防聯動控制系統做到了終端感知層與消防聯動控制系統的信息直接交互,消除了中控端的參與,最大程度避免中間環節出錯,提高消防控制系統的可靠性與穩定性。并且采用各個子系統分離運行,相互不受影響,即使有一個控制子系統不能正常動作,也不會影響到其他控制子系統。有效的保障了火災中的系統能夠穩定正常的工作,同時也把數據信息上傳至互聯網,保證了數據的及時獲取,讓消防隊員和救援人員對火情、火勢能夠快速進行判斷,采取措施。
系統工作流程:
根據控制等級將系統分為四層:感知層、子控制層(傳輸層)、服務層、云端應用層。(1)在感知層:系統上電后,各個STM32 傳感器模塊向樹莓派發送存活數據包,然后周期性的上傳傳感器的數據。(2)在子控制層(傳輸層):樹莓派通過CAN0 通道接收到數據包后,對數據包進行拆分解析。通過數據包第一位ID 判斷是否為發給自己的數據,如果不是則不再對以后的數據進行解析,如果是,則繼續解析剩余所有標志位數據。樹莓派對所有操作位,數據位進行解析處理后,分析出需要執行具體操作的下一個控制器ID 和具體需要進行的操作,然后對這些數據進行封包,發送給指定子控制器[5]。(3)在服務層:指定子控制器收到后,執行相應的操作。同時樹莓派通過以太網接口,TCP 協議把數據上傳給ARM CORTEX A9 服務器,服務器中的線程1 通過TCP 收發數據,線程2 對數據進行解析,線程3 開辟共享內存,把數據實時放入共享內存中,線程4 把數據存放在sqlite3 數據庫中,同時Linux 運行BOA 服務器,通過CGI 程序對Web 瀏覽器數據實現雙向通信,網頁Web 瀏覽器上實現顯示數據與控制功能。在完成后,繼續把數據上傳至阿里云服務器[6]。(4)在云端應用層:阿里云服務器進行路徑規劃和BIM 三維建模,用來實現火災逃生與救援功能。最后手機APP 通過阿里云獲取數據,實現所有數據同步顯示[2]。系統架構如圖1。

圖1 系統架構圖
感知層是使用STM32 作為溫感、煙感、電機、風機、應急照明等模塊的主控制器,是整個系統的核心部分,負責各模塊之間的數據通信[1]。系統上電后STM32 先初始化搭載的其他模塊與時鐘再循環讀取各個傳感器的數據進行處理,判斷ID 正確后,封裝數據包并由CAN 總線發送到樹莓派。
感知層與子控制層(傳輸層)的通訊是通過CAN總線傳輸的,系統上電后,初始化STM32 系統各個外設模塊和時鐘頻率后初始化CAN 總線,再配置過濾器、過濾器標志位等。然后初始化CAN 數據包,初始化標準標識符、擴展標識符消息長度字節DLC 等。最后完成中斷函數功能,保證CAN 總線接收數據正常,再完成CAN 發送函數,保證CAN 總線發送數據正常。
樹莓派控制子控制器并將數據上傳到CORTEX A9 服務器進行聯網。樹莓派系統版本選擇20-20-02-13-raspbian-buster-full,安裝CAN 驅動后安裝python-can 庫創建一個CAN 設備,初始化并啟用CAN0,指定其作為發送/接收接口后使用函數can.interface.Bus()連接到CAN 總線。然后就可以通過can.Message 與can0.send 進行數據包的收發。
在主進程中創建若干個線程,為了保證系統的實時響應能力,每個線程單獨執行對應的功能。其中線程1 創建TCP 服務端,接收從樹莓派發來的信息,需要時也對樹莓派進行操作指令發送。線程2 對接收到的數據進行分析處理歸納存儲。線程3 創建一塊共享內存,為了和網頁端CGI 程序進行通訊,同時也接收從網頁端發來的數據。線程4 先對串口進行初始化,然后每隔80ms 從串口接收從zigbee 發來的數據。線程5 對zigbee 端發來的數據進行分析處理,算出人員的具體定位。
為了方便消防控制室內人員及時并且迅速掌握智慧消防控制系統的各個節點的情況,在ARM CORTEX A9 上搭建了BOA 服務器用來對系統的工作情況進行顯示。它的第一個功能為zigbee定位功能,根據zigbee 定位系統,定位出人員在大樓內的位置,救援人員根據人員位置進行救援,綜合控制屏定位系統如圖2 所示。

圖2 綜合控制屏定位系統頁面
第二個功能為檢測下面各個節點的運行。其中又分為四個系統,第一個系統為火災報警系統,第二個系統為風控制系統,第三個系統為防火門系統,第四個系統為水控制系統,如圖3 綜合顯示屏顯示數據。

圖3 綜合控制屏檢測數據頁面
選擇Apache 作為Web 服務器是因為它開放源代碼,支持跨平臺的特點方便與手機APP 互聯,安裝httpd、apr、apr-util、pcre-8.40四個文件后在瀏覽器輸入公網IP:http://106.13.14.36/,顯示It works!表示正常運行。基于云服務器開發了路徑規劃系統,云服務器路徑規劃系統可以在發生火災時,為大樓內每個人規劃最優逃生路徑,并且能夠統計大樓內人員總數信息與人員位置信息,幫助人員逃離大樓。也可以及時的幫助消防救援人員了解大樓信息,快速準確的定位并救援到每一個被困人員。其中第二行為著火點位置輸入框,第三行為人員位置輸入框,輸入格式為#號分隔,例如35#45。
本文基于STM32 單片機控制的感知層終端將火災信息傳輸給樹莓派和CortexA9 進行子控制器之間的聯動和云存儲,在BOA 服務器和web 端進行定位和路徑規劃,對受災人員進行逃生路徑引導。制作了較為完備的云端智慧消防控制系統的獨立分類架構的子控制器,顯示網頁和路徑規劃網頁;各子系統分離運行保證各子系統獨立運行互不影響,保障了在火災發生中系統的穩定工作,極大地提升了消防控制系統的可靠性于穩定性。在火災發生階段,幫助外部消防人員快速獲得受困人員信息以及各個消防設備離/在線信息。在預防階段,物業與業主通過web 端與手機端實時監控室內情況,做到防“火”于未“燃”。