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

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

3天内不再提示

ESP8266 IFTTT的PIR运动检测器的制作

454398 来源:网络整理 作者:网络整理 2020-01-29 17:48 次阅读

概述

我们刚刚在车库中安装了猫门,我想看看我们的猫每天(实际上是晚上)有多少次进出门。我们可以说猫在使用门,因为我们有时会在门外和门内找到它。对于这个项目,我跳过了其他项目使用的摄像头,并决定尝试使用IFTTT(如果不这样做)免费服务来检测运动时发送电子邮件。

因此,拆开我的零件盒,我发现了一个PIR运动传感器ESP8266和5V电池。

我使用了Adafruit HUZZAH ESP8266,因为它具有用于为3.3v ESP供电的5V稳压器,以及用于初始设置的良好教程。我也将Arduino IDE与ESP8266库一起使用,因为我已经非常熟悉将其与Huzzah ESP8266结合使用。

我决定将此接口连接到IFTTT(www.ifttt.com),以触发任何类型的事件。最初,每次检测到运动时仅一封电子邮件。

请注意,IFTTT需要HTTPS SSL加密。因此,该项目包括该代码。

步骤1:零件清单

零件清单

·Adafruit HUZZAH ESP8266https://www.adafruit.com/product/2471

·PIR运动检测器,例如https://www.adafruit.com/products/189

·FTDI或USB控制台电缆https://www.adafruit.com/products/954或等效

·5V电源或5V USB电池(用于便携式)

·面包板,电线,盒子将所有东西都放入

·安装了ESP8266扩展包的Arduino IDE(请参阅下面的初始设置)

·从GitHub下载ESP8266_PIR软件:https://github.com/rgrokett/ESP8266_PIR

重要的ESP8266初始设置

在开始项目之前,您应该熟悉Adafruit HUZZAH开发板,并使用Arduino IDE对其进行编程。最好的方法是使用出色的Adafruit教程:

https://learn.adafruit.com/adafruit-huzzah-esp8266 。..

您必须能够对其ESP8266进行编程,并按照其教程中的说明通过浏览器无线连接到它。完成后,然后继续进行下一步。..

步骤2:IFTTT设置

ESP8266 IFTTT的PIR运动检测器的制作

1。转到www.ifttt.com

2。登录。如果您没有帐户,则可以注册。免费。

3。登录后,点击我的小程序

4。点击新小程序

5。点击“……”。

6。在搜索服务框中输入“ Webhooks ”

7。点击 Webhooks 图标

8。对于“选择触发器”,只有一个带有“ Receive a Web Request ”的大灰色框。单击它

9。对于完整的触发器字段,输入“ pirigrigger ”,然后单击“创建”。这是ESP8266 .ino软件中使用的事件名称。它们必须匹配。

10。点击“…”的“ 那个”。

11。在搜索渠道框中输入“ 电子邮件”。您可以更改此设置以执行其他操作,例如发送短信等。但是,请坚持使用电子邮件。您以后可以随时进行编辑。

14。对于“选择操作”,单击带有“ 向我发送电子邮件”的灰色大框。

15。单击带有“ 给我发送电子邮件”的蓝色大框。

16。您可以编辑文本,也可以直接保留文本。某些字段未使用,但它们只是在您的电子邮件中显示为空白。

17。点击创建操作。您将看到一个仅描述此食谱将要执行的操作的屏幕。您可以编辑食谱标题,也可以直接保留。点击完成。

18。请注意,它使用您注册IFTTT时输入的电子邮件地址。

19。现在,您有了IFTTT食谱。

