步驟1:您需要的內(nèi)容
至少,您將需要:
Google主頁(yè)
從Google購(gòu)買
任何型號(hào)Raspberry Pi
從Adafruit購(gòu)買
GPIO電纜
您可能可以找到自己的,我不知道不擁有你
5v 2中繼模塊
在Ebay上更便宜
》其余就是軟件。如果您是Raspberry Pi的新手,請(qǐng)注意,可能需要一些其他硬件(例如USB電纜或wifi芯片)才能啟動(dòng)并運(yùn)行。
第2步:板載軟件設(shè)置

因此,為了使本指南盡可能易于使用,我-將包含一些您超級(jí)用戶可能會(huì)發(fā)現(xiàn)過(guò)多的鏈接。
TLDR:在WiFi或以太網(wǎng)(最好是WiFi)上設(shè)置樹(shù)莓派,并配置路由器,以使服務(wù)器外部可用。您將使用raspberry-gpio-python來(lái)控制中繼。
對(duì)于新手,您將首先設(shè)置樹(shù)莓派。
您將希望獲得樹(shù)莓派。 pi在您的本地WiFi上設(shè)置。
我將在Node.js中工作,因此您將需要升級(jí)到最新版本的Node。
配置路由器,以便端口80重定向到您的樹(shù)莓派的MAC地址。 (對(duì)不起,這取決于您使用的路由器,并且沒(méi)有真正的通用指南。)
我更喜歡使用SSH連接到我的樹(shù)莓派。
大量在您啟動(dòng)過(guò)程中,有些事情可能會(huì)出錯(cuò)。保持耐心,和谷歌的事情。社區(qū)非常支持,并且很可能其他人以前遇到過(guò)您的問(wèn)題!
第3步:搭建電路

