2.4.1系統(tǒng)功能模塊設(shè)計(jì) 根據(jù)本文中基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)的設(shè)計(jì)要求,對該系統(tǒng)進(jìn)行功能模塊設(shè)計(jì), 其功能如圖所示:
基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)的功能模塊主要包括硬件傳感器模塊,網(wǎng)關(guān)模塊,云服務(wù)器和檢測系統(tǒng)。硬件傳感器模塊包含窗磁傳感器模塊和人體紅外傳感器模塊,它們對門口窗戶進(jìn)行人員出入實(shí)時(shí)檢測,是系統(tǒng)的感知部分,LoRa網(wǎng)關(guān)模塊對傳感器傳回的數(shù)據(jù)進(jìn)行整理傳送給服務(wù)器,是系統(tǒng)的通信部分。電腦通過internet或者Wi-Fi對云服務(wù)器中的數(shù)據(jù)進(jìn)行調(diào)用。 2.4.2系統(tǒng)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì) 基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖,通過在實(shí)驗(yàn)室門窗現(xiàn)場進(jìn)行傳感器布置來對環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測收集信息。然后通過lora無限網(wǎng)絡(luò)將感知節(jié)點(diǎn)的數(shù)據(jù)信息傳送給lora網(wǎng)關(guān)然后通過網(wǎng)關(guān)內(nèi)在的轉(zhuǎn)換協(xié)議進(jìn)行轉(zhuǎn)換在發(fā)送到云服務(wù)器,PC端通過網(wǎng)絡(luò)在對服務(wù)器中的數(shù)據(jù)進(jìn)行調(diào)用,存儲(chǔ)。
2.5系統(tǒng)工作原理 前段采集模塊首先判斷PC端有無獲取命令發(fā)過來,若檢測到獲取命令,則執(zhí)行獲取命令一次,采集前端傳感器的相應(yīng)狀態(tài)及數(shù)值,并通過LoRa模塊將檢測到的傳感器狀態(tài)及數(shù)值發(fā)送給網(wǎng)關(guān),網(wǎng)關(guān)在將數(shù)據(jù)信息發(fā)送到云服務(wù)器,PC端通過網(wǎng)絡(luò)連接云服務(wù)器獲取數(shù)據(jù)并顯示;若沒有檢測到獲取命令,前端測量器件將進(jìn)行循環(huán)測量并采集傳感器的狀態(tài)及數(shù)值,將前端狀態(tài)及數(shù)據(jù)發(fā)送給網(wǎng)關(guān)模塊,網(wǎng)關(guān)根據(jù)傳輸協(xié)議,將數(shù)據(jù)傳送到云服務(wù)器進(jìn)行存儲(chǔ)。PC端在獲取數(shù)據(jù)后進(jìn)行數(shù)據(jù)對比,若安全則直接存入數(shù)據(jù)庫,若不安全則發(fā)出警報(bào)在存入數(shù)據(jù)庫
3基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)的硬件設(shè)計(jì)3.1硬件3.1.1LoRa終端以下圖是LoRa終端的功能圖和實(shí)物圖 LoRa節(jié)點(diǎn)的核心部分是STM8L052R8芯片。STM8L052R8芯片是單片機(jī)STM8系列的一種,是使用最廣泛的單片機(jī)處理器。STM8L052R8芯片的特點(diǎn)是: 1)處理速度快,功耗低,成本低, 2)有專門的IAR開發(fā)工具,方便開發(fā)使用 3)具有豐富的 接口電路,能滿足大部分功能開發(fā) 3.1.2LoRa網(wǎng)關(guān)本設(shè)計(jì)采用的是銳米網(wǎng)關(guān),型號(hào)為RGWC490LA-GST,外觀如圖所示。LoRaWAN網(wǎng)關(guān)是連接傳感器節(jié)點(diǎn)和互聯(lián)網(wǎng)網(wǎng)絡(luò)的紐帶,可以實(shí)現(xiàn)LoRa協(xié)議與不同類型的網(wǎng)絡(luò)協(xié)議(以太網(wǎng)或WiFi)的轉(zhuǎn)換。LoRaWAN網(wǎng)關(guān)將數(shù)據(jù)TCP/IP協(xié)議與服務(wù)器進(jìn)行通信。TCP/IP協(xié)議是目前世界上應(yīng)用最為廣泛的協(xié)議,它不依賴于任何特定的計(jì)算機(jī)硬件或操作系統(tǒng),提供開放的協(xié)議標(biāo)準(zhǔn),而且也不依賴于特定的網(wǎng)絡(luò)傳輸硬件,所以TCP/IP協(xié)議能夠集成各種各樣的網(wǎng)絡(luò),是連接硬件和軟件的實(shí)用工具。 其主要的參數(shù)特點(diǎn)是: 1)多通道:基于SX1301芯片,8通道,最大支持10,000個(gè)LoRa終端。長距離:空曠環(huán)境可覆蓋半徑5km的區(qū)域。 2)全網(wǎng)通:支持LTE (4G/3G/2G),網(wǎng)關(guān)“免接線”即可連接server (選配)。 3)自適應(yīng):支持ADR,更高的速率,更低的能耗,輕松擴(kuò)容。 4)兼容性:完全兼容LoRaWAN, 內(nèi)含的協(xié)議可將數(shù)據(jù)轉(zhuǎn)換為wifi或TCP/IP傳輸至服務(wù)器端。 3.1.3USB調(diào)試工具LoRa終端的調(diào)試需要調(diào)試工具,不同的單片機(jī)所用的調(diào)試工具也不同,本文采用的USB調(diào)試工具,如圖所示
3.2傳感器介紹3.2.1人體紅外傳感器本實(shí)驗(yàn)使用的是商業(yè)人體紅外探測器傳感器,通信方式為IO電平通信,型號(hào)為PA-465。在實(shí)際的使用過程中,人體紅外探測器傳感器通信接口默認(rèn)為電平位高,當(dāng)人體紅外探測器傳感器監(jiān)測到紅外光信號(hào)發(fā)生變化時(shí),人體紅外探測器傳感器會(huì)發(fā)出報(bào)警同時(shí)通訊接口電平被拉低,報(bào)告節(jié)點(diǎn)發(fā)現(xiàn)有人經(jīng)過。
以下是人體紅外傳感器的單路原理圖。
人體紅外探測器傳感器的通信協(xié)議定義如下表所示: 傳感器 | | | | | | | | | 數(shù)值0或者1變化,0表示未監(jiān)測到紅外信號(hào)變化,1表示檢測到紅外信號(hào)變化 | | | | D0的Bit0表示紅外信號(hào)變化信息上傳狀態(tài),1表示主動(dòng)上報(bào),0表示詢問上報(bào) | | | | 修改主動(dòng)上報(bào)的時(shí)間間隔 |
表1 人體紅外傳感器通信協(xié)議定義
3.2.2窗磁傳感器本實(shí)驗(yàn)使用商業(yè)窗磁探測器傳感器,通信方式電平觸發(fā),型號(hào)為 ZY-CC001xIO。在實(shí)際的使用工程中,窗磁探測器傳感器通信接口默認(rèn)電平位低,當(dāng)窗磁探測器傳感器監(jiān)測到窗體被打開時(shí),窗磁探測器傳感器會(huì)發(fā)出報(bào)警同時(shí)通訊接口電平被拉高,通知ZXBee Lite 節(jié)點(diǎn)發(fā)現(xiàn) 窗戶被打開。
窗磁探測器傳感器的通信協(xié)議定義如下表所示: 傳感器 | | | | | | | | | 數(shù)值0或者1變化,0表示未監(jiān)測磁場,1表示檢測到磁場 | | | | D0的Bit0表示紅外信號(hào)變化信息上傳狀態(tài),1表示主動(dòng)上報(bào),0表示詢問上報(bào) | | | | 修改主動(dòng)上報(bào)的時(shí)間間隔 |
3.2.3LoRaWAN網(wǎng)關(guān) LoRaWAN網(wǎng)關(guān)是連接傳感器節(jié)點(diǎn)和互聯(lián)網(wǎng)網(wǎng)絡(luò)的紐帶,可以實(shí)現(xiàn)LoRa協(xié)議與不同類型的網(wǎng)絡(luò)協(xié)議(以太網(wǎng)或WiFi)的轉(zhuǎn)換。LoRaWAN網(wǎng)關(guān)將數(shù)據(jù) TCP/IP協(xié)議與服務(wù)器進(jìn)行通信。TCP/IP協(xié)議是目前世界上應(yīng)用最為廣泛的協(xié)議,它不依賴于任何特定的計(jì)算機(jī)硬件或操作系統(tǒng),提供開放的協(xié)議標(biāo)準(zhǔn),而且也不依賴于特定的網(wǎng)絡(luò)傳輸硬件,所以TCP/IP協(xié)議能夠集成各種各樣的網(wǎng)絡(luò),是連接硬件和軟件的實(shí)用工具。
4基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)的軟件設(shè)計(jì)4.1開發(fā)環(huán)境基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)的軟件部分采用C#作為開發(fā)語言,使用VisualStudio 2012作為開發(fā)工具,數(shù)據(jù)庫采用SqlSever 2012作為開發(fā)工具,SQL作為查詢語言。 C#編程語言是2010年由微軟公司的Anders Hejlsberg和 ScottWillamette領(lǐng)導(dǎo)的開發(fā)小組專門為.NET平臺(tái)設(shè)計(jì)的語言,它可以使程序員移植到.NET上。這種移植對于廣大的程序員來說是比較容易的,因?yàn)镃#從C,C++和Java發(fā)展而來,它采用了這三種語言最優(yōu)秀的特點(diǎn),具有面向?qū)ο笥?jì)算機(jī)語言所具有的包裝、繼承和多態(tài)的特性,是一個(gè)徹底的面向?qū)ο蟮挠?jì)算機(jī)語言。C#語言可以創(chuàng)建Windows應(yīng)用程序、Windows控制臺(tái)應(yīng)用程序、Web應(yīng)用程序和Web服務(wù)。另外C#語言運(yùn)行的開發(fā)環(huán)境是微軟的.NETFramework, .NET Framework是萬軟面向?qū)ο蟮某绦蜷_發(fā)和運(yùn)行平臺(tái)。Visual Studio 2012是美國微軟公司推出基于.NET Framework4.5的開發(fā)工具包,是市場上目前用于開發(fā)Windows應(yīng)用程序比較流行的開發(fā)環(huán)境。 SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個(gè)OS/2 版本。隨著不斷完善依次推出了2005版本,2008版本,2012版本2015版本。真正達(dá)到客戶機(jī)/服務(wù)器體系結(jié)構(gòu),圖形化用戶界面,是系統(tǒng)管理和數(shù)據(jù)庫管理更直觀和簡單。C#語言對數(shù)據(jù)庫訪問的通信橋梁是.NETFramework中用于數(shù)據(jù)庫訪問組建(ActiveX Data Objects.ADO)。SQL是與數(shù)據(jù)庫管理系統(tǒng)進(jìn)行通信的標(biāo)準(zhǔn)數(shù)據(jù)庫語言,具有數(shù)據(jù)定義、數(shù)據(jù)控制和數(shù)據(jù)操縱功能,可以實(shí)現(xiàn)對數(shù)據(jù)庫的查詢、修改、更新和刪除。 4.2軟件設(shè)計(jì)4.2.1數(shù)據(jù)庫設(shè)計(jì)及程序入口定義數(shù)據(jù)庫是上位機(jī)的核心部分,數(shù)據(jù)庫建立的不合理會(huì)增加數(shù)據(jù)冗余,增加上位機(jī)開發(fā)的難度,所以要建立適合自己的數(shù)據(jù)庫,才能更好的使用上位機(jī)。上位機(jī)的數(shù)據(jù)庫名字為FDXT.mdb, 上位機(jī)軟件使用SQL Server2005數(shù)據(jù)庫,在進(jìn)行軟件設(shè)計(jì)的時(shí)候需要對數(shù)據(jù)庫進(jìn)行設(shè)計(jì)。 1) 用戶信息表(tb_user) 用戶信息表負(fù)責(zé)存儲(chǔ)用戶名字,用戶ID賬號(hào)和密碼信息,其數(shù)據(jù)結(jié)構(gòu)如表所示。
2) 窗磁信息表(tb_date1)
3)人體紅外信息表(tb_date2) 3) 程序入口定義 在C#軟件中連接該數(shù)據(jù)源需要寫一些連接代碼,關(guān)鍵代碼如下:
4.2.2登陸界面登陸界面用來對軟件使用者的身份進(jìn)行驗(yàn)證,判斷軟件使用者是否是合法用戶,登陸界面如圖所示:
用戶的身份驗(yàn)證是通過用戶輸入的賬號(hào)和密碼與數(shù)據(jù)庫中的賬號(hào)密碼進(jìn)行比較,若正確則登陸成功,否則登陸失敗。完成登陸后將顯示主界面。登陸流程圖如下:
4.2.3主界面主界面包括窗磁報(bào)警和人體紅外檢測兩部分,如圖所示,窗磁報(bào)警這一欄內(nèi)有顯示室內(nèi)安全情況,監(jiān)測是否開啟;查詢和開啟報(bào)警按鈕。
5系統(tǒng)測試1) 測試內(nèi)容 本文硬件方面主要是進(jìn)行理論性研究,因此主要測試的內(nèi)容就是對軟件方面的測試,主要測試軟件是否正確,軟件功能是否滿足要求。 2)測試目的 明確實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)是否具有安全性,合法性以及對數(shù)據(jù)信息是否具有保密性。除此之外還要驗(yàn)證是否滿足需求,并根據(jù)測試出的問題來完善需求,不斷優(yōu)化原系統(tǒng),以確保軟件的安全和質(zhì)量。 3)測試方法 測試方法是指對軟件的測試方法。對于不同類型的軟件需要用不同的測試方法,只有針對性測試,才能得出更好的結(jié)論。目前網(wǎng)上常用的測試方法有白盒測試和黑盒測試。黑盒測試指的是把被測軟件看成一個(gè)黑盒子,不關(guān)心它的內(nèi)在結(jié)構(gòu),只在意軟件的輸入數(shù)據(jù)和輸出結(jié)果,所以黑盒測試就是軟件功能測試。白盒測試則和黑盒測試相反,是結(jié)構(gòu)邏輯上的測試。根據(jù)本系統(tǒng)的功能以及需求等,測試方法選擇了黑盒測試,在知道軟件系統(tǒng)的功能及需求的條件下,從用戶的角度,通過對數(shù)據(jù)的輸入與輸出來檢測程序接口功能是否正常,將程序看做一個(gè)整體,不需要考慮系統(tǒng)內(nèi)部代碼邏輯結(jié)構(gòu),主要對界面以及功能測試。黑盒測試的結(jié)果相對來說比較直觀,對后期系統(tǒng)的維護(hù)與完善具有很大的幫助。
4)測試步驟 基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)測試表 | | | | | | | ,當(dāng)窗磁探測器檢查到窗戶被打開的信號(hào)后,顯示非法入侵 | | | | 當(dāng)人體紅外探測器檢測到人體信號(hào)后,顯示非法入侵 | |
5)測試總結(jié) 對于本次的黑盒測試結(jié)果,實(shí)例測試的實(shí)際結(jié)果與期望結(jié)果完全相同。從測試結(jié)果來看,基于LoRa技術(shù)的實(shí)驗(yàn)室門窗報(bào)警系統(tǒng)的模塊鏈接沒有問題。可以實(shí)現(xiàn)最初的設(shè)計(jì)想法,并且在一定程度上可以滿足用戶的功能需求。后期將學(xué)習(xí)和了解更多的專業(yè)知識(shí),不定期的進(jìn)行測試和維護(hù),記錄測試結(jié)果,不斷優(yōu)化系統(tǒng)。
|