步骤1:硬件和材料
需要以下材料
该示意图显示了所使用的电路。假设使用低压交流电铃,这是硬连线简单铃的最常见类型。铃单元从外部铃式变压器获得功率,通常约为10V交流电。这不是至关重要的,唯一的限制是降压转换器的最大电压。我使用的是基于MP2307的,最大输入为23V dc(〜16V AC)。
通常有3个活动端子。按下钟形开关,即可从交流电源的一侧连接到钟形螺线管。该模块使用两个交流端子通过一个简单的半波整流器产生直流电源。通过监控实际螺线管两端的电压来实现钟声按动感应。这通常会接地,但是当铃响时,将是完整的交流电。电阻/齐纳二极管对此进行钳位,以便将0-3.3V 50 Hz脉冲馈入GPIO引脚。该软件对其进行处理,以使每按一次钟就可激活一次。
我将电路构造在一些带状板上,并且该电路小到可以轻松装入钟单元中。我使用简单的跳线连接器来简化安装,并与主交流电源一起专门安装,以便在需要时可以很容易地将其复位。
所示的原理图包括一个DS18B20温度传感器。这是可选的。我将其用作监视房屋中大部分区域的网络的一部分。如果包括的话,最好用几厘米的电缆将传感器连接到电缆中,以使其与任何局部热效应隔离开。
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文章
118浏览量
35661 -
ESP8266
+关注
关注
50文章
962浏览量
44851
发布评论请先 登录
相关推荐
评论