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