李繼紅 安迎建
(云南工商學院 云南省昆明市 651701)
隨著社會的進一步發展,相關硬件采集系統飛速的發展,所謂的火災預警數據采集已經遍布各行各業,工業內部,農業內部、家庭生活內部等,我們能發現相關數據采集無時無刻遍布在我們身邊。以及相關軟件系統的飛速發展,相關系統在開發過程中能夠能更加省時省力地進行。二者的相輔相成,進一步促進了數據采集行業的發展,這也為我們的火災預警系統堅定了基礎,提供了全方面的技術保障。但是,在這樣的環境下,也出現了相關采集系統的成本較高,不能夠完美的切合實際,往往會出現系統和實際解決問題不相符、不匹配的問題,并且其檢測的數據往往精度不高,不能夠實現更為細致精確的數據測量工作,這也為人們的日常工作提供了不便[1]。由于相關檢測設備的參差不窮,檢測設備的目的性質參差不窮,能夠真正的符合本次需求分析的采集系統有少之又少。所有,如何能夠出現一款切合實際的火災預警系統,那將能夠大大有效的提高整個行業標準,也為相關的工廠單位、事業單位提供穩固的保障[2]。為了能夠進一步提高采集數據的快捷性和準確性,從數據的采集端進行穩固的保障工作,將能夠大大提高整個火災預警系統的工作性能。本次火災預警系統設計通過從改善整個數據采集的工作過程,實現自動化、時實化的工作性質[3],為后續火災預警聯動以及消防設備管理系統擴展以及系統發展有深遠的意義。本次實現的火災預警系統是在總結前人的工作以及傳統工作系統的不足,進而在更優質的選擇下達到工作目的。通過物聯網技術改變傳統工作的工作模式,通過更優質高效的計算機子系統的處理下,使得火災預警相關數據檢測工作變得人性化、智能化。簡化了往常工作的復雜性,提高了效率[4]。并且,火災預警系統的實現也使得人們的生活質量顯著提高,人們能在花費少量的時間和精力下,實現往常的等價工作,大大提高了人們的辦事效率。數據的及時性傳輸也能夠讓整個火災系統的即時性大幅度提高,傳統的數據獲取不光復雜,數據整理起來也不方便,有可能出現數據丟失等情況。但是,在物聯網計算機處理數據下,獲取的數據以及反饋也能減少不必要的錯誤,提高數據的精確性和準確性[5]。
本課題基于單片機技術,在分析了以智能家居火災報警系統開發使用的智能需求為基礎,設計了一種基于51單片機的智能家居系統火災報警系統。同時加入了多種傳感器電子技術輔助使用。可以通過按鍵對系統當前時間、溫度閾值、煙霧閾值進行修改,并將溫度檢測模塊以及煙霧檢測模塊得到的數據實時顯示在LCD1602上,便于用戶觀察,同時將數據通過藍牙無線模塊發送至手機APP上,當監測到的溫度超過設定臨界值值時,指示燈閃爍,語音播報模塊發出聲音播報“溫度過高”,隔十秒一次報警;當煙霧濃度超過設定臨界值時,指示燈閃爍,語音播報模塊發出聲音播報“煙霧過高”,隔十秒一次報警;當溫度和煙霧濃度同時超過臨界值時,指示燈連續閃爍,語音模塊循環播報“火災快跑”。同時,手機APP端也可以接收到火災逃跑的信息。

