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