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

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

3天内不再提示

如何通过esp8266模块增强标准的硬连线门铃

454398 来源:网络整理 作者:网络整理 2019-11-18 11:42 次阅读

步骤1:硬件和材料

如何通过esp8266模块增强标准的硬连线门铃

需要以下材料

该示意图显示了所使用的电路。假设使用低压交流电铃,这是硬连线简单铃的最常见类型。铃单元从外部铃式变压器获得功率,通常约为10V交流电。这不是至关重要的,唯一的限制是降压转换器的最大电压。我使用的是基于MP2307的,最大输入为23V dc(〜16V AC)。

通常有3个活动端子。按下钟形开关,即可从交流电源的一侧连接到钟形螺线管。该模块使用两个交流端子通过一个简单的半波整流器产生直流电源。通过监控实际螺线管两端的电压来实现钟声按动感应。这通常会接地,但是当铃响时,将是完整的交流电。电阻/齐纳二极管对此进行钳位,以便将0-3.3V 50 Hz脉冲馈入GPIO引脚。该软件对其进行处理,以使每按一次钟就可激活一次。

我将电路构造在一些带状板上,并且该电路小到可以轻松装入钟单元中。我使用简单的跳线连接器来简化安装,并与主交流电源一起专门安装,以便在需要时可以很容易地将其复位。

所示的原理图包括一个DS18B20温度传感器。这是可选的。我将其用作监视房屋中大部分区域的网络的一部分。如果包括的话,最好用几厘米的电缆将传感器连接到电缆中,以使其与任何局部热效应隔离开。

ESP-12F(ESP8266)wifi/cpu模块

DC Buck转换器用于3.3V电源

整流二极管(例如1N4001)

电解电容器220uF 35V

电解电容器220uF 16V

齐纳二极管3.3或2.6V

电阻器

插排板件

连接器(如有需要)

DS18B20数字温度传感器

步骤2:软件

门推单元使用github上提供的Arduino草图

需要对此进行调整以适应当地条件,然后在esp8266 Arduino环境中进行编译。需要以下库,它们是标准的或可以添加的。

ESP8266WiFi

WifiClient

ESP8266WebServer

ESP8266mDNS

ESP8266HTTPUpdateServer

ArduinoJson

WifiClientSecure

IFTTTMaker

DNSServer

WiFiManager(可选使用)

OneWire

DallasTemperature

草图中要更改的项目,包括

如果不使用WifiManager则本地wifi访问详细信息(ssid,密码)

用于Web访问的授权代码AP_AUTHID。使其长度适中是一件好事。它可以包含字母数字字符。

固件OTA密码update_password

WifiManager密码WM_PASSWORD

可以通过注释掉WM_NAME来手动设置Wifi

IFTTT制造商密钥(请参阅通知步骤)

可选更改包括

门铃检测器的更改输入引脚

更改的引脚对于温度传感器

将Web访问端口从默认80更改

一旦完成,则应首先使用常规的串行上传功能进行编译和上传。随后的更新可以通过在Arduino环境中编译导出二进制文件,然后在ip/firmware中访问OTA接口来完成。

在软件中,通过中断检测到第一个脉冲的上升沿来检测门铃推动从检测器电路。所有后续中断都将被忽略。超时用于在BELL_MIN_INTERVAL设置为10秒后重新激活检测器。

esp8266 Web服务器上可能会访问其他活动

ip/recent显示最近门铃活动

ip/reloadConfig重新加载espConfig

ip/bellPush模拟门铃推送

步骤3:配置

构建时,该软件从本地Web服务器获取其配置。该模块根据其Mac地址加载配置数据。这使得使用相同的二进制文件运行多个模块非常方便,并且还使得无需重新编译即可更轻松地更新配置。可以跳过此步骤,并将配置数据直接放入代码中。

我将配置文件存储在EasyIOT服务器上,该服务器在easyIOT/html上有一个文件夹,可在其中轻松检索配置文件。

