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