圖1:系統總體結構
采集端通過中央處理系統,配合相關的數據監測模塊能夠進行實現整體數據的采集工作。本次設計的基于單片機的智能家居系統火災報警是通過單片機以及其他采集模塊共同配合下,處理溫度以煙霧工作流程中的問題,數據采集端通過管腳把信息傳輸到單片機處理端,單片機能夠完美的把數據進行處理,為后續的各種操作打好基礎。以及通過單片機的高性能把信號數據進行處理封裝。
系統主要實現的功能有:
(1)系統成功地通過溫度傳感器檢測到溫度數據;
(2)系統通過煙霧傳感器成功檢測到煙霧數據;
(3)系統通過語音模塊進行危險播報處理;
(4)系統能夠通過按鍵進行報警閾值的設置;
(5)能夠通過無線方式發送至上位機供用戶觀測。
基于單片機的智能家居系統火災報警設計項目總共分為以下幾大模塊:電源模塊;STC89C52單片機處理模塊;復位電路模塊;晶振電路模塊;LCD1602顯示模塊;ADC0832模數轉換模塊;按鍵模塊以及語音模塊。
系統總體結構如圖1所示。
在單片機植入的程序選擇上,根據課程上的學習程度以及當前主流的程序,該系統軟件選擇C語言進行開發設計,C語言是一種面向過程的抽象的編程語言。其契合度十分合適對于應用底層的開發,十分滿足本系統的需要。C語言能夠通過使用簡易的程序編譯,使用低級的存儲器。并且高效以及跨平臺性。相對于匯編語言來說,匯編語言,代碼單調,特殊命令字符少,代碼冗長難寫,匯編語言調用內存存儲數據,因此bug發生較大,兼容性較弱,調試也比較困難。 綜合上述分析,本系統采用了C語言作為本系統的開發語言,因為各個模塊的調度問題,選擇C語言能夠提升開發效率,降低出現問題的可能性。
在軟件編程過程中主要采用的是模塊化編程思想,對各個模塊分別進行調試,在所有模塊都能實現其本身的功能時,把各個模塊結合起來,形成一個有機整體。這樣設計方便于在軟件編程過程中程序代碼的優化,并且能更好低完成對程序的設計、調試和維護。軟件系統主要分為系統主程序和任務子程序兩大部分,其中,任務子程序主要用來實現各個模塊的功能,而主程序則負責調用任務子程序,實現整個系統的功能。本系統中主要包括:初始化子程序、按鍵設置子程序、ADC模數轉換子程序、藍牙發送子程序、語音驅動程序、LCD顯示子程序。軟件完成后能夠實現以下功能:

圖2:軟件總體設計流程
(1)各硬件初始化;
(2)按鍵設置系統的運行狀態以及更改時間信息、溫度臨界值以及煙霧濃度臨界值。
(3)LCD1602顯示系統當前運行狀態以及系統的時間、溫度臨界值以及煙
霧濃度臨界值,便于用于進行相關操作。
(4)煙霧模塊監測煙霧數據、溫度模塊檢測溫度數據、語音模塊驅動報警。
(5)藍牙模塊發送監測信息至手機端,便于用戶遠程進行監測。
本系統的人機交互部分主要依靠軟件實現軟件的設計,流程如圖2所示。
LCD顯示當前采集的信息,在設計LCD的單片機程序部分時,為了能讓我們的設計思路清晰明了,LCD的功能更加清楚,最簡單有效的開發方式就是先畫出LCD的具體流程圖,然后按照流程步驟一步一步的設計程序,就避免遺漏重要的顯示信息的情況。
本系統中主要利用按鍵模塊來設置系統工作模式以及更改系統時間、溫度閾值和煙霧閾值。
本次智能家居系統火災報警系統主要能夠實現室內溫濕度監測、煙霧濃度監測等功能,并且可以設定環境參數臨界值,當監測到環境數據大于臨界值時,自動啟動語音模塊報警提示,通知用戶盡快逃離,并且通過藍牙模塊與手機相連,供用戶在一定范圍進行監測,實現對火災的預防與撲救。
在整個系統調試的時候,首先是對硬件方面的調試,在表面上來看似乎把每根線的接觸都是連接好了的,這就往往迷惑了自己,只能看到表面,似乎硬件的調試沒什么難度,就是按照電路設計圖來完成,但是也會產生一定的原因,比如接口焊接不穩,在后續的軟件調試還會以為是硬件的問題。所以我們必須掌握相關的調試方法,根據故障現象,分開模塊進行調試,反復的測試和判斷,分析故障的點在哪里。在測試過程中對硬件電路模塊的測試主要是測硬件的相關參數以及等,在這個硬件的測試的時候進行綜合仿真分析問題。對里面的代碼采用了Protues仿真測試,一個一個模塊的測試,最定位到問題,逐個解決,最后完成。在這整個軟件與硬件的測試中,提高了對事情的分析以及解決能力,提高了對本專業的知識以及興趣,因此,在未來我會在此方面以及擴展方面不斷的學習和積累經驗,最后設計出更多實用的功能。