<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 物聯網與傳感器 > 設計應用 > 基于NB-IoT通信的智能門鎖*

          基于NB-IoT通信的智能門鎖*

          作者:梁友檳,鐘鍵,吳添賢,麥偉健,羅鴻沖,揭海(廣州大學電子與通信工程學院,廣州 510006) 時間:2021-10-11 來源:電子產品世界 收藏

          *基金項目:2019年校級大學生創(chuàng)新訓練項目(CX2019189);獲得“廣東省大學生電子設計競賽”-2020年“5G-AI”專題廣東省一等獎

          本文引用地址:http://www.ex-cimer.com/article/202110/428744.htm

          作者簡介:梁友檳(1999—),男,主要從事 FPGA 異構加速與嵌入式開發(fā)的學習。

          摘要:隨著物聯網時代的來臨,越來越多的智能設備走進人們的生活,萬物互聯將會是將來發(fā)展的大趨勢。隨著90后與00后的成長,人們對智能設備的接受程度將大大提升,智能家居的普及率將迎來一波新浪潮。而作為智能家居的一大切入點,將對人們接受智能家居產品起到重要作用。但是,目前市場上的多種開鎖方式導致其價格居高不下,傳統鑰匙開鎖的保留也導致其機械結構更加復雜[3]。但實際上使用的用戶幾乎已不再使用鑰匙開鎖的方式。因此研發(fā)一款高性價比的智能門鎖具有重要意義。本文基于NB-IoT通信方式,以STM32L431RC作為主控MCU設計了一款密碼開鎖,手機APP開鎖兩種開鎖方式的智能門鎖。

          1   系統硬件架構

          1.1 系統硬件組成

          本文系統主控芯片為STM32L431 單片機,實現門鎖系統的整體控制及信息交互。本文系統的三大功能模塊分別為基于NB-IoT 通信方式的移動端遠程監(jiān)測控制功能和基于4×4 矩陣鍵盤的密碼開鎖功能模塊,以及基于JR6001 語音控制芯片的語音播報功能模塊。系統硬件組成如圖1 所示?;窘Y構必不可少,鎖體結構設計主要通過控制微舵機的轉動驅動鎖體的開關。為保證整個系統的完善性,本系統分別有電源模塊保證整個系統的正常供電從而穩(wěn)定運行,基于OLED12864 液晶顯示屏模塊用于人機交互,提升用戶的使用體驗。用戶可使用手機,電腦等移動設備或通過矩陣鍵盤輸入正確的密碼進行身份驗證與系統交互,獲得權限后可對門鎖進行控制或使用修改密碼等服務。

          1.2 主控芯片

          綜合考慮芯片成本、功耗、工作頻率、可靠性等性能指標,本文的門鎖系統的主控MCU 選擇STMicroelectronics 公司的低功耗STM32L431RCT6 系列。STM32L431RCT6 是一款超低功耗微控制器,基于高性能的ARM Cortex-M4 32 位RISC 內核, 具有64 KB 的SRAM 與高達256 KB 的Flash ROM,工作頻率高達80 MHz,運行在-40 ~ 85 ℃的溫度范圍內,低功耗、低成本且高可靠性。

          1633944646460135.png

          1.3 外圍電路

          1.3.1 電源電壓適配模塊

          電源控制模塊是基于RT8059GJ5 的高效率DC-DC轉換器設計的,適用于由單一鋰電池供電的電子設備,且其輸出電壓從2.8 V 至VIN 可調,為STM32L431 單片機機器外延電路提供穩(wěn)定的直流電,保證系統的正常運作。不同模塊對于供電電壓有不同的需求,因此在硬件電路設計上使用大容量5 V 鋰電池外部輸入供電,再經穩(wěn)壓芯片RT8059GJ5 轉換為3.3 V 的電壓[4]。電源控制模塊電路如圖2 所示。輸出的3.3 V 電壓作為按鍵解鎖模塊的穩(wěn)定供電,輸入的5 V 電壓同時為JR6001 語音控制模塊的語音播報模塊的供電系統,輸出的3.3 V 電壓作為主控芯片STM32L431、基于LED12864 的顯示模塊以及微舵機驅動電路的供電系統。當EN 腳位為低電位時,進入關機模式,消耗電流小于0.1 μA。

          1633944704392617.png

          圖2 電源電壓適配電路

          1.3.2 微舵機驅動鎖體模塊

          微舵機驅動鎖體模塊主要由SG90 舵機和基本鎖體組成如圖3 所示。舵機控制線的輸入是一個寬度可調的周期性方波脈沖信號,當方波的脈沖寬度改變時,舵機的轉動角度就會發(fā)生改變。SG90 舵機的轉動角度與脈沖寬度成正比。因此,用STM32L431 單片機通過PWM 控制方式控制舵機的轉動角度,從而帶動鎖體的轉動完成開關鎖的基本操作。

          1633944743758637.png

          圖3 SG90舵機

          1.3.3 OLED液晶屏顯示模塊

          OLED 液晶屏顯示模塊主要由一塊0.96 英寸(注:1 英寸=2.54 cm)的OLED12864 組成,由于其較小的尺寸和比較高的分辨率,讓它有很好的顯示效果和便攜性。OLED 內部集成OLED 液晶顯示屏、SSH1106 驅動模塊和偏置電壓產生電路,單片機可通過IIC 協議控制其顯示相應的內容。利用中文字庫和圖形庫,可配合STM32L431 單片機,使其顯示任意的內容,構成友好的人機交互界面,即STM32L431 通過SDA 和SCL 兩條控制線對OLED 顯示屏顯示相應的英文、漢字或圖形。OLED12864 顯示電路如圖4 所示。其主要的設計目的是指導用戶和門鎖系統更好地進行人機交互。

          image.png

          圖4 OLED12864管腳圖

          1.4 三大功能模塊

          1.4.1 NB-IoT通信模塊

          本文系統的采用的NB-IoT 通信模組為上海移遠通信技術股份有限公司(Quectel)的BC35-G 系列。NB-IoT 通信模組指的是將Baseband(基帶)芯片,RF芯片和NB-IoT 協議棧等組合在一塊PCB 上,并且向外提供硬件管腳和軟件接口的模組。在目前NB-IoT 通信模組的市場上,應用比較廣泛的是移遠通信的BC95和BC35-G 兩大系列。BC35-G 系列是BC-95 系列的增強型,優(yōu)化了定位、移動性、功耗、數據傳輸速率等模組性能,并且增強了系統的安全性。此外,BC35-G尺寸小巧,功耗極低,工作溫度范圍極寬,被認為是IoT 應用領域的理想選擇,常被用于遠程抄表、智慧城市、智能路燈、農業(yè)和環(huán)境監(jiān)測等領域[2],用以提供完善的短信和數據傳輸服務。因此,本文系統選用移遠通信的BC35-G 系列的通信模組。BC35-G 模組可通過AT 命令控制,AT 命令作為一種接口標準,他有確定的命令格式與相應的返回值。AT 命令的命令集一般都是以AT起始,以回車鍵結束。無論AT 命令能否成功執(zhí)行,都應有相應的返回值。使用軟件對STM32L431 進行編程,設置串口通信波特率為9600 bit/s,STM32L431 通過發(fā)送AT 命令,可以很容易地對BC35-G 模組進行控制。

          1.4.2 密碼解鎖模塊

          按鍵解鎖模塊用于密碼輸入、密碼修改等,采用4×4 矩陣行列式鍵盤。4×4 矩陣鍵盤有4 行4 列按鍵,使用STM32L431 的8 個I/O 口分別連接鍵盤的行線和列線,通過檢測電平變化,判斷是哪個按鍵按下。16 個鍵值分別是0、1、2、3、4、5、6、7、8、9、*、#、A、B、C、D。STM32L431 讀出輸入的4 位鍵值,與提前儲存在EEPROM 中的密碼進行匹配,匹配成功后單片機驅動微舵機控制門鎖的打開。具體使用方式為先輸入“#”進入密碼輸入模式,輸入4 位密碼后在按“#”結束,密碼正確或錯誤都將有語音提示,正確即可打開門鎖,修改密碼的方法為先輸入“*”進入密碼修改模式,修改密碼需要先輸入正確的密碼后再輸入需要修改的密碼,修改成功后新密碼將覆蓋原密碼儲存進EEPROM 中且會有語音提示。鍵值輸入的過程也會通過OLED12864 進行相關顯示。

          1.4.3 語音播報模塊

          語音播報模塊用于人機交互,對用戶的相關操作進行語音提示,同時在用戶關鎖時進行語音提醒。本文系統采用的語音控制芯片為JR6001 語音模塊,該模塊支持MP3、WAV 高品質音頻格式,聲音優(yōu)美,24 位DAC輸出,動態(tài)范圍支持90 dB,信噪比85 dB,支持AT 命令控制,控制方式簡單,同時支持USB 更新語音文件,可輕松對存儲芯片中的語音進行更新。

          2   系統軟件的設計與開發(fā)

          2.1 智能門鎖軟件開發(fā)環(huán)境

          NB-IoT 智能門鎖終端使用C 語言編寫開發(fā)程序,并且在Keil uVision5 下進行編譯和調試。Keil uVision5窗口管理系統的靈活性很好。本文系統采用的開發(fā)軟件是Keil MDK-ARM,它的編譯器和調試工具均與ARM器件實現了最完美的匹配。通過Keil uVision5 開發(fā)環(huán)境支持的硬件調試器,開發(fā)人員可以方便地訪問被調試處理器的所有外圍設備,通過STLINK-V2 還可以直接燒錄下載程序。

          image.png

          圖5 軟件執(zhí)行流程

          2.2 智能門鎖軟件實現

          軟件的實現主要為完成模組初始化、參數設置、BC35-G 初始化檢查與數據收發(fā)等工作。軟件執(zhí)行流程如圖5 所示。系統上電后,首先初始化終端模塊;初始化完成后,調試軟件工作參數,如IP 地址、端口號及模塊頻率等;參數設置完成后,檢查BC35-G 模組的初始化狀態(tài),如網絡信號、信號信息等。當檢查完成后,即可與基站進行數據傳輸。通過執(zhí)行AT(Attention)命令,門鎖終端對BC35-G 進行操控。程序主要實現的功能是以華為云IoT 服務器為媒介,移動端設備發(fā)送信息給華為云IoT 云服務器,服務器接收到信息后發(fā)送相應的信息給NB-IoT 模塊,NB-IoT 模塊接收信息后發(fā)送給STM32L431 單片機,單片機根據接收到的指定的信息運行指定的程序。軟件工作流程圖如圖6 所示。通過華為云物聯網平臺集成開發(fā),可以將門鎖終端、華為云IoT 服務器平臺和移動端APP 三部分進行連接,輕易實現移動設備對門鎖的控制。

          image.png

          圖6 華為云物聯網平臺對接流程圖

          3   結束語

          針對傳統門鎖系統存在的弊端以及智能家居設備走進人們生活的時代發(fā)展背景,本文設計了一款以STM32L431 為主控芯片,以基于NB-IoT 通信方式的移動端遠程控制和密碼按鍵為解鎖模式的智能門鎖系統。該系統還包括由NB-IoT 通信模塊、基于4×4 矩陣鍵盤的密碼解鎖模塊、基于JR6001 語音控制芯片的語音播報模塊、微舵機SG90 驅動鎖體結構模塊,以及基于RT8059GJ5 高效率DC-DC 轉換器的電源電壓適配模塊、OLED12864 顯示模塊組成的硬件系統,通過軟件編程對硬件系統實施控制,最終實現智能解鎖等主要功能。通過實際驗證,本系統能滿足實際應用中對門鎖準確率的要求,同時為用戶帶來了良好的體驗。智能門鎖整體結構如圖7 所示。

          image.png

          圖7 智能門鎖整體結構圖

          參考文獻:

          [1] 郭輝,甘智鑫,熊永江.基于物聯網的無線智能鎖設計與實現[J].電腦編程技巧與維 護,2019(2):120-121+131.

          [2] 胡棟輝.基于MSA和NB-IoT的高校寢室智能門鎖系統的設計與實現[D].安徽大學,2020.

          [3] 方強,朱紅儒,黃天寧,等.智能門鎖風險分析及防范[J]. 信息技術與網絡安全,2019,38(10):83-86.

          [4] 嚴偉苗,鄒翔,諸葛楊楊,等.基于NBIoT的智能門鎖及其管控系統設計[J].科技創(chuàng)新導報,2020,17(6):73-74.

          [5] YE T,TIAN Y,WANG Y. Street lamp intelligent monitoring system design based on NB-IoT technology[J].Journal of Physics:Conference Series,2020(1):1617.012003.https://iopscience.iop.org/article/10.1088/1742-6596/1617/1/012003.

          [6] JHA R K,PUJA,KOUR H,et al.Layer based security in Narrow Band Internet of Things (NB-IoT)[J/OL].Computer Networks,2021,185(2):107592.https://doi.org/10.1016/  j.comnet.2020.107592

          (本文來源于《電子產品世界》雜志2021年9月期)



          關鍵詞: 202109 智能門鎖

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();