施金磊



在當今智慧互聯的時代,智能化的家庭安防報警系統能幫助人們自動化的預警家庭安全狀況,穩定高效地保護家庭的隱私安全、人身安全、財產安全,可以說智能家庭物聯網是每個家庭都需要的。而本系統中我們采用了Arduino開發平臺與LoRa通訊技術,前者具有跨平臺、編程簡單、開放的優點,后者具有遠距離、低功耗、抗干擾、高穿透的特性,采用它們設計實現物聯網家庭安防系統,最終系統達到了層次化、分布式的良好結構目標,而且操作簡單,滿足正常家庭需要,同時為未來家庭互聯、接軌城市物聯網,建設智慧城市做好鋪墊。
【關鍵詞】LoRa 物聯網 Arduino
隨著新的物聯網通訊標準的發布,基于低功耗廣域網(LPWAN)的智能系統產品不斷出現。目前LPWAN中代表性的LoRa技術具有功耗低、覆蓋廣、穿透性強的特點,在國內外已被運用到了很多應用場景中,如水運定位、路燈監測、停車位監測等。隨著國家智慧城市的廣泛推進,家庭物聯網與城市物聯網的接軌也勢必走向現實。為與未來的技術發展趨勢相適應,LoRa這一家庭城市均可使用的通信方式被我們運用到了家庭物聯網安防系統設計之中,作為家庭物聯網的核心通信方式。
不僅如此,當今家庭物聯網多是閉源、單一的,不易進行拓展升級開發,而且容易出現信息安全問題,不能有效防護使用者的隱私安全。整個系統大多也不夠層次化、系統化,魯棒性不足,而我們的設計很好的解決了這些問題。在開源開放的同時,注重用戶隱私安全,對系統進行了信息安全保密加固,使其實現層次化管理,分布式收集分析,可視化操作,實現了系統化、高效化、便捷化。
1 報警系統的總體結構
本家庭物聯網安防系統由四個層次、五個部分組成。系統結構圖如圖1所示。
最底層是各個傳感器,包括紅外傳感器、超聲波傳感器、瓦斯傳感器、有害氣體傳感器、激光傳感器、火焰傳感器、視頻探頭等。這些傳感器收集家庭中的各種安全狀況信息。然后通過串口通信將信息傳送給上一層,即家庭終端。家庭終端我們采用基于Arduino的開發板。家庭終端負責初步處理傳感器接收到的信息,然后將加工處理過的信息再傳送給上一層,即家庭服務器。家庭終端與家庭服務器之間通信我們采用LoRa技術來完成。家庭服務器我們使用的是樹莓派,它負責將信息進一步處理整合并備份然后將整合解析出來的結果發送給云端服務器,而且視頻設備就通過usb接口與樹莓派直接連通。家庭服務器所做的信息備份也方便了日后查詢。可以說家庭服務器不僅是整個物聯網系統的內核心,也是整個家庭內部物聯網系統與外部物聯網系統的信息紐帶。
本物聯網安防系統的最高層,就是云端服務器和使用者手中的手機移動終端兩個部分。云服務器上運作著基于MVC架構的控制整個系統的物聯網管理系統。這個系統把底層收集的數據先進行智能化分析然后再可視化呈現,最終使用者可直觀的了解家庭安全信息,直接便捷的控制家庭物聯網系統。而使用者手中的手機終端的功能就是進入云端系統的移動版進行整體管理,做到管理便捷化,云端系統也會實時地將家庭報警信息推送至手機終端,做到可交互。
2 系統硬件設計
2.1 家庭服務器設備
家庭服務器基于的是樹莓派3 B+開發板,使用開發板作為服務器而沒有使用服務器級計算機是為了滿足物聯網低功耗、體型小的要求,而且樹莓派作為基于ARM的微型開發板,具有很強的運算處理能力,且支持USB、串口、HDMI、無線Wi-Fi、LAN等多種輸入輸出方式。能滿足視頻錄像的圖形處理要求,又能滿足高速接入互聯網的要求。同時它的多接口可以使其具有豐富的拓展性,甚至可以集群化,達到更高的處理能力。
我們通過Wi-Fi的方式使其接入互聯網,以使其能將信息提交至云端服務器。LoRa模塊接入樹莓派的串口,實現串口通信。
2.2 家庭終端設備
家庭終端設備選用Arduino開發板,Arduino是近年來在國內外很受歡迎的一種開發板,它具有以下幾個優點。
2.2.1 跨平臺
Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系統上運行,而其他的大多數控制器只能在Windows上開發。
2.2.2 編程簡單
Arduino IDE基于processing IDE開發。對于初學者來說,極易掌握,同時有著足夠的靈活性。Arduino語言基于wiring語言開發,是對 avr-gcc庫的二次封裝,不需要太多的單片機基礎、編程基礎,簡單學習后就可以快速的進行開發。
2.2.3 開放
Arduino秉承開源精神,其硬件原理圖、電路圖、IDE開發環境及核心庫文件都是開源的,這樣既保證了Arduino的穩定安全、更使其具有極大的拓展性,滿足未來更加開放開發的需要。
以上幾個特性使其可以很好地滿足本物聯網系統的開發需要。Arduino有一系列的開發板,我們使用的是Arduino Uno。通過Arduino Uno來控制諸多傳感器,收集信息,感知環境,并將得到的信息處理為家庭安全狀況實時信息后發送至家庭服務器。
2.3 LoRa通信模塊
本系統使用的LoRa通信模塊,嵌入了高速、低功耗單片機和高性能LoRa擴頻芯片SX1278,采用了高效的FEC前向糾錯算法,其編碼效率較高,糾錯能力強,在突發干擾的情冴下,能主動糾正被干擾的數據包,大大提高可靠性和傳輸距離。而其使用的LoRa直序擴頻技術,也具有以下幾個優點。
(1)更遠的通訊距離;
(2)發射功率密度低,不易對其他設備造成干擾;
(3)保密性高,被截獲的可能性極低;
(4)抗干擾能力強,對同頻干擾及各種噪聲具有極強的抑制能力;
(5)具有極好的抗多徑衰落性能。
當然還有一個重要原因是因為其超低的功耗,可以通過電池供電的方式來長期運行。當模塊工作時,可以通過延長響應時間的方式來降低功耗,經測試,當響應時間為2s時,其模塊平均電流可降低至30uA。
借助升特的LoRa專利調制技術,SX1278采用低成本的晶體和物料即可獲得超過-148dBm的高靈敏度與+20dBm功率放大器的集成,使器件的鏈路預算達到了行業領先水平,成為遠距離傳輸和對可靠性要求極高的應用的最佳選擇。相比傳統調制及時,LoRa調制技術在抗阻塞和選擇性方面也具有明顯優勢,解決了傳統設計方案無法同時兼顧距離、抗干擾和功耗的問題。
以上這些特性使其滿足了家庭物聯網的需要,更符合智慧城市建設的需要。將其使用在家庭物聯網之中,能為未來接軌智慧城市建設做好鋪墊。
我們在系統中將LoRa作為核心通信方式,在家庭終端和家庭服務器上均通過串口安裝了LoRa通信模塊,使前者能安全、穩定地將家庭安防信息傳送至后者,連接圖如圖2、圖3。
2.4 入侵檢測報警模塊
本模塊由人體紅外傳感器和超聲波測距傳感器組成。前者基本原理是檢測人或者動物發出的特定波長10UM左右紅外線并用經過菲泥爾濾光片增強后聚集到紅外感應源上,而紅外感應源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發生變化時就會失去電荷平衡,向外釋放電荷,后續電路經檢測處理后就能產生報警信號。所以,紅外探測是感應移動物體溫度與背景物體溫度的差異。后者基本原理則是模塊向某一方向發射超聲波,在發射的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。聲波在空氣中的傳播速度為340m/s,根據計時器記錄的時間t,就可以計算出發射點距障礙物的距離s,即:s=340m/s× t / 2 。我們通過兩種傳感器,感知環境,實現家庭未知人員入侵警報的功能,并使其互相印證,這樣便能提高報警的準確率,降低誤報率。此模塊接入家庭終端的連接圖,如圖4、圖5所示。
2.6 家庭環境異常報警模塊
本模塊由有害氣體探測傳感器和火焰探測傳感器兩部分組成。我們將此模塊布置在家中的廚房位置,這樣基本能實時了解家庭廚房的安全狀況,同上面的入侵報警模塊一樣,以兩個傳感器感知的方式,提高了報警的準確。此模塊接入家庭終端的的線路圖,如圖6、圖7所示。
3 系統軟件設計與實現
3.1 家庭服務器程序設計
家庭服務器采用的是Linux操作系統,并配置python運行環境。python語言腳本語言具有高級語言的抽象特性,可以很容易的實現控制視頻監控的流媒體傳輸這樣的高級功能。而且其具有豐富的模塊庫,通過引用庫函數serial的方式,我們很快速的完成本系統的串口通信功能的開發。而且python也是開源的,這樣能很方便的進行以后的系統功能拓展開發。而服務器所使用的Linux操作系統,相比微軟平臺的windows server,具有成熟、穩定、高效的特性,更適合作為家庭安防物聯網系統的核心服務器。
我們開發的python腳本通過Flask框架實現視頻監控的流媒體傳輸,通過serial模塊控制串口UART的TxD、RxD兩個引腳。家庭終端Arduino通過LoRa模塊傳輸至家庭服務器樹莓派RxD引腳,服務器接收到數據便進行邏輯判斷處理,然后用python的urllib2模塊構造post請求數據包發送至云端。具體流程圖如圖8所示。
3.2 家庭終端程序設計
家庭終端程序是通過Arduino IDE燒入Arduino,程序通過監測傳感器所連接的輸入引腳的輸入值及狀態實現功能。例如在超聲波傳感器監測模塊程序中,首先通過Serial.begin函數設置波特率,通過pinMode設置SR04傳感器對應的引腳,然后進入正式監測階段,首先產生一個10us的高脈沖去觸發TringPin,然后檢測脈沖寬度,并通過聲速公式計算出了距離。其中入侵檢測報警功能和家庭環境異常檢測功能均以模塊化的方式實現,方便未來的拓展升級。
3.3 云端物聯網管理系統設計
云端采用的是Linux操作系統,版本為CentOS 7.2,配置有PHP+MySQL運行環境。管理系統為經典的MVC架構,前端采用bootstrap開發框架,后端使用PHP開發語言。bootstrape框架的使用使管理系統得到扁平化的視覺呈現,不僅美觀,而且重點鮮明突出。PHP語言是一門穩定高效的語言,被廣泛運用于網站開發,具有很高的市場占有率。我們利用現有的php網站模板框架,實現了系統網站的用戶注冊、登錄、注銷、數據庫管理、視頻流傳輸等基本功能,而且實現了對家庭服務器提交的警情數據的智能分析。同時借助阿里云提供的服務其具有了防注入攻擊、跨站腳本攻擊、密碼爆破攻擊、拒絕服務攻擊等安全特性。在滿足系統管理、智能分析的同時,也方便了用戶的便捷管理,了解家庭警情。系統界面如圖9、圖10所示。
3.4 手機終端(Ardroid)程序設計
手機終端采用Android平臺,Ardroid作為一個開放成熟的平臺,非常適合作為研究開發。在編寫app控制程序的過程中,我們著重針對整個物聯網系統的運作方式進行了進行了app安全加固。首先是對app代碼進行混淆加密,防止app被惡意反編譯破解,從而危及使用者的隱私安全。之后再改進傳輸機制,采用先加密再傳輸的方式,防止截斷攻擊。在通過對用戶弱口令的提示,來防止app使用中的人為漏洞。手機終端視圖如圖11、圖12所示。
4 系統測試
采用一加3T作為手機終端,并安裝終端App軟件。采用兩塊Arduino Uno開發板,一塊串口接紅外、超聲波傳感器,另一塊串口接火焰、有害氣體探測傳感器。而兩塊開發板都接LoRa通信模塊,即SX1278芯片,芯片接天線。在家庭服務器樹莓派3 B+上接LoRa通信模塊,并把樹莓派通過Wi-Fi的方式接入互聯網。云端采用阿里云的ECS,并在其上建立php+MySQL的物聯網管理系統的運行環境。然后將物聯網管理系統架設在云端。測試結果如圖-。結果表明所設計的報警系統是可以穩定運行的,當有外人入侵或火災、有害氣體發生時,實現了現場蜂鳴器報警,并對警情現場進行視頻錄像,把警情發生的狀況和時間等信息進行備份,并發送至云端管理系統,同時手機app實時從云端得到信息進行警情推送。使用者通過app了解警情,觀看現場警情畫面。測試圖如圖13。
5 結論
本文針對家庭安防中存在的現實問題和實際需求,并面向未來,接軌智慧城市建設,設計實現基于LoRa技術的家庭物聯網安防系統,設計中采用層次化、分布式的方式,對系統進行設計,實現了信息的層次處理,逐步分析,提高了報警的準確率,降低了誤報率,加強了系統的魯棒性,并通過云端式的管理,實現了系統的穩定高效,實時分析智能化處理。真正實現了物聯網系統應有的低功耗、智能化,開發板的選擇也方便了系統的安裝,拓展開發,廣泛適用。LoRa技術的應用也方便以后接入城市物聯網,為智慧城市底層建設做好鋪墊。
參考文獻
[1]張子木.基于Arduino的物聯網接入技術的研究[D].北京工業大學,2015.
[2]楊繼志,郭敬.Arduino的互動產品平臺創新設計[J].單片機與嵌入式系統應用,2012(04):39-41.
[3]崔陽,張維華,白云峰.一種基于Arduino的智能家居控制系統[J].電子技術應用,2014(04):123-125.
[4]趙太飛,陳倫斌,袁麓,胡小喬.基于LoRa的智能抄表系統設計與實現[J].計算機測量與控制,2016(09):298-301.
[5]許慶瑞,吳志巖,陳力田.智慧城市的愿景與架構[J].管理工程學報,2012(04):1-7.
作者單位
江蘇警官學院 江蘇省南京市 210031