基于物聯(lián)網(wǎng)的智能門鎖系統(tǒng)使用NodeMCU
掃描二維碼
隨時隨地手機(jī)看文章
從聯(lián)網(wǎng)汽車到聯(lián)網(wǎng)可穿戴設(shè)備再到家庭安全,物聯(lián)網(wǎng)正迅速進(jìn)入各個領(lǐng)域?,F(xiàn)在我們有物聯(lián)網(wǎng)支持的家庭自動化和安全設(shè)備,可以使用物聯(lián)網(wǎng)從世界任何地方控制。市場上有很多種類的Wi-Fi門鎖,可以讓你的家更安全,節(jié)省找鑰匙的時間。在這里,我們還構(gòu)建了一個類似的Wi-Fi門鎖,可以通過智能手機(jī)控制。
所以在這個項目中,我們將使用NodeMCU,電磁鎖和Adafruit IO來制作一個基于物聯(lián)網(wǎng)的門鎖系統(tǒng)。在這里,NodeMCU將作為主控制器,通過互聯(lián)網(wǎng)將用戶連接到門鎖系統(tǒng)。這使得用戶可以在世界任何地方使用智能手機(jī)鎖定/解鎖他家的門鎖。
組件的要求
?NodeMCU ESP8266
?電磁鎖
?繼電器模塊
?蜂鳴器
我們在之前的許多物聯(lián)網(wǎng)項目中使用了NodeMCU ESP8266,這里我們使用的是電磁門鎖,所以讓我們先了解一下這個電子門鎖。
電磁鎖
在傳統(tǒng)的門鎖中,有鑰匙來拉動或推動門閂,我們必須手動操作,而在電磁鎖中,門閂可以通過施加電壓來自動操作。電磁鎖有一個低壓電磁閥,當(dāng)中斷(按鈕,繼電器等)被激活時,將門閂拉回門中。鎖存器將保持其位置,直到中斷被啟用。電磁鎖的工作電壓為12V。您也可以使用9V,但它會導(dǎo)致較慢的操作。電磁門鎖主要用于偏遠(yuǎn)地區(qū),實(shí)現(xiàn)自動化操作,不涉及任何人力。
智能門鎖電路圖
Wi-Fi門鎖的電路圖如下所示。
這個物聯(lián)網(wǎng)智能門鎖的連接非常簡單,因為我們只連接一個電磁鎖,繼電器模塊和一個蜂鳴器與NodeMCU ESP8266。繼電器的輸入引腳接在NodeMCU的D5引腳上,VCC和接地引腳接在NodeMCU的Vin和GND引腳上。蜂鳴器的正引腳接在NodeMCU的D6引腳上,GND引腳接在NodeMCU的GND上。
我已經(jīng)焊接了Perfboard上的所有組件,如下圖所示:
這是wifi門鎖安裝在門上后的完整設(shè)置:
Adafruit IO設(shè)置物聯(lián)網(wǎng)門鎖
Adafruit IO是一個開放的數(shù)據(jù)平臺,允許您在云中聚合、可視化和分析實(shí)時數(shù)據(jù)。使用Adafruit IO,您可以在互聯(lián)網(wǎng)上上傳,顯示和監(jiān)控數(shù)據(jù),并使您的項目啟用物聯(lián)網(wǎng)。您可以使用Adafruit IO控制電機(jī),讀取傳感器數(shù)據(jù),并通過互聯(lián)網(wǎng)制作酷的物聯(lián)網(wǎng)應(yīng)用程序。為了測試和嘗試,有一些限制,Adafruit IO是免費(fèi)使用的。我們以前也使用過Adafruit IO與樹莓派,Arduino和ESP32。
1. 要使用Adafruit IO,首先,您必須在Adafruit IO上創(chuàng)建一個帳戶。要做到這一點(diǎn),請訪問Adafruit IO網(wǎng)站,點(diǎn)擊屏幕右上方的“免費(fèi)開始”。
2. 在完成帳戶創(chuàng)建過程后,登錄您的帳戶并單擊右上角的“AIO密鑰”以獲取您的帳戶用戶名和AIO密鑰。
當(dāng)你點(diǎn)擊“AIO密鑰”,一個窗口將彈出你的Adafruit IO AIO密鑰和用戶名。復(fù)制此密鑰和用戶名,稍后將在代碼中用到。
3. 現(xiàn)在,在此之后,您需要創(chuàng)建一個提要。要創(chuàng)建提要,請單擊“feed”。然后點(diǎn)擊“Actions”,然后點(diǎn)擊“Create a New Feed”,如下圖所示。
4. 在此之后,將打開一個新窗口來輸入提要的名稱和描述。書寫描述是可選的。
5. 點(diǎn)擊“創(chuàng)建”,然后;您將被重定向到新創(chuàng)建的提要。
在創(chuàng)建提要之后,現(xiàn)在創(chuàng)建Adafruit IO儀表板,以添加一個開關(guān)按鈕來打開和關(guān)閉門鎖。為此,首先創(chuàng)建一個指示板,然后在該指示板中添加提要。
要創(chuàng)建儀表板,請單擊dashboard選項,然后單擊“Action”,然后單擊“create a New dashboard”。
在下一個窗口中,輸入儀表板的名稱并單擊“Create”。
6. 隨著儀表板的創(chuàng)建,現(xiàn)在我們將把提要添加到儀表板中。要添加提要,請單擊右上角的“+”。
這里我們將添加一個切換按鈕塊來打開和關(guān)閉Wi-Fi門鎖。要在儀表板上添加按鈕,請單擊Toggle塊。
在下一個窗口中,它將要求您選擇提要,因此單擊您的提要。
添加切換按鈕后,我的儀表板如下所示。您可以通過單擊設(shè)置按鈕來編輯儀表板。
代碼的解釋
在文檔末尾給出了使用物聯(lián)網(wǎng)的智能門鎖的完整代碼和工作視頻。下面給出了代碼的詳細(xì)解釋。
首先,包括所有必需的庫。在這個程序中,只使用Adafruit MQTT和ESP8266WiFi.h庫。您可以通過以下鏈接下載Adafruit庫。
然后包括從Adafruit IO服務(wù)器復(fù)制的WiFi和Adafruit IO憑據(jù)。這些將包括MQTT服務(wù)器、端口號、用戶名和AIO密鑰
然后使用前面提供的憑據(jù)設(shè)置MQTT連接。
設(shè)置你訂閱的訂閱源。這里‘ Lock ’是Feed的名稱。
在void設(shè)置函數(shù)中,定義蜂鳴器引腳和繼電器引腳作為輸出。
現(xiàn)在,void循環(huán)函數(shù)將不斷檢查訂閱提要中的數(shù)據(jù),并將該數(shù)據(jù)與定義的字符串進(jìn)行比較。如果接收到的字符串和定義的字符串都是相同的,那么它將根據(jù)數(shù)據(jù)執(zhí)行進(jìn)一步的操作。
測試基于物聯(lián)網(wǎng)的門鎖系統(tǒng)
硬件和代碼準(zhǔn)備好后,將NodeMCU連接到筆記本電腦并上傳代碼。之后,打開Adafruit IO儀表板并切換按鈕以打開和關(guān)閉門。
本文編譯自iotdesignpro