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

    文章

    25

    浏览量

    12518
  • ESP8266
    +关注

    关注

    50

    文章

    944

    浏览量

    43766
  • IFTTT
    +关注

    关注

    0

    文章

    47

    浏览量

    3103
收藏 人收藏

    评论

    相关推荐

    nodemcu和esp8266是什么关系?

    nodemcu和esp8266是什么关系 nodemcu和esp8266是什么关系?通俗理解就是nodemcu是一个开发板,基于esp8266的开发板。 目前市面上搭载有ESP8266
    的头像 发表于 10-20 14:53 1890次阅读
    nodemcu和<b class='flag-5'>esp8266</b>是什么关系?

    基于物联网的LPG气体泄漏检测器

    使用MQ-5传感ESP8266和Arduino构建一个基于物联网的LPG气体泄漏检测器
    发表于 09-22 06:06

    ESP8266物联网茶壶

    电子发烧友网站提供《ESP8266物联网茶壶.zip》资料免费下载
    发表于 07-10 16:45 0次下载
    <b class='flag-5'>ESP8266</b>物联网茶壶

    使用ESP8266制作基于物联网的数字世界时钟

    电子发烧友网站提供《使用ESP8266制作基于物联网的数字世界时钟.zip》资料免费下载
    发表于 07-05 10:47 36次下载
    使用<b class='flag-5'>ESP8266</b><b class='flag-5'>制作</b>基于物联网的数字世界时钟

    PIR传感器-使用IFTTT的电子邮件发送运动检测器

    电子发烧友网站提供《PIR传感器-使用IFTTT的电子邮件发送运动检测器 .zip》资料免费下载
    发表于 07-04 14:27 1次下载
    <b class='flag-5'>PIR</b>传感器-使用<b class='flag-5'>IFTTT</b>的电子邮件发送<b class='flag-5'>运动检测器</b>

    具有NodeMCU和Blynk的物联网运动检测器

    电子发烧友网站提供《具有NodeMCU和Blynk的物联网运动检测器.zip》资料免费下载
    发表于 06-15 14:33 0次下载
    具有NodeMCU和Blynk的物联网<b class='flag-5'>运动检测器</b>

    基于ESP8266的Agrumino Lemon

    电子发烧友网站提供《基于ESP8266的Agrumino Lemon.zip》资料免费下载
    发表于 06-15 09:19 0次下载
    基于<b class='flag-5'>ESP8266</b>的Agrumino Lemon

    ESP8266ESP32上的WiFi Webradio

    电子发烧友网站提供《ESP8266ESP32上的WiFi Webradio.zip》资料免费下载
    发表于 06-13 11:38 0次下载
    <b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP</b>32上的WiFi Webradio

    ESP8266初次如何实现无线通信(基于电脑与ESP8266)

    一.需要的软件及硬件 1.软件 2.硬件 二.ESP8266的使用 .ESP8266的介绍 2.ESP8266进行初始AT指令的配置步骤 三.所用软件安装分享 ESP8266
    发表于 05-30 09:53 12次下载
    <b class='flag-5'>ESP8266</b>初次如何实现无线通信(基于电脑与<b class='flag-5'>ESP8266</b>)

    ESP8266如何使用带PIR运动传感的深度睡眠来唤醒它?

    这是我的项目,它在 Adafruit HUZZAH ESP8266 上使用深度睡眠模式并由 PIR 运动传感唤醒。然后它会重新连接到 WiFi 并通过
    发表于 05-23 08:16

    如何使用ESP8266PIR传感和Mongoose OS构建一个办公室保安?

    大家好! 我使用 ESP8266PIR 传感和 Mongoose OS 构建了一个办公室保安。检查一下: https: //www.losant.com/blog/detecting-m ... ongoose-os我很乐意
    发表于 05-23 07:37

    如何让ESP8266闪烁它的LED?

    Dweet 是一项付费服务​​。我很高兴使用 IFTTT,我可以使用哪些其他免费服务来连接它并通知我的 ESP8266。互联网上似乎有很多东西可以让 ESP 与其他设备对话,但反之则不然。
    发表于 05-22 07:14

    为什么检测不到ESP8266

    检测不到 ESP8266
    发表于 05-11 07:18

    ESP8266 WIFI继电器初识

    ; 2、ESP8266模块,此文用的是安信可ESP-01S版本; 3、WIFI继电器,配合ESP8266模块使用,某宝上有两者合一的版本; 4、ESP8266下载器(可选)。
    发表于 04-21 14:16 5次下载
    <b class='flag-5'>ESP8266</b> WIFI继电器初识

    设计具有Sub-1 GHz的无线运动检测器系统

    基于无线运动检测器的系统更容易安装和扩展,因为其消除了通过穿墙布线的麻烦。一些典型的感测方法包括被动红外(PIR)、超声波发射器和微波发射器。无线运动检测器系统安装在室内或户外,主要用作入侵
    的头像 发表于 04-06 10:35 1035次阅读