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

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

    关注

    132

    文章

    5322

    浏览量

    148674
  • 树莓派
    +关注

    关注

    116

    文章

    1701

    浏览量

    105557
  • NODE.JS
    +关注

    关注

    1

    文章

    47

    浏览量

    32753
  • IFTTT
    +关注

    关注

    0

    文章

    47

    浏览量

    3134
收藏 人收藏

    评论

    相关推荐

    Node.js小科普和Node.js安装常见管理工具

    便捷。但是随着JavaScript影响力不断壮大,它的使用范围已经发生了变化。2009年,Node.js发布,初代版本支持基本的网络通信和文件系统操作,这让JavaScript可以到服务器上大展拳脚
    的头像 发表于 11-23 15:37 84次阅读
    <b class='flag-5'>Node.js</b>小科普和<b class='flag-5'>Node.js</b>安装常见管理工具

    使用树莓实现远程控制的技巧

    树莓是一款功能强大的微型计算机,其体积小巧、价格低廉,非常适合用于各种DIY项目。其中,远程控制树莓应用中非常受欢迎的一个领域。通过远
    的头像 发表于 11-11 11:37 341次阅读

    树莓与Arduino的区别是什么

    Pi): 树莓最初是作为教育工具设计的,旨在帮助学生学习计算机编程和电子工程。随着时间的推移,它已经发展成为一个多功能的微型计算机,可以用于各种项目,包括但不限于: 家庭媒体中心 游戏机 网络
    的头像 发表于 11-11 11:14 422次阅读

    树莓gpio有什么用,树莓gpio接口及编程方法

    /Output,通用输入/输出)是树莓提供的一组可编程的引脚,是树莓与外部世界进行交互的重要桥梁。通过GPIO,用户可以控制外部电路,读
    的头像 发表于 10-22 18:09 559次阅读

    什么是树莓树莓是什么架构的

    什么是树莓 树莓(Raspberry Pi,简写为RPi,别名为RasPi/RPI)是由英国“Raspberry Pi 慈善基金会”开发的一款为学习计算机编程教育而设计的微型电脑。
    的头像 发表于 10-22 17:33 583次阅读

    树莓网关:物联网应用的新标杆

    的特点是体积小巧(大约信用卡大小),但功能齐全,足以支持多种计算任务。 树莓经常被用作物联网网关,收集设备数据,然后将数据上传云平台,并还可以用来接收来自云端的控制指令,
    的头像 发表于 10-09 16:44 252次阅读
    类<b class='flag-5'>树莓</b><b class='flag-5'>派</b>网关:物联网应用的新标杆

    树莓和单片机的优缺点是什么

    树莓(Raspberry Pi)和单片机(Microcontroller)是两种广泛应用于电子项目和嵌入式系统的硬件平台。它们各自具有独特的优缺点,适用于不同的应用场景。 树莓
    的头像 发表于 08-30 18:21 1504次阅读

    工程师必备!Node.js和常见管理工具介绍(附操作演示)

    语言及其相关生态中的一些基础而关键的概念,以及它们是如何在互联网历史浪潮中产生的。一JavaScript与Node.js1JavaScriptJavaScript,即JS
    的头像 发表于 08-30 12:34 273次阅读
    工程师必备!<b class='flag-5'>Node.js</b>和常见管理工具介绍(附操作演示)

    【Raspberry Pi 5开发板试用】树莓5---家庭多媒体和控制中心

    \"的远程访问功能,目前处于beta测试阶段。它允许用户从世界任何地方安全地访问他们的树莓,支持远程图形化操作和命令行访问,设备端与远程端的同步确保了实时性。
    发表于 08-01 17:40

    电源时序器属于控制继电器

    电源时序器和控制继电器是两种不同的电子设备,电源时序器通过控制继电器实现对电源设备的顺序
    的头像 发表于 07-08 14:30 494次阅读

    继电器控制电流的选择和计算

    继电器是一种用于控制电路的电气设备,其主要功能是实现高电压、大电流电路的控制和保护。继电器控制
    的头像 发表于 06-21 10:30 1438次阅读

    继电器控制和plc控制的区别是什么

    继电器是一种开关设备,通过控制线圈的电流来实现触点的吸合和释放,从而控制电路的通断。继电器控制
    的头像 发表于 06-21 10:08 1101次阅读

    继电器的实质是用什么控制什么

    继电器是一种电气设备,其主要功能是在控制电路中实现对高电压、大电流负载的控制继电器的实质是用低电压、小电流的
    的头像 发表于 06-21 10:03 719次阅读

    电子继电器的工作原理及作用

    电子继电器是一种利用电子元件来控制电路的开关设备。与机械式继电器相比,
    的头像 发表于 05-21 18:15 2.3w次阅读

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

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