- 相關推薦
家庭智能技防報警系統的設計和實現
摘 要:本文旨在設計一套基于服務器-客戶端模型的智能技防報警系統,整套系統分為報警器硬件,移動客戶端應用和服務端軟件三部分。接入網絡的報警器將檢測到的異常情況通知客戶,并且客戶可以在智能手機上獲取現場圖像。
【關鍵詞】技防 物聯網 單片機 安卓 TCP/IP
現在市場上面向家庭的報警系統主要包括對入侵、火災等情況的報警。在環境數據的采集上各種報警器實現的方法基本相同,區別主要在報警網絡的搭建上,一般分為兩種:一種是利用電話網絡通過雙音雙頻信號搭建個人報警系統,另一種利用局域網搭建的物業報警系統等。本文研究的技防系統基于服務器-客戶端模型,移動客戶端安裝在智能手機上通過3G或其他方式接入網絡,報警器終端通過用戶家中的無線路由器接入網絡。
1 系統設計和實現
如圖1所示,在系統中,每個報警器都有自己的ID并通過互聯網連接服務器,用戶在移動客戶端上登錄后通過報警器ID將手機和報警器綁定,從而接收已綁定的報警器發出的報警信息。
1.1 報警器終端的設計和實現
報警器終端設計為以單片機為主控,搭載幾個傳感器和數據通信模塊的系統。傳感器完成環境信息的采集,數據通信模塊實現和服務器的連接,單片機完成對傳感器、模塊的控制、實時數據的分析和通過數據通信模塊與服務器的通信。
1.1.1 硬件模塊的具體設計
主控單片機STC12C5A60S2的IO腳與熱紅外傳感器HC-SR501、氣體傳感器MQ-2相連,獲取傳感器數據;單片機的雙串口分別和無線通信模塊USR-WIFI232-T、攝像頭模塊PTC08相連,從而完成與服務器的通信和實時圖像的獲取。USR-WIFI232-T模塊配置成TCP Client自動連接TCP服務器,將服務器傳和單片機串口之間的數據相互轉發。
1.1.2 系統流程圖
系統上電后首先完成各模塊初始化,并向服務器發送包含自身ID的登錄信息。然后系統并發進行實時數據的采集和響應服務器的請求:檢測到異常情況將其上傳至服務器;接收到服務器的拍照請求后,拍照并上傳圖像。
1.2 移動客戶端的設計和實現
該應用設計為一款安卓應用,用戶在運行應用并登錄后,應用即在后臺運行,和手機綁定報警器一旦發現異常,手機將提醒用戶。
1.2.1 主要應用功能分析
應用的主要功能包括登錄、注銷、綁定、解綁、報警、查看警報等。用戶進行登錄操作后,手機即在遠端服務器對一些信息進行注冊,此后應用即在后臺運行,用戶通過掃描二維碼或鍵入某個報警器的ID和key完成和報警器的綁定,對于已綁定的報警器,報警器一旦發現異常情況,手機會以震動、鈴聲的方式提醒用戶,并根據本地信息描述異常情況,比如“廚房出現易燃氣體”等,提醒顯示在手機的通知面板,用戶點擊后即可獲取該報警器拍攝的現場圖片。
1.2.2 程序關鍵部分設計
作為一個報警系統的一部分,它必須具有較高的可靠信和穩定性,它和服務器之間的通信由安卓后臺服務維護。服務類AlarmService繼承自Service,以Started類型啟動,在后臺運行維護ServiceThread類,更新Activity。它重寫onCreate()和onDestroy()方法,在服務的啟動和銷毀時開啟、關閉線程ServiceThread和讀取、保存用戶數據。在重寫onStartCommand()方法接收Activity傳遞的Intent,并以廣播反饋。Handler對象handler用于線程ServiceThread和服務AlarmService之間的通信。
線程類ServiceThread是AlarmService的內部類,在服務開啟后運行,負責和服務器通信,它實現ManageThread接口,由AlarmService調用對其管理。套接字socket和服務器建立TCP連接,輸入流in用于和服務器的基本通信,數據流dataInput在傳輸圖片時打開,完成傳輸后關閉。
1.3 服務端的設計和實現
報警器終端和手機客戶端分別連上服務器的兩個端口,在完成登錄操作后,服務器為客戶端提供服務:為報警器終端向與其綁定的手機客戶端轉發報警信息和實時圖片、接受手機客戶端綁定、解綁報警器的請求等。服務器采取WSAAsyncSelect異步選擇模型,被動接收客戶端的請求,異步處理予以響應。
1.3.1 程序關鍵部分設計
服務端應用程序采用異步選擇模型。在客戶端數據的存儲和客戶端的管理上,對于單個客戶端,ID和SOCKET是兩種客戶端基本的信息,它們存儲在各自CClientInf對象中,所有客戶端信息全部存儲在客戶端管理類CClients中的成員容器里,CClients對于兩種客戶端相同的請求(如登錄請求)的響應直接操作對應的CClientInf對象。對于報警器終端和手機客戶端各自獨有的信息(如報警器終端中與它綁定的手機客戶端的ID信息等)保存在各自的CAlaInf、CMobInf對象中,并記錄在CClientInf中泛型T中,以CClients為父類的報警器終端管理類CAlas、手機客戶端管理類CMobs在響應報警器客戶端、手機客戶端請求時,操作各自父類對象中對應的客戶端信息CClientInf、ClientInf。
客戶端管理類CClients作為CMobs和CAlas的父類,除了完成兩種客戶端基本的請求,還解析客戶端傳來的數據請求類型,通過多態傳給對應的子類,子管理類CMob、CAla根據請求類型完成不同的響應。
2 結束語
本系統的設計將報警器接入物聯網,并搭建了服務器客戶端平臺傳遞數據,報警信息的傳遞作為初步目標。下一步,系統作為平臺可以為智能家電提供接口;服務器通過整合一塊區域內報警器上傳的數據可以預估該地區的整體水平;豐富移動端的應用程序可以提供更智能更準確的用戶服務。
參考文獻
[1]魏小龍.MSP430系列單片機接口技術及實用設計實例 [M].北京:北京航空航天大學出版社,2002.
[2]邁耶.Android4高級編程 [M]北京:清華大學出版社,2013.
[3]lvor Horton.Visual C++ 2012入門經典 [M]北京:清華大學出版社,2013.
【家庭智能技防報警系統的設計和實現】相關文章:
智能家居控制系統的設計與實現09-16
多網絡智能遠程遙控系統的設計與實現08-19
新聞發布系統的設計和實現08-19
嵌入式現場智能顯示系統的設計與實現10-03
旅游云講解系統的設計和實現09-23
智能照明控制系統的設計和應用09-21
某工廠智能安防系統設計方案09-27
家庭理財系統的設計與實現VB+SQL06-07
智能家庭藥品管理系統的交互設計08-12
基于C和串口通信的紅外防盜報警系統設計08-03