0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-08 11:35 ? 次閱讀

步驟1:您需要的內(nèi)容

至少,您將需要:

Google主頁

從Google購買

任何型號Raspberry Pi

Adafruit購買

GPIO電纜

您可能可以找到自己的,我不知道不擁有你

5v 2中繼模塊

在Ebay上更便宜

》其余就是軟件。如果您是Raspberry Pi的新手,請注意,可能需要一些其他硬件(例如USB電纜或wifi芯片)才能啟動并運行。

第2步:板載軟件設(shè)置

如何使用Node.js和IFTTT Web服務(wù)使用任何樹莓派設(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下載該項目的入門應(yīng)用程序,并按照README進行配置并在您自己的設(shè)備上運行。

您也可以查看我的最新作品如果您有興趣查看項目的稍微復(fù)雜一點的版本,請訪問https://github.com/krpeacock/power_strip/tree/strip的React項目

主要步驟是構(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()方法運行Python腳本并更改中繼的狀態(tài)。

我為關(guān)閉和打開功能編寫了單獨的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é)點模塊,我可以使用以下命令執(zhí)行腳本:

const PythonShell = require(‘python-shell’);

PythonShell.run(‘。/public/python/scripts/sw1_on.py’)

第5步:連接到Google主頁

如果您已成功獲取此信息到目前為止,這些信息可能是您在這里的唯一原因。沒關(guā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)在,這是重要的一點。確定您的IP地址(或域,如果您設(shè)置了該抽象級別),并將其輸入到URL部分。如果您按照我的入門項目中的結(jié)構(gòu)進行操作,它將看起來像

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è)備進行通信。

由于此操作可以進行切換,因此從技術(shù)上講,您可以一直說“打開燈”以打開和關(guān)閉它。我更愿意為每個開關(guān)添加重復(fù)的打開和關(guān)閉命令,以使一切都變得更舒適。

