□□ 張 鈺 (山西職業(yè)技術學院,山西 太原 030006)
目前,樓宇智能門鎖系統(tǒng)的無線網(wǎng)絡通信普遍采用WIFI、藍牙協(xié)議棧BLE、ZigBee和NB-IoT等通信技術,各種類型的智能門鎖特點見表1。由表1可知,現(xiàn)有技術不能滿足穩(wěn)定性、長距離傳輸和低功耗等工程應用需求,同時存在用戶體驗差、管理不便和安全性較低等問題。因此,擬設計一種基于改進型LoRa的智能鎖系統(tǒng),充分利用LoRa通信協(xié)議功耗低、通信距離長和頻段免費等特點,使得智能門鎖具有安全性高、成本低和便于管理等特點。
表1 無線通信協(xié)議的智能門鎖
智能門鎖系統(tǒng)的設計是根據(jù)開放式系統(tǒng)互連OSI(Open System Interconnect)參考模型為依托,設計自南到北的模塊化功能,智能門鎖系統(tǒng)由物理層、網(wǎng)絡層和云端服務層等三部分組成,智能門鎖系統(tǒng)結構如圖1所示。
圖1 LoRa門鎖系統(tǒng)總體框架
其中,物理層主要是LoRa通信模塊,LoRa通信模塊為小區(qū)每個用戶的門鎖;網(wǎng)絡層為LoRa網(wǎng)關設備,其是各用戶門鎖LoRa通信數(shù)據(jù)的匯聚中心,實現(xiàn)與物理層和LoRa服務器之間的數(shù)據(jù)通訊;云端服務層由云端服務控制和應用服務控制組成,用于實現(xiàn)業(yè)務處理和設備管理,云端服務控制是遠程控制LoRa智能門鎖服務的各種功能的后臺遠程維護,應用服務控制是在手機終端,實現(xiàn)用戶與智能門鎖系統(tǒng)之間的交互功能。
智能門鎖系統(tǒng)的物理層設計如下:
(1)硬件設計。關鍵在于LoRa通信模塊中各個核心部件的選用。首先是控制器芯片型號的選擇,核心芯片確定后,基于實現(xiàn)的功能選擇外圍電路模塊。
(2)軟件設計?;谟布Y源開發(fā)的軟件功能和手機Android APP軟件。根據(jù)功能需求,智能門鎖系統(tǒng)的核心芯片采用低功耗STM32系列芯片,系統(tǒng)的無線網(wǎng)絡構建采用改進性LoRa通訊協(xié)議。
2.1.1核心芯片
智能門鎖核心芯片的選用是基于LoRa的STM32系列芯片,其主控芯片型號為STM32L151C8T6D。智能門鎖由LoRa主控芯片模塊、1.8寸串口TFT觸摸屏模塊、PAM8610數(shù)字微型功放板、直流電機正反轉模塊(驅動電壓12 V)和DC電池模塊(具有升壓功能)組成,如圖2所示。
圖2 基于LoRa的門鎖硬件組成圖
通信模塊是整個門鎖系統(tǒng)能耗的關鍵,故使用支持LoRa通信協(xié)議芯片,其型號為STM32L151C8T6D,該芯片的微控器功耗低、可擴展性好、穩(wěn)定性高且性價比高。智能門鎖的RF射頻模塊采用利爾達芯片模塊,型號為LSD4RF-2F717N30。
2.1.2軟件開發(fā)
物理層硬件芯片代碼由STM32 CubeMX軟件生成,是基于芯片型號的硬件模塊化初始代碼包,再利用uVision5進行模塊化應用開發(fā),如圖3所示。
圖3 硬件芯片代碼模塊化編程
模塊化的硬件編程大大縮短了開發(fā)時間。由STM32 CubeMX軟件生成的模塊化代碼包中包括LoRa智能門鎖功能性設計中所需要功能的基礎代碼、觸摸屏顯示與交互和低功耗模式選擇等。硬件功能開發(fā)設計思路是LoRa智能門鎖系統(tǒng)初始化完成后,與網(wǎng)關進行網(wǎng)絡注冊;注冊成功后,智能門鎖與網(wǎng)關之間保持暢通的無線網(wǎng)絡通信;智能門鎖打開外部中斷控制服務,轉入低功耗休眠模式,此時智能門鎖系統(tǒng)的所有功能將由外部中斷控制激活;激活后智能門鎖系統(tǒng)進入中斷服務主程序,根據(jù)外部中斷功能調用對應中斷服務函數(shù)實現(xiàn)中斷控制,其主程序流程如圖4所示。
圖4 主程序流程圖
在完成系統(tǒng)初始化、MAC初始化、設備入網(wǎng)、設備注冊、開啟中斷服務并轉入低功耗休眠模式后,等待外部中斷信號喚醒系統(tǒng),外部中斷信號分為觸摸屏喚醒信號和遠程APP控制中斷信號。智能門鎖系統(tǒng)在未接收到外部中斷信號時,系統(tǒng)一直處于低功耗的休眠模式,并關閉觸摸屏和語音播報等功能。當智能門鎖系統(tǒng)接收到外部中斷信號時,會立即喚醒系統(tǒng),由低功耗模式轉入正常工作模式,啟動觸摸屏功能、語音播報功能以及遠程控制功能,實現(xiàn)全功能操作控制模式,并且通過判斷外部中斷信號來源,根據(jù)不同的信號來源執(zhí)行不同的中斷服務函數(shù),在中斷服務程序執(zhí)行完畢,系統(tǒng)重新進入低功耗休眠模式。為此智能門鎖系統(tǒng)設計了遠程控制和觸摸屏控制子程序模塊,具體如下:
(1)遠程控制模塊。遠程控制功能通過移動通信網(wǎng)絡和Internet網(wǎng)絡連接LoRa網(wǎng)關,由LoRa網(wǎng)關控制智能門鎖節(jié)點實現(xiàn)遠程控制,系統(tǒng)初始化配置智能門鎖節(jié)點設備上的LoRa通訊接收機每隔0.2 s進行信道活動檢測(CAD),檢測信道中LoRa網(wǎng)關發(fā)送的遠程呼叫信號。若有遠程呼叫信號,LoRa通訊接收機接收并檢查信號來源,產(chǎn)生遠程控制中斷信號,遠程控制中斷信號喚醒休眠中的智能門鎖系統(tǒng)進入正常工作模式,并產(chǎn)生外部控制外圍設備,激活外圍設備,實現(xiàn)遠程控制智能門鎖功能,完成遠程控制操作。其中遠程控制信號指令分為4種狀態(tài),分別為“0”、“1”、“2”和六位字母和數(shù)字密碼,分別對應開鎖、關鎖、緊急關鎖和新密碼。開鎖功能執(zhí)行后,恢復系統(tǒng)初始化狀態(tài),恢復觸摸屏功能,系統(tǒng)的執(zhí)行結果發(fā)送給LoRa網(wǎng)關后進入低功耗休眠模式。
(2)觸摸屏控制模塊。觸摸屏功能主要是密碼開鎖和呼叫遠程控制開鎖。在密碼開鎖控制中,用戶連續(xù)敲擊兩次,喚醒觸摸屏,顯示和語音播報“歡迎主人回家!”,并在觸摸屏的下一行顯示“請輸入密碼”按鈕,同時喚醒智能門鎖系統(tǒng),觸摸按鍵開啟系統(tǒng)控制時間中斷函數(shù),設置10 s定時器功能,在10 s內輸入密碼,按下確認鍵后密碼輸入結束,系統(tǒng)定時器功能結束,關閉定時器和觸摸屏功能。若輸入密碼正確時執(zhí)行開鎖,生成開鎖日志信息,發(fā)送給LoRa網(wǎng)關,系統(tǒng)進入低功耗休眠模式;若輸入密碼錯誤時則顯示和語音播報:“密碼輸入錯誤,請重試!”,同時時間定時器復位,重新定時10 s,用戶可重新輸入;若輸入錯誤密碼次數(shù)≥6時,觸摸屏則啟動鎖死功能,鎖死功能一旦觸發(fā),將啟動鎖死事件定時器,該鎖死功能定時為12 h,用戶在12 h時之內無法使用觸摸屏,觸摸屏上顯示和語音播報:“密碼輸入錯誤,請明天重試!”,該時間段內用戶只能使用手機APP開鎖。
網(wǎng)關開發(fā)選用SX1262LORA無線470M網(wǎng)關擴頻開發(fā)模塊。LoRa網(wǎng)關的功能是支持固定IP和動態(tài)域名解析方式連接數(shù)據(jù)中心,并且支持透明傳輸協(xié)議、通用模式(主動輪抄,定時上報)和MQTT協(xié)議等,實現(xiàn)LoRa協(xié)議智能門鎖節(jié)點通過LoRa網(wǎng)關,實現(xiàn)與LoRa云端服務器的鏈接。LoRa網(wǎng)關網(wǎng)絡通信結構結構如圖5所示。
圖5 LoRa網(wǎng)關網(wǎng)絡通信結構
LoRa網(wǎng)關將門鎖節(jié)點上傳的數(shù)據(jù)通過UDP協(xié)議轉換成Json格式的加密數(shù)據(jù)。通過以太網(wǎng)IPv4傳輸給LoRa服務器,由LoRa服務器備份數(shù)據(jù),再將加密的Json數(shù)據(jù)使用MQTT協(xié)議發(fā)送給云端服務器,供服務層和應用層實時解析數(shù)據(jù)并控制。選用改進型的LoRa技術同步疊加信號的解調方式進行LoRa通信,保證系統(tǒng)的穩(wěn)定性,與通用型LoRa的性能比較見表2。
云端服務層由LoRa服務控制和功能性維護控制組成。其中LoRa服務控制負責管理和對接LoRa底層網(wǎng)絡,業(yè)務服務器實現(xiàn)整個系統(tǒng)管理和控制功能;LoRa服務控制是管理功能,基于B/S架構實現(xiàn);前后端都部署在云端服務器;LoRa服務控制網(wǎng)頁界面使用Visual Studio進行Windows界面設計開發(fā),功能有權限設置、注冊用戶信息修改和用戶信息修改;LoRa服務控制的數(shù)據(jù)使用MySQL數(shù)據(jù)庫存儲信息,并用MyBatis管理數(shù)據(jù)庫。功能性維護控制的數(shù)據(jù)鏈表由驅動軟件、用戶控制日志、開關鎖日志、用戶信息和用戶密碼信息(WPA2-PSK)等數(shù)據(jù)組成,用來存儲設備、鍵盤鎖定狀態(tài)和設備所屬用戶的信息。LoRa服務器使用開源的物聯(lián)網(wǎng)服務器,具有云端服務控制和應用服務控制兩部分功能。
手機APP應用開發(fā)使用Android Studio軟件基于Android 5.0系統(tǒng)開發(fā)APP應用,如圖6所示。手機APP和服務器之間采用C/S架構,采用http協(xié)議進行通信;APP登錄成功之后,用戶與遠程服務器,通過HTTP協(xié)議向服務器進行交互,接收當前門鎖信息;在APP上顯示當前門鎖的狀態(tài),用戶通過APP發(fā)送控制指令,控制智能門鎖。
圖6 Android Studio開發(fā)界面
在某學校6層宿舍樓對基于改進型LoRa智能門鎖系統(tǒng)進行功能性測試和通訊穩(wěn)定性測試。其中功能性測試如圖7所示。
圖7 APP智能門鎖控制記錄
通訊穩(wěn)定性測試是在帶寬和傳輸速率一致的條件下,LoRa擴頻因子使用SF12,一對多收發(fā)數(shù)據(jù),進行10次測試,其丟包率見表3。
表3 LoRa智能門鎖系統(tǒng)丟包率
利用LoRa通信技術的優(yōu)勢和特點,將LoRa通信技術應用于智能門鎖。基于改進型LoRa智能鎖系統(tǒng)設計了LoRa智能門鎖系統(tǒng),通過測試該設計系統(tǒng)可行,且該系統(tǒng)具有穩(wěn)定性高、公共免費傳輸頻段、耗能低和安全性高等特點。