可以使用任何使用Maker渠道的IFTTT食谱,只要它被称为“ pirigrigger”即可。 ((如果需要,您可以在下面的ESP8266_PIR.ino程序中更改触发器名称。)

IFTTT Maker URL

您需要IFTTT分配的Maker URL,以便从ESP8266发送到IFTTT。

1。在屏幕的右上角上单击您的名字,然后选择服务。

2。再次单击 Webhooks图标。

3。点击设置按钮。

4。在“制造商设置”屏幕上,您需要复制“ URL:”字段的 api键部分。

示例:https://maker.ifttt.com/use/aBc1fakekey2ab3cBA

.ino程序稍后需要。

步骤3:软件

您应该在对ESP8266进行硬件布线之前对其进行编程和测试。

1。 停止的!确保您已经完成了Arduino IDE的Adafruit教程软件设置,并按照上述“初始设置”部分中的说明使用WiFi网络测试了ESP8266!

2。好的,从GitHub(https://github.com/rgrokett/ESP8266_PIR/)下载ESP8266_PIR软件

3。将ESP8266_PIR子目录复制到Arduino IDE开发目录中。

该文件夹包含所需的3个软件文件。

ESP8266_PIR.ino

HTTPSRedirect.h

HTTPSRedirect.cpp

4。双击 ESP8266_PIR.ino 程序将其加载到Arduino IDE中。

5。使用Arduino IDE,编辑ESP8266_PIR.ino,然后将 WiFi SSID 和 PASSWORD 插入适当的位置。

6。使用先前复制的 IFTTT API密钥更新API_KEY。如果需要,您可以在IFTTT中查看渠道-》搜索渠道-》制作者。

7。您还可以更改一些变量,如下所述:

const char* ssid = “{YOUR_WIFI_SSID}”; // Your WiFi SSID

const char* password = “{YOUR_WIFI_PWD}”; // Your WiFi Password

const char* api_key = “aBc1fakekey2ab3cBA”; // Your API KEY from https://ifttt.com/maker

const char* event = “pirtrigger”; // Your IFTTT Event Name

bool verifyCert = false; // Select true if you want SSL certificate validation

int PIRpin = 14; // GPIO 14 (PIR Sensor)

int MOTION_DELAY = 15; // Delay in seconds between events to keep from flooding IFTTT & emails

IFTTT需要HTTPS SSL和HTTPS 302重定向。 ESP8266库(安装在Adafruit教程中)包含HTTPS SSL函数,并且该库的扩展由https://github.com/electronicsguy/ESP8266/tree/ma 。..开发,用于处理HTTPS 302重定向。

由于此代码不在ESP8266库中,因此我提供了一个副本,或者您可以从上面的URL获取最新版本,并将.cpp和.h文件添加到ESP8266_PIR文件夹中。

IFTTT服务器最初会返回302重定向消息,因此“ HTTPSRedirect.cpp”软件会无形地处理将请求重新发送到新主机的情况。

可选

“ WiFiClientSecure”提供SSL加密,因此邮件始终以加密方式发送,但是默认情况下,IFTTT的SSL证书的验证处于关闭状态。您可以通过更改 verifyCert = true;

启用它,这需要使用IFTTT服务器的SHA1指纹来验证证书。

const char* SHA1Fingerprint=“A9 81 E1 35 B3 7F 81 B9 87 9D 11 DD 48 55 43 2C 8F C3 EC 87”;

此指纹最初是使用Linux命令从IFTTT服务器检索的:

$ openssl s_client -servername maker.ifttt.com -connect maker.ifttt.com:443 | openssl x509 -fingerprint -noout

用冒号替换冒号并更新ESP8266_PIR.ino如所须。

注意:除非IFTTT更改了其SSL证书,否则不必更改此设置。

再次,您可以通过以下方法绕过所有此检查:保留 verifyCert = false; 数据仍处于加密状态。

在此处继续

8。就像Adafruit教程中所示,使用FTDI或USB控制台电缆编译和上传程序。请记住,您必须按下HUZZAH ESP8266上的微小GPIO0和RESET按钮(又名Bootload模式),才能进行上载。

9。程序完成加载后,打开串行监视器,将其设置为115,200波特,然后按 ESP8266 RESET 按钮以重新启动程序。

10。连接到Wifi上网后,它应该在串行监视器中显示IP地址。

此外,板上的红色LED应当闪烁4次,表明已成功连接。如果没有连接,请确保ESP8266_PIR.ino中的SSID/PASSWD已更新并上传。

11。连接PIR和电源的时间……

步骤4:硬件-PIR

1。暂时从PC拔下FTDI/USB电缆以关闭ESP8266的电源。

2。按如下所示连接PIR传感器。请注意,PIR由5V供电,但其I/O线为3.3v,这使其直接与ESP8266的3.3v GPIO引脚兼容。

(请参见引脚图)

3。现在将PIR接线,将FTDI/USB电缆重新连接到PC。

4。再次,从Arduino IDE启动串行监视器。

5。重置ESP8266,您应该会看到LED闪烁4次,并再次显示IP地址。

6。如果您移到PIR的前面,则串行监视器应注册该事件并发送给IFTTT。如果IFTT触发成功,您应该看到200 OK HTTP响应消息和文本并收到一封电子邮件。

《 HTTP/1.1 200 OK

《 Server: Cowboy

《 Connection: keep-alive

《 X-Powered-By: Sad Unicorns

《 X-Top-Secrettt: VG9vIGVhc3k/IElmIHlvdSBFK3.。./NlY3JldEBlIHdnQgTWFrZXJzLg==

《 Content-Type: text/html; charset=utf-8

《 Content-Length: 50

《 Etag: W/“32-44d0098f”

《 Date: Wed, 29 Jun 2016 21:25:32 GMT

《 Via: 1.1 vegur

* Connection #0 to host maker.ifttt.com left intact

* Closing connection #0

* SSLv3, TLS alert, Client hello (1):

Congratulations! You‘ve fired the pirtrigger event

步骤5:硬件-电源

1。由于Adafruit HUZZAH ESP8266支持5V工作,因此可以使用5V USB电池或USB电源。由于我们将PIR传感器直接连接到V +引脚之一,因此电池或电源必须连接到FTDI/USB电缆所连接的V +和GND。因此,如果您需要对ESP8266进行重新编程,则需要断开这些连接。

(请参阅电缆插针图)

您可能需要构建一个USB到ESP电缆,方法是使用未使用的USB电缆并按照上图所示将其切割。

2。准备就绪后,将USB连接器插入电源或电池。

3。几秒钟后,您应该看到红色LED闪烁四次,表明它已连接至WiFi。

4。做一些动作,大约一分钟后,电子邮件会到达!

将所有内容放入一个盒子中。 PIR传感器可以通过透明塑料工作,但如果安装在外部,则灵敏度更高。将盒子放在猫门附近(或任何想要检测运动的地方),即可开始使用。

责任编辑:wv

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

    关注

    0

    文章

    34

    浏览量

    12609
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44816
  • IFTTT
    +关注

    关注

    0

    文章

    47

    浏览量

    3133
收藏 人收藏

    评论

    相关推荐

    ESP8266 太空人动画的 OLED 显示

    ESP8266 太空人动画的 OLED 显示
    的头像 发表于 10-08 15:06 206次阅读
    <b class='flag-5'>ESP8266</b> 太空人动画的 OLED 显示

    MSP430FR2355上集成智能模拟的PIR运动检测器应用说明

    电子发烧友网站提供《MSP430FR2355上集成智能模拟的PIR运动检测器应用说明.pdf》资料免费下载
    发表于 09-14 11:07 0次下载
    MSP430FR2355上集成智能模拟的<b class='flag-5'>PIR</b><b class='flag-5'>运动检测器</b>应用说明

    采用低于1GHz Simplelink™无线MCU的无线运动检测器

    电子发烧友网站提供《采用低于1GHz Simplelink™无线MCU的无线运动检测器.pdf》资料免费下载
    发表于 09-02 11:12 0次下载
    采用低于1GHz Simplelink™无线MCU的无线<b class='flag-5'>运动检测器</b>

    STM32 ESP8266阿里云链接源码

    stm32F103C8T6 ESP8266 物联网电表 登录阿里云
    发表于 08-29 14:21 5次下载

    使用MSPM0进行PIR运动检测

    电子发烧友网站提供《使用MSPM0进行PIR运动检测.pdf》资料免费下载
    发表于 08-29 11:38 0次下载
    使用MSPM0进行<b class='flag-5'>PIR</b><b class='flag-5'>运动检测</b>

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和
    的头像 发表于 08-19 18:23 959次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理
    的头像 发表于 08-19 18:16 4229次阅读

    esp8266不烧录可以使用吗

    Systems推出的低成本、低功耗的Wi-Fi模块。它基于Tensilica L106微处理,具有32位处理能力,最高频率可达160MHz。ESP8266具有丰富的外设接口,如GPIO、ADC、PWM等
    的头像 发表于 08-19 17:28 612次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 WiFi模块连接手机主要可以通过两种方式实现: 通过路由连接(STA模式)和直接作为热点连接(AP模式) 。以下是两种连接方式的步骤: 一、通过路由连接(STA模式) 配置
    的头像 发表于 08-19 17:27 2139次阅读

    ESP8266为什么挂载不同大小的FlashROM,下载bin文件的地址不同?

    1、一般来说大内存下载小固件,剩余内存空间空闲着是不影响使用的。然而ESP8266除了boot.bin下载到固定的0x00000地址,user1.bin下载到固定的0x01000以外,其他如
    发表于 07-19 15:34

    使用被动式红外传感运动检测方案

    本文首先讨论运动检测的基本原理,然后展示开发者如何使用与 Microchip DM080104 ATtiny 1627 Curiosity Nano 连接的 PIR 进行运动检测。最后,介绍一种可
    的头像 发表于 07-18 10:32 548次阅读
    使用被动式红外传感<b class='flag-5'>器</b>的<b class='flag-5'>运动检测</b>方案

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 973次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    微波移动检测器对人体有影响吗

    、微波移动检测器的工作原理 微波移动检测器的工作原理是利用微波信号的反射特性来检测物体的运动。当微波信号遇到物体时,部分信号会被反射回来,而另一部分信号则会被物体吸收。通过分析反射回来
    的头像 发表于 05-27 16:11 646次阅读

    国产低成本Wi-Fi SoC解决方案芯片ESP8266ESP8285对比差异

    ESP8266ESP8285对比差异 ESP8285相当于在ESP8266基础上多加了1/2MB Flash, ESP8285与
    的头像 发表于 05-17 11:44 1170次阅读
    国产低成本Wi-Fi SoC解决方案芯片<b class='flag-5'>ESP8266</b>与<b class='flag-5'>ESP</b>8285对比差异

    使用Wi-Fi ESP8266方案模组接入云平台

    ESP8266的模块芯片是基于无线通信协议的UARTWi-Fi透传模块芯片,支持802.11b/g/n的无线标准,并带有三种可选择的工作模式。ESP8266模块的控制是通过AT指令的形式控制,例如
    的头像 发表于 05-10 08:20 1722次阅读
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模组接入云平台