梁晶 史記征
摘要:隨著物聯(lián)網(wǎng)技術的發(fā)展,智能化已成為鎖具行業(yè)發(fā)展的趨勢之一。針對目前智能鎖不支持無線通信、不支持手機APP控制等缺點,提出一種基于藍牙無線模塊的手機控制智能鎖系統(tǒng)。通過手機藍牙控制智能鎖的開關,硬件端的HC-05藍牙模塊作為服務器端,手機藍牙作為客戶端;客戶端采用APPInventor編程語言制作手機APP;硬件端采用Arduino主控板控制,實現(xiàn)了Arduino與藍牙之間通過串口進行通信。實驗結果表明:藍牙智能鎖可以準確接收手機端發(fā)送的開、關鎖指令,具有廣闊的市場應用前景。
關鍵詞:藍牙智能鎖;Arduino控制器;手機APP
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)32-0086-03
1概述
隨著“萬物互聯(lián)”概念的提出,物聯(lián)網(wǎng)技術得到了飛速發(fā)展,智慧生活和智能家居理念也逐漸得到人們的認可。傳統(tǒng)門鎖在智能化、安全管理上仍有許多需要改進的地方,目前市場上現(xiàn)有的一些智能門鎖,僅僅是在開鎖方式上做了一些改變,而在無線控制、手機APP控制等方面仍存在不足,因此設計一款無線遙控、人機界面友好的智能門鎖具有重要的意義?;谝陨侠砟?,在結合物聯(lián)網(wǎng)技術、嵌入式技術、電子技術的基礎上,設計了一款基于Arduino的手機APP控制的智能鎖。同時,為了增加智能鎖的安全等級,用戶需先通過手機客戶端APP密碼進行驗證,然后才能對鎖具進行開關控制,有效的避免了傳統(tǒng)門鎖的不足。
2系統(tǒng)方案設計
系統(tǒng)總體框圖如圖1所示。藍牙模塊通過串口與Arduino主控板進行通信,利用Arduino主控板的數(shù)字引腳5控制單路繼電器的吸起和落下,從而控制電子鎖電源的導通和斷開;藍牙模塊通過無線方式與手機端藍牙進行通信,進而實現(xiàn)手機端APP對電子鎖的控制。
3硬件設計
3.1Arduino主控板
Arduino是個基于開放源代碼的軟硬體平臺。它的硬件具有豐富的接口,有數(shù)字I/O口、模擬I/O口,同時支持SPI、IIC、UART串口通信。
Arduino編程語言沒有復雜的單片機底層代碼,沒有難懂的匯編程序,只有簡單而實用的函數(shù)。直接調(diào)用它們就可以完成各種需要的功能,而且簡便的編程環(huán)境擁有極大的自由度,可拓展性能非常高。標準化的接口模式、豐富的開放源代碼,從而使復雜命令的編程工作變得簡單。
常用的Arduino主控板有:Arduino Uno、Arduino Mega2560、Arduino Nano、LilyPad Arduino、Arduino Leonardo等。本系統(tǒng)中所使用的Arduino UNO R3是一個基于ATmega328核心的微控制器板。它由14個數(shù)字輸入/輸出引腳(其中6個可以用作PWM輸出)、6個模擬輸人、一個16MHz的陶瓷諧振器、USB接口、電源插孔、ICSP頭和一個復位按鈕組成,如圖2所示。開發(fā)板出廠時已完成了啟動程序的固化,使用過程中可以直接使用USB線進行程序下載。
3.2傳感器擴展板
對于一些不熟悉電子技術的人,要添加電路是一個比較麻煩的事,借助于傳感器擴展板,能使大部分外圍元器件輕松地與Arduino主控板連接,如圖3所示。
3.3藍牙模塊
Bluetooth Bee藍牙無線數(shù)傳模塊采用XBEE造型設計,體積尺寸緊湊,兼容傳感器擴展板底座,適用于各種3.3V的單片機系統(tǒng),模塊可以使用AT指令設置主從模式、波特率、配對密碼、用戶信息等。如圖4所示。
3.4單路繼電器
單路繼電器模塊是一個小電流信號控制大功率設備的常用電子模塊,可實現(xiàn)單片機控制大功率器件,廣泛用于單片機系統(tǒng)設計的智能家居項目。如圖5所示。
3.5電磁鎖
電磁鎖的原理:電磁鎖內(nèi)部有電磁線圈,利用電生磁的原理,當電流通過硅鋼片時,電磁鎖會產(chǎn)生強大的吸力,緊緊地吸住門上鐵片,達到鎖門的效果。只要小小的電流,電磁鎖就會產(chǎn)生莫大的磁力。當控制電磁鎖電源系統(tǒng)識別人員正確后則會斷電,電磁鎖失去吸力即可開門。開門后經(jīng)預設延時后電磁鎖恢復通電狀態(tài)與門上鐵片吸合,門再次鎖緊。如圖6所示。
硬件系統(tǒng)連接順序是:傳感器擴展板扣在Arduino主控板上,藍牙模塊扣在傳感器擴展板上,傳感器擴展板上的數(shù)字引腳5控制單路繼電器的吸起和落下,單路繼電器控制電磁鎖的電源。
4軟件設計
4.1硬件端程序代碼
設計思路:硬件端藍牙模塊收到手機端發(fā)來的命令數(shù)值16,通過串口發(fā)送給Arduino控制器,Arduino控制數(shù)字引腳5輸出高電平,使繼電器吸起,電磁鎖電源斷開,門鎖打開;延遲10秒,讓繼電器落下,電磁鎖電源合上,門鎖閉合。
打開Arduino開發(fā)編碼環(huán)境界面,輸人以下代碼,編譯通過后下載到Arduino主控板。
4.2手機端程序代碼
系統(tǒng)中的手機端APP采用App Inventor進行編程,App In_ventor是Google實驗室的一個計劃,由來自麻省理工學院、有“App Inventor之父”之稱的HalAbelson教授及其團隊負責主導開發(fā)。它以圖形化編程界面為主要特色,是一種簡單、快速開發(fā)Android App的開發(fā)平臺,功能強大、易學易懂。
4.2.1屏幕初始化
在沒有完成“搜索藍牙”之前,“連接藍牙”按鈕應處于非活動狀態(tài),即不可點擊。
4.2.2“搜索藍牙”鍵設計
利用ListPicker組件實現(xiàn)“搜索藍牙”鍵展開功能,將手機已存儲配對過的設備做成一個列表供選擇。
4.2.3“連接藍牙”鍵設計
在ListPicker的展開列表中,選擇硬件端藍牙的名稱,然后點擊“連接藍牙”以實現(xiàn)手機端與硬件端的無線連接。
4.2.4“鎖按鈕”鍵設計
設計思路:點擊“鎖閉”的圖案時,先檢查輸入的密碼是否正確,如果正確則將“鎖閉”的圖案換成“開鎖”的圖案,并通過手機藍牙向Arduino主控板發(fā)送命令數(shù)值16;在延時10秒后,把“開鎖”的圖案換成“鎖閉”的圖案。
4.2.5手機端APP運行效果
5結束語
本系統(tǒng)是基于Arduino主控板的藍牙智能控制鎖的設計,內(nèi)容包括方案的設計、硬件選型、軟件編程。經(jīng)實驗測試,系統(tǒng)工作可靠、運行穩(wěn)定、功耗低,能實現(xiàn)無線開鎖上鎖功能,手機端APP界面中的輸入密碼選型增強了鎖具的安全等級。此外,本設計還可以推廣到電動車、小汽車等領域,為藍牙通信在物聯(lián)網(wǎng)技術發(fā)展中的應用提供一定的參考價值。