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

    文章

    5021

    浏览量

    145997
  • 树莓派
    +关注

    关注

    113

    文章

    1636

    浏览量

    104701
  • NODE.JS
    +关注

    关注

    1

    文章

    46

    浏览量

    32682
  • IFTTT
    +关注

    关注

    0

    文章

    47

    浏览量

    3105
收藏 人收藏

    评论

    相关推荐

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

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

    Nginx常用配置与命令

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

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

    电子发烧友网站提供《如何使用继电器模块控制高压设备.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>物联网报警系统

    node.js实战源码

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

    树莓派串口控制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>)

    树莓派实现继电器控制电磁锁

    一、使用工具:=====树莓派3b、继电器、电磁锁、导线若干 二、接线: 三、实现代码(树莓派): # include # include # include # include # include int initwiring
    发表于 04-27 11:51 0次下载
    <b class='flag-5'>树莓</b>派实现<b class='flag-5'>继电器</b><b class='flag-5'>控制</b>电磁锁

    树莓派通过继电器控制水泵

    树莓派4b、一个1路5V继电器、一个12V小水泵、一个能装四个五号电池的电池盒和四个五号电池、一个面包板和若干杜邦线。
    发表于 04-27 10:58 0次下载
    <b class='flag-5'>树莓</b>派通过<b class='flag-5'>继电器</b><b class='flag-5'>控制</b>水泵

    树莓派使用python+继电器控制220V灯泡

    的“几路”指的是可用控制多少个电灯220v线路,5v指继电器本身需要5v电压来驱动,树莓派本身提供5v电压输出所以这里选用5v
    发表于 04-27 10:50 3次下载
    <b class='flag-5'>树莓</b>派使用python+<b class='flag-5'>继电器</b><b class='flag-5'>控制</b>220V灯泡

    树莓控制固态继电器的使用

    一、运行环境 1.树莓派3B+型 2.Ingenex导轨式固态继电器 型号H3F-205SN (输入电压5-24v输入电流大于10mA被控制电压220v) 3.220v插线板 操作过程
    发表于 04-27 10:25 0次下载
    <b class='flag-5'>树莓</b>派<b class='flag-5'>控制</b>固态<b class='flag-5'>继电器</b>的使用

    树莓控制继电器实现led点亮

    利用树莓派给继电器提供电量,利用gpio的针脚给继电器的IN1一个高电平 1.首先在qt .pro文件中加入
    发表于 04-27 09:40 0次下载
    <b class='flag-5'>树莓</b>派<b class='flag-5'>控制</b><b class='flag-5'>继电器</b>实现led点亮

    树莓派接继电器的使用

    1.查看树莓派的针脚 gpio readall  2.连线    我们需要把继电器的VCC 连到树莓派3.3V的针脚、GND连到0V的针脚、IN连到GPIO的针脚               接上
    发表于 04-26 11:40 0次下载
    <b class='flag-5'>树莓</b>派接<b class='flag-5'>继电器</b>的使用

    树莓派C编程实现继电器控制

    1. VCC、GND、S/IN与树莓派上对应的VCC、GND、以及自己想要编程控制的引脚相接; 2. 先把所需要控制的器件一路线路分为两段,一段与继电器的com相接,另一段与
    发表于 04-26 11:03 0次下载
    <b class='flag-5'>树莓</b>派C编程实现<b class='flag-5'>继电器</b><b class='flag-5'>控制</b>

    树莓派实现继电器控制电磁锁

    当在继电器的输入端(IN)输入一个低电平时,继电器的常开端(NO)和公共端(COM)就会闭合起来(相当于家用灯的按下开关动作),即可导通电路 树莓派实现继电器
    发表于 04-26 10:56 0次下载
    <b class='flag-5'>树莓</b>派实现<b class='flag-5'>继电器</b><b class='flag-5'>控制</b>电磁锁

    wiringPi库和控制继电器说明

    目录 一、wiringPi库 二、继电器 1、继电器介绍及接线说明 2、树莓控制继电器 一、wiringPi库   wiringPi是一个
    发表于 04-26 09:17 0次下载
    wiringPi库和<b class='flag-5'>控制</b><b class='flag-5'>继电器</b>说明