智能家居產(chǎn)品很酷,但價(jià)格昂貴。借助Raspberry Pi和一個(gè)或兩個(gè)組件,可以輕松,廉價(jià)地將現(xiàn)有設(shè)備連接到互聯(lián)網(wǎng)。
使車庫門具有互聯(lián)網(wǎng)意識(shí),是學(xué)習(xí)如何使用智能手機(jī)控制現(xiàn)實(shí)世界的絕妙介紹。皮。坦白說,誰不想像蝙蝠俠那樣,在駛?cè)胲嚨罆r(shí)自己打開車庫?
您需要的東西
要自動(dòng)執(zhí)行車庫門操作,您將需要:
可以帶外部觸發(fā)器的車庫門電機(jī)。
連接到互聯(lián)網(wǎng)的Raspberry Pi(任何型號(hào))。本教程假定您的Pi正在運(yùn)行Raspbian操作系統(tǒng)(如果不是,請(qǐng)參閱我們的文章,介紹如何在Raspberry Pi上安裝Raspbian)。
中繼擴(kuò)展板,可以在Amazon上找到。
li》
Raspberry Pi的2A電源。較低額定值的型號(hào)可能無法驅(qū)動(dòng)繼電器板和Pi。
四根跨接電纜(對(duì)于您要控制的每個(gè)額外的門,還要多一根)。
足夠Pi和車庫門電機(jī)之間的兩芯電纜。便宜的揚(yáng)聲器線是理想的選擇,但是電話線或以太網(wǎng)線也可以使用。
一旦您將這些組件收集到一起,就該開始了。
此方法自動(dòng)化車庫門工程
大多數(shù)車庫門電機(jī)均可通過外部輸入觸發(fā)以打開或關(guān)閉。制造商提供了這些輸入,以便安裝人員可以在家里的某個(gè)地方掛上一個(gè)簡單的按鈕即可打開或關(guān)閉門,而無需使用常規(guī)遙控器。按下并釋放扳機(jī)按鈕時(shí),它會(huì)立即關(guān)閉一個(gè)電路,告訴電動(dòng)機(jī)啟動(dòng)或停止。
您將使用繼電器代替外部按鈕。短暫閉合繼電器將閉合電路,就像按下觸發(fā)按鈕一樣。在Raspberry Pi上運(yùn)行的Python腳本將使您可以從家庭網(wǎng)絡(luò)控制中繼,從而控制門。
步驟1:將Raspberry Pi連接到中繼
您Raspberry Pi與中繼板之間至少要建立四個(gè)連接。如果您使用的是Pi Zero,則要么需要直接焊接連接,要么將GPIO接頭焊接到Pi上,并使用跳線進(jìn)行連接。推薦使用后一種方法,因?yàn)槿绻獢嚅_中繼板的連接并將Raspberry Pi用于其他用途,則無需拆焊。較大型號(hào)的Pis已經(jīng)具有用于連接插入式跨接電纜的插頭。
如果您不熟悉GPIO,請(qǐng)務(wù)必閱讀我們的文章,了解有關(guān)Raspberry Pi GPIO引腳的所有知識(shí)。
在連接所有組件之前,請(qǐng)檢查繼電器板上是否有將VCC和JD-VCC引腳連接在一起的跳線。如果有,則將其卸下,因?yàn)槟枰謩e為VCC和JD-VCC供電。
在所有電源關(guān)閉的情況下,連接繼電器板如下所示連接到您的Pi:
首先將Pi引腳2(5V導(dǎo)軌)連接到繼電器板上的JD-VCC。
連接Pi引腳1或引腳17 (3.3V電源)連接到繼電器板上的VCC。
將Pi引腳6(GND)連接到繼電器板上的GND。
最后,連接Pi引腳7(GPIO 4)到繼電器板上的IN1。這是切換繼電器的連接。
如果您有多個(gè)車庫門,或者要添加對(duì)電動(dòng)門的控制,則應(yīng)在IN2,IN3,
第2步:在Raspberry Pi上安裝依賴項(xiàng) 》
Raspbian預(yù)先安裝了Python,但是您需要添加GPIO庫。在Pi的終端窗口中鍵入以下內(nèi)容:
sudo apt-get update
sudo apt-get -y install python-rpi.gpio
現(xiàn)在在主目錄中創(chuàng)建一個(gè)新文件夾,該文件夾將放置將用于控制繼電器的Python腳本:
mkdir ~/garagedoor
cd ~/garagedoor
最后,下載bottle,一個(gè)輕量級(jí)的框架,它將在您的Pi上創(chuàng)建一個(gè)簡單的Web服務(wù)器:
wget https://bottlepy.org/bottle.py 步驟3:創(chuàng)建控制腳本
下面是一個(gè)非常簡單的Python腳本,用于通過HTTP控制中繼板:
# Python Script To Control Garage Door
# Load libraries
import RPi.GPIO as GPIO
import time
from bottle import route, run, template
# Set up the GPIO pins
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.output(7, True)
GPIO.output(11, True)
# Handle http requests to the root address
@route(‘/’)
def index():
return ‘Go away.’
# Handle http requests to /garagedoor
@route(‘/garagedoor/:doornum’)
def garagedoor(doornum=0):
if doornum == ‘0’:
return ‘No door number specified’
elif doornum == ‘1’:
GPIO.output(7, False)
time.sleep(.8)
GPIO.output(7, True)
return ‘Door number 1 cycled.’
elif doornum == ‘2’:
GPIO.output(11, False)
time.sleep(.8)
GPIO.output(11, True)
return ‘Door number 2 cycled’
run(host=‘0.0.0.0’, port=1234)
在您的Raspberry Pi上,使用nano創(chuàng)建一個(gè)新的Python文件:
nano door.py
將上面的腳本復(fù)制并粘貼到空文檔中。退出并使用 CTRL + X 保存,然后使用 Y 和輸入進(jìn)行確認(rèn)。
現(xiàn)在通過運(yùn)行來測(cè)試腳本它:
python door.py
如果一切正常,您將看到以下消息:
如果收到任何錯(cuò)誤消息,請(qǐng)檢查所有內(nèi)容均正確粘貼到文件中,并且沒有在同一端口上運(yùn)行其他Web服務(wù)器(如Apache)(它將干擾腳本創(chuàng)建的服務(wù)器)。
假定沒有錯(cuò)誤,請(qǐng)轉(zhuǎn)到同一網(wǎng)絡(luò)上另一臺(tái)計(jì)算機(jī)上的Web瀏覽器,然后在地址欄中鍵入Pi的IP地址,后跟冒號(hào)和1234。例如,如果您的IP地址Raspberry Pi為11.22.33.44,您需要在瀏覽器中輸入 11.22.33.44:1234 。
如果一切正常,您將看到一條消息,提示您離開! p》
現(xiàn)在在IP地址和端口號(hào)之后添加/garagedoor/1 ,如下所示: 11.22.33.44:1234/garagedoo r/1
按 Enter ,您將聽到板上的第一個(gè)繼電器在關(guān)閉并再次打開時(shí)單擊兩次。如果將1更改為2,然后重新加載頁面,則會(huì)聽到第二個(gè)繼電器循環(huán)。
步驟4:將繼電器連接到門電機(jī)
請(qǐng)參閱車庫門電機(jī)手冊(cè),以查找可以在何處連接外部控制器。將兩芯電纜連接到該電纜,然后將電纜的另一端連接到中繼板的螺釘端子。
每個(gè)端子有三個(gè)端子中繼-使用如圖所示的常開對(duì)。
再次從Web瀏覽器測(cè)試所有內(nèi)容(您可以刷新頁面)。如果一切順利,則中繼將單擊幾次,您的車庫門應(yīng)開始打開。
第5步:將腳本設(shè)置為自動(dòng)加載
如果您的Raspberry Pi重新啟動(dòng),出于任何原因,例如斷電,您的Python腳本將停止運(yùn)行。要在啟動(dòng)時(shí)加載它,請(qǐng)將以下行添加到您的/etc/sc.local 文件中(如果以其他用戶身份登錄到Pi,請(qǐng)將 Pi 更改為您的用戶名):
nohup python /home/pi/garagedoor/door.py &
使用常規(guī)的文本編輯器執(zhí)行此操作,完成后保存文件。
請(qǐng)注意安全性注意事項(xiàng)
此示例Python腳本沒有任何安全性-任何可以通過其IP地址訪問Raspberry Pi的人都可以打開和關(guān)閉車庫門。很容易想到,僅僅因?yàn)闆]人知道您的腳本在那里,沒人會(huì)找到它,但是通過模糊性的安全性一次又一次被證明是一個(gè)壞主意。
完整的身份驗(yàn)證系統(tǒng)已經(jīng)超出了范圍本教程的內(nèi)容,但是一種簡單的安全解決方案是不要讓您的Pi在家庭網(wǎng)絡(luò)之外訪問。
這里有一些保護(hù)Raspberry Pi的提示。
控制您的Raspberry Pi使用IFTTT或Siri的車庫門
如果確實(shí)選擇從開放的互聯(lián)網(wǎng)訪問Pi,則可以通過“如果這樣那么(IFTTT)”服務(wù)來控制車庫門。例如,當(dāng)您向Amazon Echo發(fā)出觸發(fā)短語時(shí),可以將Alexa和Webhooks IFTTT服務(wù)結(jié)合使用來打開車庫門。
駕駛具有IFTTT連接服務(wù)的汽車,您可以創(chuàng)建一個(gè)applet,以便在您的汽車接近您的房屋(蝙蝠俠式)時(shí)打開門。
想知道更多嗎?請(qǐng)參閱我們的可下載指南,以像專業(yè)人士一樣使用IFTTT。
另一種觸發(fā)您的新互聯(lián)網(wǎng)感知車庫門的方法是使用Siri快捷方式。在小部件中添加一個(gè)非常簡單的快捷方式意味著您可以省去攜帶煩人的鍵,而只需輕掃即可打開車庫并點(diǎn)擊iPhone。
繼電器板可以切換電源電壓,因此可以控制大多數(shù)家用電器。該項(xiàng)目可以作為向幾乎所有帶電源的設(shè)備添加智能設(shè)備的基礎(chǔ)。咖啡機(jī),照明,空調(diào)-都可以通過Raspberry Pi和一些繼電器實(shí)現(xiàn)自動(dòng)化。
責(zé)任編輯:wv
-
樹莓派
+關(guān)注
關(guān)注
121文章
1944瀏覽量
106984 -
IFTTT
+關(guān)注
關(guān)注
0文章
47瀏覽量
3270
發(fā)布評(píng)論請(qǐng)先 登錄
用樹莓派“揪出”家里的耗電怪獸!

樹莓派“吉尼斯世界記錄”:將樹莓派的性能發(fā)揮到極致的項(xiàng)目!

用 樹莓派 Zero 打造的智能漫游車!

樹莓派也能實(shí)現(xiàn)海上自動(dòng)化駕駛?

一場(chǎng)圖形化編程與樹莓派的“跨界聯(lián)姻”?

樹莓派PLC:讓工業(yè)自動(dòng)化進(jìn)入DIY時(shí)代!

評(píng)論