该文件称为espConfig,它是一个简单的文本文件,为每个可能的Mac地址存储许多参数(12)。模块仅加载为其Mac地址设置的参数。

文件中的示例为

#Hall

#Mac地址

123456ABCDEF

#模块名称

esp8266-hall

#服务器模式掩码(1 =温度感应,4 =锅炉模式,4 =门铃)

9

#EIOT节点的温度

N9S0

#未使用

-1

#最小温度间隔以秒为单位

60

#最大温度间隔以秒为单位

300

#锅炉功率间隔

0

#EasyIOT锅炉电源节点

-1

#EasyIOT钟形推节点

N10S0

#IFTTT通知值

前面

#IFTTT通知事件名称

门铃

#action URL

192.168.0.2/snap.php

任何以#开头的行都会被忽略。所有行都必须存在。 -1用于忽略的参数。

在模块首次启动时读取配置文件。也可以通过访问ip/reloadConfig将其重新加载到正在运行的系统中(更改配置时)

配置的锅炉模式部分与此处无关,而是用于连接到中央供暖系统的温度传感器中

第4步:通知

当检测到门铃推动时,将检测到锅炉正在加热的管道输出。

它尝试通过IFTTT或PushOver通知此情况。我现在使用PushOver,因为它提供了更快的响应。

对于IFTTT,您需要一个帐户并激活Maker WebHoooks频道。需要将此通道中的MakerKey编译为代码。

使用Maker WebHooks设置IF操作,并使用与配置中相同名称的事件名称(例如,门铃)。 THEN操作应为IFTTT通知。您可以将value1添加到将在配置文件中的通知中。如果您有2个或更多检测器,这将非常有用。

您需要在手机上安装IFTTT应用,然后在门铃被触发时就会出现通知。

对于PushOver,您需要一个PushOver帐户并按照说明接收API通知。您需要使用PushOver帐户中的值在软件中设置NOTIFICATION_APP和NOTIFICATION_USER令牌。

您需要在手机上安装PushOver App,并支付一笔一笔的费用,以接收通知。在我看来,这是值得的,以获得更快的响应。

步骤5:EasyIOT集成

该软件可以将温度和门铃推送报告发送到EasyIOT服务器。 EasyIOT自动化可以根据这些报告来执行其他操作。

设置EasyIOT服务器(例如,在Raspberry Pi上)。在esp8266软件中配置IP地址和用户名密码,然后进行编译。

现在在EASYIOT配置中添加虚拟驱动程序。选择温度模拟输入,并记下EasyIOT节点名称。这应该放在espConfig文件的温度节点名称部分。

添加第二个虚拟驱动程序。选择门数字输入,记下节点名称并放入espConfig文件。

步骤6:其他Bell Push操作

该软件有一个名为actionBellOn的例程。按照本文所述,可以做三件事

IFTTT通知

EasyIOT报告

执行操作URL

URL可用于触发其他Web服务器上的其他活动。所使用的URL在espConfig文件中。

如果该URL的服务器已通过身份验证,则需要配置用户名和密码并将其编译为代码。

我使用它来在门旁边的摄像头上访问一个名为snap.php的URL。按下铃铛时需要jpg。最后4个保留下来,可以在相机Web服务器上远程查看。

我使用基于树莓派的相机,这种操作非常容易。相机
责任编辑:wv

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

    关注

    1

    文章

    117

    浏览量

    34976
  • ESP8266
    +关注

    关注

    50

    文章

    947

    浏览量

    43922
