基于物聯(lián)網(wǎng)的電磁門鎖使用樹莓派4
掃描二維碼
隨時(shí)隨地手機(jī)看文章
市場(chǎng)上有很多種類的Wi-Fi門鎖,可以讓你的家更安全,節(jié)省找鑰匙的時(shí)間。我們之前使用Node MCU和Adafruit IO構(gòu)建了一個(gè)智能手機(jī)控制的門鎖。這里我們使用相同的電磁門鎖,并使用基于樹莓派的web服務(wù)器控制它。該網(wǎng)頁將有兩個(gè)按鈕打開和關(guān)閉門鎖,可以從世界上任何地方訪問,只要端口轉(zhuǎn)發(fā)在您的路由器中啟用。
這里我們使用Flask從網(wǎng)頁控制門鎖。Flask是一個(gè)流行的Python web框架,由Pocoo的Armin Ronacher開發(fā)。它是用于開發(fā)web應(yīng)用程序的第三方Python庫。Flask被歸類為微框架,它基于Pocoo項(xiàng)目Werkzeug和Jinja2。Flask在樹莓派上非常常用,因?yàn)闃漭捎蠰inux操作系統(tǒng),可以很容易地處理Python腳本。樹莓派由于其高處理能力和內(nèi)置Wi-Fi功能,在創(chuàng)建web服務(wù)器和基于物聯(lián)網(wǎng)的項(xiàng)目中也很受歡迎。我們以前使用Flask來控制伺服電機(jī)和步進(jìn)電機(jī)使用樹莓派。
組件的要求
?樹莓派4
?12v電磁鎖
?繼電器模塊
?跳線
電磁鎖
在傳統(tǒng)的門鎖中,有一把鑰匙來拉動(dòng)或推動(dòng)門閂,我們必須手動(dòng)操作,但在電磁鎖中,門閂可以通過施加電壓來自動(dòng)操作。電磁鎖有一個(gè)低壓電磁閥,當(dāng)中斷(按鈕,繼電器等)被激活時(shí),將門閂拉回門中。鎖存器將保持其位置,直到中斷被啟用。電磁鎖的工作電壓為12V。您也可以使用9V,但它會(huì)導(dǎo)致較慢的操作。電磁門鎖主要用于偏遠(yuǎn)地區(qū),實(shí)現(xiàn)自動(dòng)化操作,不涉及任何人力。
樹莓派智能門鎖電路圖
樹莓派電磁門鎖的電路圖非常簡(jiǎn)單,因?yàn)槟恍枰獙㈦姶砰T鎖連接到樹莓派。電磁鎖需要9V-12V才能工作,而樹莓派的GPIO引腳只能提供3.3V,所以使用12V的外部電源在繼電器的幫助下觸發(fā)鎖定。
這里繼電器模塊的輸入引腳連接到樹莓派的GPIO 18引腳,繼電器模塊的VCC和GND引腳連接到樹莓派的5V和GND引腳。另一側(cè)電磁鎖的GND引腳接繼電器模塊的COM, Positive引腳接12V電源的Positive。12V電源的負(fù)引腳接在繼電器模塊的NO引腳上。
在完成所有連接后,我的硬件是這樣的:
準(zhǔn)備樹莓派
在編程或安裝任何庫文件之前,首先使用以下命令更新樹莓派:
現(xiàn)在安裝Flask來創(chuàng)建一個(gè)Web頁面。使用下面的命令來安裝Flask:
安裝Flask后,在樹莓派上創(chuàng)建一個(gè)名為Solenoidlock的新目錄/文件夾,并使用以下命令導(dǎo)航到該文件夾:
現(xiàn)在使用下面的命令創(chuàng)建一個(gè)python文件:
粘貼本文檔末尾給出的python代碼,并使用
在Solenoidlock目錄下,用下面的命令創(chuàng)建另一個(gè)文件夾:
然后導(dǎo)航到模板目錄。
在templates目錄下,用下面的命令創(chuàng)建一個(gè)HTML文件:
將HTML代碼粘貼到nano編輯器中,并使用
網(wǎng)頁的HTML代碼
通過網(wǎng)頁控制電磁門鎖的完整HTML代碼如下:在這個(gè)HTML代碼中,ON和OFF按鈕有兩個(gè)不同的整數(shù)。整數(shù)1被分配給ON按鈕,2被分配給OFF按鈕。Flask web框架用于在網(wǎng)頁上按下按鈕時(shí)向樹莓派發(fā)送數(shù)據(jù)。
電磁門鎖的Python代碼
完整的python代碼在文檔的末尾給出。這里我們將解釋代碼的一些重要部分。
現(xiàn)在為該類創(chuàng)建一個(gè)實(shí)例來設(shè)置一個(gè)flask服務(wù)器。
使用下面的函數(shù),我們告訴Flask哪個(gè)URL應(yīng)該觸發(fā)我們的函數(shù)。
檢查changePin變量,如果它等于1,則將繼電器引腳更改為高,否則將其更改為低。
用樹莓派4測(cè)試電磁門鎖
在完成所有設(shè)置并將螺線管鎖連接到樹莓派后,導(dǎo)航到螺線管鎖目錄并使用以下命令運(yùn)行python代碼:
然后打開端口為8000的樹莓派IP地址。這里你會(huì)看到兩個(gè)打開/關(guān)閉鎖的按鈕。按開/關(guān)按鈕打開/關(guān)閉門鎖。如果智能手機(jī)連接到同一網(wǎng)絡(luò),也可以訪問該頁面。
這是如何控制螺線管鎖使用樹莓派4。
本文編譯自iotdesignpro