0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Node.js和IFTTT Web服务使用任何树莓派设备控制电子继电器

454398 来源:网络整理 作者:佚名 2019-11-08 11:35 次阅读

步骤1:您需要的内容

至少,您将需要:

Google主页

从Google购买

任何型号Raspberry Pi

Adafruit购买

GPIO电缆

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

5v 2中继模块

在Ebay上更便宜

》其余就是软件。如果您是Raspberry Pi的新手,请注意,可能需要一些其他硬件(例如USB电缆或wifi芯片)才能启动并运行。

第2步:板载软件设置

如何使用Node.js和IFTTT Web服务使用任何树莓派设备控制电子继电器

因此,为了使本指南尽可能易于使用,我-将包含一些您超级用户可能会发现过多的链接。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 继电器
    +关注

    关注

    131

    文章

    5027

    浏览量

    146049
  • 树莓派
    +关注

    关注

    113

    文章

    1639

    浏览量

    104737
  • NODE.JS
    +关注

    关注

    1

    文章

    46

    浏览量

    32684
  • IFTTT
    +关注

    关注

    0

    文章

    47

    浏览量

    3106
收藏 人收藏

    评论

    相关推荐

    功率继电器的原理 功率继电器的作用

    功率继电器的原理 功率继电器的作用  功率继电器是一种用于控制大功率负载电流的电子设备。它的原理是利用小功率信号
    的头像 发表于 03-07 13:53 466次阅读

    延时继电器工作原理 延时继电器的接法和用途

    延时继电器是一种常用的电子设备,它能够延迟触发继电器的动作,从而在电路中产生一定的延时效果。它在工业自动化控制、电气设备保护、通信系统和家庭
    的头像 发表于 01-19 11:24 1392次阅读

    Nodejs的CommonJS规范实现原理

    Node.js 是一个基于 ChromeV8 引擎的 JavaScript 运行环境,使用了一个事件驱动、非阻塞式 I/O 模型,让 JavaScript 运行在服务端的开发平台
    的头像 发表于 11-25 10:21 266次阅读
    Nodejs的CommonJS规范实现原理

    如何使用继电器模块来控制电路?

    如何使用继电器模块来控制电路? 继电器模块是一种常用的电子元件,用于控制电路的开关。继电器模块通
    的头像 发表于 11-17 14:28 1332次阅读

    辅助继电器有什么用?辅助继电器的定义和作用

    辅助继电器有什么用?辅助继电器的定义和作用 辅助继电器是一种电气设备,通过控制电路中的信号来控制
    的头像 发表于 10-27 10:20 1038次阅读

    Nginx常用配置与命令

    对于前端来说 Node.js 并不陌生, Nginx 和 Node.js 的很多理念类似, HTTP 服务器、事件驱动、异步非阻塞等,且 Nginx 的大部分功能使用 Node.js
    发表于 10-18 10:04 161次阅读
    Nginx常用配置与命令

    树莓3树莓4原理图分享

    提供了树莓3、树莓3B、树莓4版本的原理图
    发表于 09-27 07:58

    使用Google Assistant和IFTTT控制蜂鸣器

    电子发烧友网站提供《使用Google Assistant和IFTTT控制蜂鸣器.zip》资料免费下载
    发表于 07-04 10:06 0次下载
    使用Google Assistant和<b class='flag-5'>IFTTT</b><b class='flag-5'>控制</b>蜂鸣器

    如何使用继电器模块控制高压设备

    电子发烧友网站提供《如何使用继电器模块控制高压设备.zip》资料免费下载
    发表于 06-25 15:23 0次下载
    如何使用<b class='flag-5'>继电器</b>模块<b class='flag-5'>控制</b>高压<b class='flag-5'>设备</b>

    英特尔Edison Node JS物联网报警系统

    电子发烧友网站提供《英特尔Edison Node JS物联网报警系统.zip》资料免费下载
    发表于 06-13 17:08 0次下载
    英特尔Edison <b class='flag-5'>Node</b> <b class='flag-5'>JS</b>物联网报警系统

    接触器是什么?继电器是什么?接触器和继电器的区别是什么?

    电子元器件,也称为电磁继电器。它通常用于控制小电流电器设备的开关,例如家用电器和自动化系统中的控制
    的头像 发表于 06-07 19:22 1748次阅读

    功率继电器的原理 功率继电器和普通继电器的区别

    功率继电器是一种电气设备,主要用于控制大功率负载。其作用类似于普通继电器,但可以承受更高的电流和电压。在工业自动化和电力控制领域,功率
    的头像 发表于 06-01 09:47 3477次阅读

    node.js实战源码

    node.js实战源码
    发表于 05-16 18:06 0次下载

    继电器控制

    继电器是一种电子控制器件,是用较小的电流去控制较大电流的一种“自动开关”,通常应用于自动控制电路中起着自动调节、安全保护、转换电路等作用。本
    发表于 04-28 14:21 2次下载
    <b class='flag-5'>继电器</b><b class='flag-5'>控制</b>

    树莓派串口控制LED灯(继电器)

    一、认知WiringPi库(借鉴:树莓派wiringPi库详解) ①:函数解释 ②:串口解除 ③:重启sudo reboot 二、树莓派与继电器硬件连接原理图(以GPIO25引脚连接为例) 三、软件代码 一、认知Wi
    发表于 04-28 11:57 1次下载
    <b class='flag-5'>树莓</b>派串口<b class='flag-5'>控制</b>LED灯(<b class='flag-5'>继电器</b>)