因此,有很多關(guān)于Rasberry Pi上的繼電器入門(mén)的指南。
基本上,您將需要從Raspberry Pi的5v輸出引腳提供電源,并選擇要用于發(fā)送開(kāi)/關(guān)的控制引腳。觸發(fā)繼電器的信號(hào)。
使用上圖,無(wú)論使用哪種型號(hào),我都建議使用黃色針腳。
第4步:創(chuàng)建服務(wù)器
入門(mén)應(yīng)用程序現(xiàn)已可用!
訪問(wèn)https://github.com/krpeacock/google_home_starter下載該項(xiàng)目的入門(mén)應(yīng)用程序,并按照README進(jìn)行配置并在您自己的設(shè)備上運(yùn)行。
您也可以查看我的最新作品如果您有興趣查看項(xiàng)目的稍微復(fù)雜一點(diǎn)的版本,請(qǐng)?jiān)L問(wèn)https://github.com/krpeacock/power_strip/tree/strip的React項(xiàng)目
主要步驟是構(gòu)建Node + Express服務(wù)器能夠處理POST請(qǐng)求。
在我的代碼中,它看起來(lái)像這樣:
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ā)布請(qǐng)求,其中id寫(xiě)入為sw1,sw2 , 等等。識(shí)別出開(kāi)關(guān)之后,我調(diào)用toggle()方法運(yùn)行Python腳本并更改中繼的狀態(tài)。
我為關(guān)閉和打開(kāi)功能編寫(xiě)了單獨(dú)的python腳本,指定了將GPIO引腳綁定到每個(gè)開(kāi)關(guān)。例如,sw1_on.py看起來(lái)像:
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
然后,通過(guò)要求使用Python-shell節(jié)點(diǎn)模塊,我可以使用以下命令執(zhí)行腳本:
const PythonShell = require(‘python-shell’);
PythonShell.run(‘。/public/python/scripts/sw1_on.py’)
第5步:連接到Google主頁(yè)
如果您已成功獲取此信息到目前為止,這些信息可能是您在這里的唯一原因。沒(méi)關(guān)系!這很酷。
您正在運(yùn)行服務(wù)器,它可以控制中繼。它的結(jié)構(gòu)使得POST請(qǐng)求可以更改中繼的狀態(tài)。現(xiàn)在,您所需要做的就是讓您的Google Home向設(shè)備發(fā)送POST請(qǐng)求。最終,您將需要添加一些授權(quán),以便陌生人無(wú)法控制您的設(shè)備,但現(xiàn)在我們只希望請(qǐng)求能夠正常工作。
轉(zhuǎn)到https://ifttt.com并連接它到您的Google帳戶。
轉(zhuǎn)到https://ifttt.com/create,然后單擊+此鏈接。
搜索Google Assistant
選擇Google Assistant
選擇“說(shuō)一個(gè)簡(jiǎn)單的短語(yǔ)”作為觸發(fā)條件
告訴Google應(yīng)該觸發(fā)什么那個(gè)行動(dòng)。
我更喜歡使用要控制的設(shè)備命名,所以我說(shuō)“打開(kāi)燈”
指定響應(yīng)
“打開(kāi)燈”
單擊“創(chuàng)建觸發(fā)器”并繼續(xù)
單擊+那個(gè)鏈接
搜索“ Webhooks”
選擇“發(fā)出Web請(qǐng)求”
現(xiàn)在,這是重要的一點(diǎn)。確定您的IP地址(或域,如果您設(shè)置了該抽象級(jí)別),并將其輸入到URL部分。如果您按照我的入門(mén)項(xiàng)目中的結(jié)構(gòu)進(jìn)行操作,它將看起來(lái)像
http://ipaddressgoeshere/API/switches/sw1?password=yourpasswordhere
將方法設(shè)置為POST
內(nèi)容類型應(yīng)為text/plain
正文可以留空
創(chuàng)建動(dòng)作并選擇“完成”。
步驟6:恭喜!
您已經(jīng)完成了!現(xiàn)在,您的Google Home知道如何通過(guò)HTTP與智能設(shè)備進(jìn)行通信。
由于此操作可以進(jìn)行切換,因此從技術(shù)上講,您可以一直說(shuō)“打開(kāi)燈”以打開(kāi)和關(guān)閉它。我更愿意為每個(gè)開(kāi)關(guān)添加重復(fù)的打開(kāi)和關(guān)閉命令,以使一切都變得更舒適。
如果您想為本指南做出貢獻(xiàn),或者與我一起構(gòu)建入門(mén)應(yīng)用程序,您也可以隨時(shí)取得聯(lián)系!我想讓新黑客盡可能地簡(jiǎn)化此過(guò)程。
責(zé)任編輯:wv
-
繼電器
+關(guān)注
關(guān)注
133文章
5535瀏覽量
153975 -
樹(shù)莓派
+關(guān)注
關(guān)注
122文章
2072瀏覽量
109959 -
NODE.JS
+關(guān)注
關(guān)注
1文章
49瀏覽量
33912 -
IFTTT
+關(guān)注
關(guān)注
0文章
47瀏覽量
3465
發(fā)布評(píng)論請(qǐng)先 登錄
樹(shù)莓派 Connect 更新,增加三個(gè)實(shí)用新功能!
樹(shù)莓派操作系統(tǒng):版本、特性及設(shè)置完整指南!
20個(gè)任何人都能完成的樹(shù)莓派酷炫項(xiàng)目!
樹(shù)莓派小技巧:無(wú)需鍵盤(pán)或顯示器,如何通過(guò)WiFi設(shè)置樹(shù)莓派?
樹(shù)莓派分類器:用樹(shù)莓派識(shí)別不同型號(hào)的樹(shù)莓派!
用樹(shù)莓派“揪出”家里的耗電怪獸!
HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開(kāi)發(fā)函數(shù)
HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開(kāi)發(fā)Node環(huán)境
樹(shù)莓派“吉尼斯世界記錄”:將樹(shù)莓派的性能發(fā)揮到極致的項(xiàng)目!
用 樹(shù)莓派 Zero 打造的智能漫游車!
在樹(shù)莓派上構(gòu)建和部署 Node.js 項(xiàng)目
僅僅使用代碼,就能點(diǎn)亮樹(shù)莓派的 GPIO 世界
【干貨】什么是Node-RED?一文帶你了解!
Bun 1.2震撼發(fā)布:全力挑戰(zhàn)Node.js生態(tài)的JavaScript運(yùn)行時(shí)新星

如何使用Node.js和IFTTT Web服務(wù)使用任何樹(shù)莓派設(shè)備控制電子繼電器
評(píng)論