如果您想為本指南做出貢獻,或者與我一起構(gòu)建入門應(yīng)用程序,您也可以隨時取得聯(lián)系!我想讓新黑客盡可能地簡化此過程。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 繼電器
    +關(guān)注

    關(guān)注

    133

    文章

    5429

    瀏覽量

    150922
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    1949

    瀏覽量

    107006
  • NODE.JS
    +關(guān)注

    關(guān)注

    1

    文章

    49

    瀏覽量

    33084
  • IFTTT
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    3273
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)Node環(huán)境

    。 ??跨平臺調(diào)用??:無縫對接Android、iOS、Web等多端。 ??為什么選擇Node.js??? Node.js的非阻塞I/O模型天生適合處理高并發(fā)請求,結(jié)合HTTP觸發(fā)器,能快速搭建輕量級API
    發(fā)表于 05-22 17:21

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

    樹莓是一款功能強大、體積小巧且高度可定制的設(shè)備,多年來,我們見證了它被應(yīng)用于眾多領(lǐng)域。無論是將其裝入3D打印的經(jīng)典游戲機外殼,還是簡單地將它隱藏起來作為家庭文件服務(wù)器,我們都報道過在
    的頭像 發(fā)表于 05-22 16:53 ?449次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“吉尼斯世界記錄”:將<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的性能發(fā)揮到極致的項目!

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

    使用PXFMini和樹莓Zero打造您自己的自主漫游車。本項目所用組件硬件組件ErleRoboticsPXFmini×1樹莓Zero×1樹莓
    的頭像 發(fā)表于 05-13 16:39 ?288次閱讀
    用 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游車!

    樹莓派上構(gòu)建和部署 Node.js 項目

    探索在RaspberryPi上構(gòu)建和部署Node.js項目的最佳實踐。通過我們的專業(yè)提示和技巧,克服常見挑戰(zhàn),使您的項目順利運行。去年圣誕節(jié),我收到了一份極其令人著迷的禮物,它占據(jù)了我許多周末的時間
    的頭像 發(fā)表于 03-25 09:44 ?185次閱讀
    在<b class='flag-5'>樹莓</b>派上構(gòu)建和部署 <b class='flag-5'>Node.js</b> 項目

    僅僅使用代碼,就能點亮樹莓的 GPIO 世界

    RaspberryPi的一個流行應(yīng)用是構(gòu)建Web服務(wù)器。為此,我們可以使用不同的技術(shù),如Python、Node.JS甚至PHP。由于RaspberryPi的絕大多數(shù)腳本都是用Python編寫的,因此
    的頭像 發(fā)表于 03-25 09:31 ?207次閱讀
    僅僅使用代碼,就能點亮<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的 GPIO 世界

    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)Node.js生態(tài)的JavaScript運行時新星

    了與 Node.js 的兼容性,還為開發(fā)者帶來了內(nèi)置的數(shù)據(jù)庫支持和云服務(wù)集成能力,進一步強化了其“全能工具包”的定位。Node.js 兼容性獲得突破性進展在此次更新中,最引人注目的是 Bun 在
    的頭像 發(fā)表于 01-24 10:42 ?611次閱讀
    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)<b class='flag-5'>Node.js</b>生態(tài)的JavaScript運行時新星

    固態(tài)繼電器的熱管理技巧 固態(tài)繼電器如何保護設(shè)備

    固態(tài)繼電器(SSR)是一種無觸點的電子開關(guān)設(shè)備,它使用電子元件(如晶體管、MOSFET等)來控制電路的通斷。由于固態(tài)
    的頭像 發(fā)表于 12-11 16:21 ?799次閱讀

    Node.js小科普和Node.js安裝常見管理工具

    便捷。但是隨著JavaScript影響力不斷壯大,它的使用范圍已經(jīng)發(fā)生了變化。2009年,Node.js發(fā)布,初代版本支持基本的網(wǎng)絡(luò)通信和文件系統(tǒng)操作,這讓JavaScript可以到服務(wù)器上大展拳腳
    的頭像 發(fā)表于 11-23 15:37 ?366次閱讀
    <b class='flag-5'>Node.js</b>小科普和<b class='flag-5'>Node.js</b>安裝常見管理工具

    樹莓與Arduino的區(qū)別是什么

    Pi): 樹莓最初是作為教育工具設(shè)計的,旨在幫助學(xué)生學(xué)習(xí)計算機編程和電子工程。隨著時間的推移,它已經(jīng)發(fā)展成為一個多功能的微型計算機,可以用于各種項目,包括但不限于: 家庭媒體中心 游戲機 網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-11 11:14 ?2109次閱讀

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    /Output,通用輸入/輸出)是樹莓提供的一組可編程的引腳,是樹莓與外部世界進行交互的重要橋梁。通過GPIO,用戶可以控制外部電路,讀
    的頭像 發(fā)表于 10-22 18:09 ?2475次閱讀

    工程師必備!Node.js和常見管理工具介紹(附操作演示)

    語言及其相關(guān)生態(tài)中的一些基礎(chǔ)而關(guān)鍵的概念,以及它們是如何在互聯(lián)網(wǎng)歷史浪潮中產(chǎn)生的。一JavaScript與Node.js1JavaScriptJavaScript,即JS
    的頭像 發(fā)表于 08-30 12:34 ?511次閱讀
    工程師必備!<b class='flag-5'>Node.js</b>和常見管理工具介紹(附操作演示)

    【Raspberry Pi 5開發(fā)板試用】樹莓5---家庭多媒體和控制中心

    \"的遠程訪問功能,目前處于beta測試階段。它允許用戶從世界任何地方安全地訪問他們的樹莓,支持遠程圖形化操作和命令行訪問,設(shè)備端與遠程端的同步確保了實時性。
    發(fā)表于 08-01 17:40

    電源時序器屬于控制繼電器

    電源時序器和控制繼電器是兩種不同的電子設(shè)備,電源時序器通過控制繼電器實現(xiàn)對電源設(shè)備的順序
    的頭像 發(fā)表于 07-08 14:30 ?1065次閱讀

    繼電器控制和plc控制的區(qū)別是什么

    繼電器是一種開關(guān)設(shè)備,通過控制線圈的電流來實現(xiàn)觸點的吸合和釋放,從而控制電路的通斷。繼電器控制
    的頭像 發(fā)表于 06-21 10:08 ?2079次閱讀

    繼電器的實質(zhì)是用什么控制什么

    繼電器是一種電氣設(shè)備,其主要功能是在控制電路中實現(xiàn)對高電壓、大電流負載的控制。繼電器的實質(zhì)是用低電壓、小電流的
    的頭像 發(fā)表于 06-21 10:03 ?1603次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品