步驟1:您需要的內(nèi)容
至少,您將需要:
Google主頁
從Google購買
任何型號Raspberry Pi
從Adafruit購買
GPIO電纜
您可能可以找到自己的,我不知道不擁有你
5v 2中繼模塊
在Ebay上更便宜
》其余就是軟件。如果您是Raspberry Pi的新手,請注意,可能需要一些其他硬件(例如USB電纜或wifi芯片)才能啟動并運(yùn)行。
第2步:板載軟件設(shè)置
因此,為了使本指南盡可能易于使用,我-將包含一些您超級用戶可能會發(fā)現(xiàn)過多的鏈接。
TLDR:在WiFi或以太網(wǎng)(最好是WiFi)上設(shè)置樹莓派,并配置路由器,以使服務(wù)器外部可用。您將使用raspberry-gpio-python來控制中繼。
對于新手,您將首先設(shè)置樹莓派。
您將希望獲得樹莓派。 pi在您的本地WiFi上設(shè)置。
我將在Node.js中工作,因此您將需要升級到最新版本的Node。
配置路由器,以便端口80重定向到您的樹莓派的MAC地址。 (對不起,這取決于您使用的路由器,并且沒有真正的通用指南。)
我更喜歡使用SSH連接到我的樹莓派。
大量在您啟動過程中,有些事情可能會出錯。保持耐心,和谷歌的事情。社區(qū)非常支持,并且很可能其他人以前遇到過您的問題!
第3步:搭建電路
因此,有很多關(guān)于Rasberry Pi上的繼電器入門的指南。
基本上,您將需要從Raspberry Pi的5v輸出引腳提供電源,并選擇要用于發(fā)送開/關(guān)的控制引腳。觸發(fā)繼電器的信號。
使用上圖,無論使用哪種型號,我都建議使用黃色針腳。
第4步:創(chuàng)建服務(wù)器
入門應(yīng)用程序現(xiàn)已可用!
訪問https://github.com/krpeacock/google_home_starter下載該項(xiàng)目的入門應(yīng)用程序,并按照README進(jìn)行配置并在您自己的設(shè)備上運(yùn)行。
您也可以查看我的最新作品如果您有興趣查看項(xiàng)目的稍微復(fù)雜一點(diǎn)的版本,請?jiān)L問https://github.com/krpeacock/power_strip/tree/strip的React項(xiàng)目
主要步驟是構(gòu)建Node + Express服務(wù)器能夠處理POST請求。
在我的代碼中,它看起來像這樣:
app.post(‘/api/switches/:id’, function(req, res){
var foundSwitch = getSwitch(req.params.id);
foundSwitch.toggle();
saveState();
console.log(“postSwitch ”+JSON.stringify(foundSwitch));
res.json(foundSwitch);
})
我向/api/switches/:id發(fā)出了發(fā)布請求,其中id寫入為sw1,sw2 , 等等。識別出開關(guān)之后,我調(diào)用toggle()方法運(yùn)行Python腳本并更改中繼的狀態(tài)。
我為關(guān)閉和打開功能編寫了單獨(dú)的python腳本,指定了將GPIO引腳綁定到每個開關(guān)。例如,sw1_on.py看起來像:
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
然后,通過要求使用Python-shell節(jié)點(diǎn)模塊,我可以使用以下命令執(zhí)行腳本:
const PythonShell = require(‘python-shell’);
PythonShell.run(‘。/public/python/scripts/sw1_on.py’)
第5步:連接到Google主頁
如果您已成功獲取此信息到目前為止,這些信息可能是您在這里的唯一原因。沒關(guān)系!這很酷。
您正在運(yùn)行服務(wù)器,它可以控制中繼。它的結(jié)構(gòu)使得POST請求可以更改中繼的狀態(tài)?,F(xiàn)在,您所需要做的就是讓您的Google Home向設(shè)備發(fā)送POST請求。最終,您將需要添加一些授權(quán),以便陌生人無法控制您的設(shè)備,但現(xiàn)在我們只希望請求能夠正常工作。
轉(zhuǎn)到https://ifttt.com并連接它到您的Google帳戶。
轉(zhuǎn)到https://ifttt.com/create,然后單擊+此鏈接。
搜索Google Assistant
選擇Google Assistant
選擇“說一個簡單的短語”作為觸發(fā)條件
告訴Google應(yīng)該觸發(fā)什么那個行動。
我更喜歡使用要控制的設(shè)備命名,所以我說“打開燈”
指定響應(yīng)
“打開燈”
單擊“創(chuàng)建觸發(fā)器”并繼續(xù)
單擊+那個鏈接
搜索“ Webhooks”
選擇“發(fā)出Web請求”
現(xiàn)在,這是重要的一點(diǎn)。確定您的IP地址(或域,如果您設(shè)置了該抽象級別),并將其輸入到URL部分。如果您按照我的入門項(xiàng)目中的結(jié)構(gòu)進(jìn)行操作,它將看起來像
http://ipaddressgoeshere/API/switches/sw1?password=yourpasswordhere
將方法設(shè)置為POST
內(nèi)容類型應(yīng)為text/plain
正文可以留空
創(chuàng)建動作并選擇“完成”。
步驟6:恭喜!
您已經(jīng)完成了!現(xiàn)在,您的Google Home知道如何通過HTTP與智能設(shè)備進(jìn)行通信。
由于此操作可以進(jìn)行切換,因此從技術(shù)上講,您可以一直說“打開燈”以打開和關(guān)閉它。我更愿意為每個開關(guān)添加重復(fù)的打開和關(guān)閉命令,以使一切都變得更舒適。
如果您想為本指南做出貢獻(xiàn),或者與我一起構(gòu)建入門應(yīng)用程序,您也可以隨時取得聯(lián)系!我想讓新黑客盡可能地簡化此過程。
責(zé)任編輯:wv
-
繼電器
+關(guān)注
關(guān)注
132文章
5303瀏覽量
148209 -
樹莓派
+關(guān)注
關(guān)注
116文章
1684瀏覽量
105414 -
NODE.JS
+關(guān)注
關(guān)注
1文章
46瀏覽量
32740 -
IFTTT
+關(guān)注
關(guān)注
0文章
47瀏覽量
3124
發(fā)布評論請先 登錄
相關(guān)推薦
評論