收藏 人收藏

    评论

    相关推荐

    基于ESP12F模块的智能门铃ESPBell项目设计

    ESPBell是一个基于ESP12F模块的智能门铃项目。它使用ESPBell-Lite开发板,该开发板包含ESP8266芯片、摄像头、扬声器和麦克风。
    的头像 发表于 12-27 17:29 489次阅读

    单片机怎么连接wifi模块esp

    。它具有强大的处理能力和低功耗。ESP8266可以通过串口与其他设备进行通信,并通过WiFi连接到互联网。使用ESP8266模块,您可
    的头像 发表于 12-25 13:42 799次阅读

    ESP8266 WiFi模块用户手册V1.0

    电子发烧友网站提供《ESP8266 WiFi模块用户手册V1.0.doc》资料免费下载
    发表于 11-17 10:09 10次下载
    <b class='flag-5'>ESP8266</b> WiFi<b class='flag-5'>模块</b>用户手册V1.0

    nodemcu和esp8266是什么关系?

    是芯片在esp8266芯片加上4MB spi flash变成esp-12模块;再在esp-12模块加上底板,加上USB转串口就变成NodeM
    的头像 发表于 10-20 14:53 2252次阅读
    nodemcu和<b class='flag-5'>esp8266</b>是什么关系?

    esp8266ex引脚详细 ESP8266EX参考手册

    ⽹络功能,既能够独⽴应⽤,也可以作为从机 搭载于其他主机 MCU 运⾏。当 ESP8266EX 独⽴应⽤时,能够直接从外接 flash 中启动。 内置的⾼速缓冲存储器有利于提⾼系统性能,并且优化存储系统。此外 ESP8266EX 只需
    发表于 09-08 17:05 1次下载

    ESP8266物联网茶壶

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

    的且集成的国产WIFI模块,它有很多种型号,但是使用方法没什么太大的区别,也可以说没区别,有些看起来引脚比较多的ESP8266模块只是将这个芯片的IO口拓展出来了而已。还有 一种原因就是它采用的是Micropython编程的
    发表于 05-30 09:53 14次下载
    <b class='flag-5'>ESP8266</b>初次如何实现无线通信(基于电脑与<b class='flag-5'>ESP8266</b>)

    CC2530采用ESP8266与手机APP通信

    项目概述: 项目实现通过CC2530控制ESP8266将其配置成AP+TCP服务器模式,并通过手机APP连接到TCP服务器并完成数据传输。ESP8266将作为一个热点(AP)来工作,其
    的头像 发表于 05-23 09:15 2836次阅读

    如何通过ESP8266获取公共IP?

    我想知道,如果我可以通过 ESP8266 获取路由器的公共 IP? ESP8266 连接 --> 路由器 --> ESP 获取公共 IP 并存储它。 是否有任何 Ardui
    发表于 05-15 08:51

    ESP8266-IDF-AT_V2.2.1.0通过RTS引脚进行重置总是失败的原因?

    我正在使用 ESP8266-01 和 Linux。 AT+GMR AT 版本:1.2.0.0(2016 年 7 月 1 日 20:04:45) SDK 版本:1.5.4.1(39cb9a32
    发表于 05-12 06:03

    如何在ESP8266-07上使用AT命令?

    大家好, 我有一个关于 ESP8266-07 Wifi 模块和 AT 命令的问题。 我买了两个 ESP8266-07 wifi 模块来连接我的 Arduino 开发板。首先,我将
    发表于 05-11 06:01

    基于arduino用esp8266和继电器实现小爱同学开关灯

    1.esp8266-01模块; 2. 配合使用的继电器3. esp8266的读写器5. 5v供电(在淘宝可以买220v转5v的电源模块)这里用uno板代替 硬件部分的搭建1.关于继电
    发表于 05-04 11:15 1次下载
    基于arduino用<b class='flag-5'>esp8266</b>和继电器实现小爱同学开关灯

    51单片机通过WIFI模块ESP8266控制四路继电器

    手机APP通过ESP8266 WIFI模块与51单片机通信控制四路继电器。下位机由单片机、ESP8266模块和继电器
    发表于 04-26 09:22 7次下载
    51单片机<b class='flag-5'>通过</b>WIFI<b class='flag-5'>模块</b><b class='flag-5'>ESP8266</b>控制四路继电器