陽(yáng)明玥 王娟 謝月熊 胡吉龍 葛佳偉
成都信息工程大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 四川 成都 610225
傳統(tǒng)門鎖作為家裝市場(chǎng)中“小五金”的門類,在全面智慧化的當(dāng)下,成為智慧生活的一部分[1]。然而,傳統(tǒng)門鎖在安全、管理、便利上仍存在極大的不足,雖然目前市場(chǎng)上出現(xiàn)了一些智能門鎖,但大多僅僅是在開(kāi)鎖方式上做一些改變[2]。利用互聯(lián)網(wǎng)和手機(jī)APP搭建一款可監(jiān)控門鎖狀態(tài),交互性更強(qiáng)的新型智能門鎖備受關(guān)注。智能門鎖基本是獨(dú)立的門鎖結(jié)構(gòu),需要將傳統(tǒng)門鎖完全淘汰,不利于資源的最大化利用[3]。因此設(shè)計(jì)一款傳統(tǒng)門鎖智能化裝置具有重大意義。該裝置在傳統(tǒng)門鎖上進(jìn)行改裝,具備新型智能門鎖特點(diǎn)的同時(shí)易于安裝,價(jià)格低廉。
門鎖智能化裝置硬件設(shè)計(jì)要點(diǎn)在于:在傳統(tǒng)門鎖基礎(chǔ)上進(jìn)行加裝,無(wú)須拆卸原有門鎖。裝置使用樂(lè)鑫ESP32芯片作為核心控制模塊。ESP32芯片具有BLE輔助WiFi配網(wǎng)、WiFi加BLE雙連接、WiFi Mesh應(yīng)用等特點(diǎn)[4]。利用其內(nèi)部集成的WiFi模塊自動(dòng)配網(wǎng),可實(shí)現(xiàn)與服務(wù)器的通信[5]。裝置通過(guò)ESP32的WiFi功能,連接上用戶家中的路由器。借由路由器中轉(zhuǎn)訪問(wèn)互聯(lián)網(wǎng),從而使裝置能夠和服務(wù)器進(jìn)行雙端通信,實(shí)時(shí)收發(fā)信息。ESP32對(duì)來(lái)自服務(wù)器的指令進(jìn)行識(shí)別與驗(yàn)證,驅(qū)動(dòng)外圍設(shè)備實(shí)現(xiàn)門鎖開(kāi)啟。同時(shí)規(guī)定裝置按照固定時(shí)間間隔向服務(wù)器發(fā)送當(dāng)前門鎖狀態(tài)以達(dá)到實(shí)時(shí)監(jiān)控的目的。
門鎖智能化裝置程序設(shè)計(jì)以數(shù)據(jù)實(shí)時(shí)傳輸處理為主。該程序由網(wǎng)絡(luò)通信模塊,WiFi模塊,紅外檢測(cè)模塊組成。首先程序?qū)崿F(xiàn)通過(guò)WiFi模塊實(shí)現(xiàn)硬件端與服務(wù)器的連接。再通過(guò)APP用戶注冊(cè)實(shí)現(xiàn)與硬件的綁定。網(wǎng)絡(luò)通信模塊MQTT協(xié)議實(shí)現(xiàn)軟硬件之間通信,以達(dá)到遠(yuǎn)程控制的效果。紅外檢測(cè)模塊則是檢測(cè)門鎖開(kāi)關(guān)狀態(tài),輔助實(shí)現(xiàn)智能報(bào)警功能。
門鎖智能化裝置的軟件設(shè)計(jì)可分為以下方面:客戶端設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì),服務(wù)器端設(shè)計(jì),數(shù)據(jù)傳輸設(shè)計(jì)。
(1)客戶端設(shè)計(jì)??蛻舳塑浖O(shè)計(jì)為基于Android平臺(tái)的手機(jī)APP,實(shí)現(xiàn)用戶數(shù)據(jù)與服務(wù)器交互。手機(jī)應(yīng)用可整合多種新興技術(shù),具有實(shí)用靈活,人機(jī)交互體驗(yàn)好等優(yōu)點(diǎn)。手機(jī)客戶端的功能模塊包括:異地開(kāi)鎖,查看門鎖狀態(tài),改換門鎖密碼,一鍵報(bào)警。
(2)數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)庫(kù)方面采用開(kāi)源數(shù)據(jù)庫(kù)MySQL,基于EMQ X服務(wù)器與Esp32的WiFi模塊進(jìn)行通訊的需求,建立以下數(shù)據(jù)庫(kù)表:mqtt_user,mqtt_client, mqtt_manager, mqtt_sub,mqtt_msg。mqtt_user,mqtt_manager用于系統(tǒng)對(duì)用戶和管理員信息的儲(chǔ)存,mqtt_client,mqtt_sub,mqtt_msg用于對(duì)傳輸?shù)男畔⑦M(jìn)行持久化操作。
(3)服務(wù)器端設(shè)計(jì)。服務(wù)器采用開(kāi)源的EMQX服務(wù)器。服務(wù)器后臺(tái)管理以動(dòng)態(tài)網(wǎng)頁(yè)的方式呈現(xiàn),程序設(shè)計(jì)語(yǔ)言為Java,且以SSM框架集為主。后臺(tái)管理控制面板包含以下信息:客戶端ID,用戶名,IP地址,接入?yún)f(xié)議,當(dāng)前狀態(tài),連接時(shí)間。在數(shù)據(jù)傳輸完成后,服務(wù)器端處理信息,完成消息的發(fā)布和訂閱。由于服務(wù)器端的信息需要實(shí)時(shí)監(jiān)控,系統(tǒng)管理員可以通過(guò)后臺(tái)管理控制面板進(jìn)行監(jiān)控。
(4)數(shù)據(jù)傳輸設(shè)計(jì)。數(shù)據(jù)傳輸方案采用WiFi與3G/4G網(wǎng)絡(luò)結(jié)合的形式。由于門鎖無(wú)鍵盤輸入,不具備人機(jī)交互的條件,可提出Smart Config技術(shù)實(shí)現(xiàn)門鎖一鍵配網(wǎng)。Smart Config技術(shù)只需一個(gè)簡(jiǎn)單步驟即可讓多個(gè)無(wú)顯示器無(wú)輸入設(shè)備通過(guò)智能手機(jī)或平板電腦連接WiFi網(wǎng)絡(luò)[6]??蛻舳嗽O(shè)備連接WiFi后使用APP中的一鍵聯(lián)網(wǎng)功能,通過(guò)廣播的方式,發(fā)送賬號(hào)密碼。門鎖智能化裝置的ESP32芯片接收廣播獲得其賬號(hào)和密碼,與服務(wù)器建立連接。數(shù)據(jù)傳輸協(xié)議為MQTT協(xié)議??蛻舳嗽O(shè)備主動(dòng)建立網(wǎng)絡(luò),連接服務(wù)器后向服務(wù)器發(fā)布消息。硬件終端訂閱服務(wù)器的消息并接受來(lái)自服務(wù)器的消息推送??蛻舳藢?shí)時(shí)接收硬件終端回傳的消息并進(jìn)行數(shù)據(jù)的更新。MQTT協(xié)議可在設(shè)備硬件資源受限、高延遲以及帶寬有限的網(wǎng)絡(luò)上實(shí)現(xiàn)[7]。這樣的數(shù)據(jù)傳輸模式使智能門鎖的應(yīng)用場(chǎng)景更加靈活。
本裝置利用Smart Config技術(shù)實(shí)現(xiàn)硬件端與服務(wù)器相連。再通過(guò)APP用戶注冊(cè)實(shí)現(xiàn)軟件與硬件的綁定。最后使用MQTT協(xié)議實(shí)現(xiàn)軟硬件通信。本裝置由于在硬件上實(shí)現(xiàn)傳統(tǒng)門鎖改造極大程度地降低成本。用戶可利用手機(jī)APP進(jìn)行便捷操作,提高用戶交互性。
門鎖智能化裝置在硬件方面的設(shè)計(jì)還需更多突破。考慮到裝置的成本問(wèn)題和安裝問(wèn)題,未來(lái)的設(shè)計(jì)方向?qū)⒓性跍p小裝置體積,提高裝置靈敏度方面。目前裝置在數(shù)據(jù)傳輸中的安全性有待增強(qiáng),后續(xù)設(shè)計(jì)要注意安全模塊的開(kāi)發(fā)。