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