24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
技術(shù)專題
ESP32基于凸輪的智能藍(lán)牙鎖
ESP32基于凸輪的智能藍(lán)牙鎖
如果解鎖所需的鑰匙丟失了,傳統(tǒng)的鎖可能會(huì)帶來(lái)問(wèn)題。在這種情況下,出于安全考慮,將需要更換它們。對(duì)于基于RFID標(biāo)簽的可用性的基于RFID的鎖,同樣適用。
因此,今天,我們將設(shè)計(jì)一種不需要任何鑰匙或RFID標(biāo)簽的智能鎖。取而代之的是,它使用藍(lán)牙直接連接到我們的手機(jī),只需輸入密碼即可訪問(wèn)。
智能藍(lán)牙鎖原型
物料清單
讓我們通過(guò)購(gòu)買以下組件開始我們的項(xiàng)目:
除此之外,您還需要FTDI編程器或Arduino IDE將程序上載到ESP32 Cam和一個(gè)繼電器來(lái)控制螺線管鎖定。
先決條件
首先,我們需要將ESP32開發(fā)板添加到Arduino IDE。為此,請(qǐng)轉(zhuǎn)到文件→首選項(xiàng),然后將給定的URL粘貼到Board Manager URL選項(xiàng)中。之后,單擊“確定”,然后轉(zhuǎn)到“工具”→“搜索ESP32”,然后安裝開發(fā)板。成功安裝后,我們現(xiàn)在可以編寫代碼了。
圖1添加板
圖2.設(shè)置添加板的鏈接
圖3.安裝板
編碼
現(xiàn)在我們可以開始編碼了。在這里,我們使用ESP32 Cam的藍(lán)牙作為藍(lán)牙串行。因此,首先我們需要在代碼中包括藍(lán)牙串行庫(kù)。
接下來(lái),我們將創(chuàng)建一個(gè)字符串“ pasw”,用于存儲(chǔ)鎖的密碼,并創(chuàng)建一個(gè)新字符串,用于存儲(chǔ)用戶輸入的密碼。之后,我們將設(shè)置鎖的針腳號(hào)以控制螺線管。
圖4.代碼1
接下來(lái),我們將設(shè)置串行波特率以及使用SerialBT.begin()的藍(lán)牙序列名稱。
圖5.代碼2
此后,創(chuàng)建一個(gè)循環(huán)功能以檢查用戶給定的藍(lán)牙串行輸入的可用性。如果輸入可用,那么我們將讀取它并將其保存在一個(gè)名為get input的空字符串變量中。如果為“ If”條件,則將嘗試在輸入的密碼和設(shè)置的密碼之間創(chuàng)建一個(gè)匹配項(xiàng)。只要發(fā)現(xiàn)正確,它將啟動(dòng)解鎖,否則將不會(huì)發(fā)生任何事情并且鎖將保持不變。
圖6.代碼3
現(xiàn)在將ESP32凸輪與FTDI連接,對(duì)其進(jìn)行編程,然后按電路圖所示連接所有組件。
圖6。智能藍(lán)牙鎖電路系統(tǒng)
測(cè)驗(yàn)
現(xiàn)在,在Android中安裝Bluetooth終端應(yīng)用程序或任何受支持的Bluetooth串行應(yīng)用程序,然后打開手機(jī)的Bluetooth。然后連接到ESP32的藍(lán)牙并輸入正確的密碼以解鎖鎖。