ESP8266 Wi-Fi按钮在智能家居项目的应用

今日头条

1142人已加入

描述

Amazon Dash购物钮的流行为发烧友提供了很多灵感。本制作是一个智能家居项目,这个ESP8266 Wi-Fi按钮相当于克隆版Amazon Dash,可用来触发任何家庭自动化事件,相当于智能家居万能控制器。

这个按钮并非一个最终产品,也不是本项目初衷。“button_pressed”变幻万千,这取决于你把它放在什么地方,ESP就具有不同的功能和意义。例如,如果用于门铃,客人按下按钮,主人就知道家里来客了。

还有一点,除了IFTTT之类的第三方服务,本制作还可用来:控制连接于另一个ESP8266的继电器;向网络上的另一个设备发送一个请求;向Node-RED传递一个HTTP请求,以触发一个动作;发布一条MQTT信息;连接到任何其他家庭自动化软件。

本制作中的轻触开关可用其他传感器或执行器替代。例如,如果用接近红外运动传感器(PIR motion sensor),可在有人进家门时收到提示信息,或检测、监视和警报家中的烟雾火情。

如果把这个制作安装在楼下的信报箱、快递柜,可在收到信函、包裹和牛奶等物品时得到提示,第一时间收取自己的物品。

如果用磁簧继电器代替轻触开关,可用来检测和监视房门或窗户被意外打开的情形。

 

智能家居

 

一、准备工作

 

由于ESP板子价格友好,用它制作一个类似 Amazon Dash按钮是非常有趣和方便。有别于Amazon Dash购物钮,我们制作的按钮可用来打开电灯,或发送数字来触发一个email提示等。

 

智能家居

 

本制作使用称作“IFTTT ”(If This Than That)的免费服务。该服务能自动执行很多在线任务,我们让它在按下ESP按钮时发送email。

首先,在浏览器输入https://ifttt.com,点击页面中间的 “Get started” 按钮,填写信息并创建账号。

 

(1)创建Applet

 

打开 “My Applets” 标签,点选 “New Applet” 按钮。

点击 “This” 并搜索 “Webhooks” 服务。

(2)接收网页请求

 

这需要键入项目名称 button_pressed。通过Webhooks 服务,当向指定的URL发送一个HTTP请求,就能触发一个动作。

点击“Create trigger”按钮,点选 “That” 并搜索 Gmail 服务。

 

(3)发送email

 

如果首次通过Gmail服务实现IFTTT,  会弹出一个新窗口并必须接受登陆条件,这样 IFTTT就能通过账号发出email了。

选择 “Send email” 选项在 “To address” 区域输入你需要提醒的 email 收件地址。

当然,你可以定制该email的标题和主体,我们选择默认值,按 “Create action” 按钮后,在随后页面双击 “Finish”,Applet就创建成功了。

 

(4)测试Applet

 

打开“Search”标签,搜索Webhooks服务并打开。进入 “Documentation” 标签。

这里可找到自己独一无二的 API KEY,这些数据要保持私密。键入项目名称 button_pressed,页面底部会出现一个URL。把这个URL拷贝下来。

在浏览器打开一个新标签,按回车,就会看到“Congratulations!”欢迎信息。

打开email客户端,应该也有这个欢迎信息。

 

智能家居

 

如果几秒钟后没有收到email,建议双击URL,检查Applet和URL中的项目名称是否正确。

接下来,我们需要将代码上传到ESP板子了。这里的三个参数SSID、password、resource是可以更改的。这些代码的含义如下:

(1)以115200波特率开启串行通信。

(2)运行 initWifi 功能,在ESP和路由器之间建立Wi-Fi连接。

(3)执行 makeIFTTTRequest 功能,向IFTTT服务器发出一个请求,这样IFTTT就会发出一个email。

 

二、电路制作

 

本制作电路很简单,BOM元器件包括:

(1)ESP-01:这是一款很好用的ESP8266 Wi-Fi开发板。

(2)轻触开关

(3)10k欧姆电阻器

(4)Li-ion/LiPo锂电池

(5)稳压器(MCP1700-3302E)

(6)陶瓷电容器(100nF)

(7)电解电容(1000uF)

(8)塑胶外壳

本制作使用 Deep Sleep功能,这样ESP就长期处于关闭状态,只消耗很少电量。

 

智能家居

 

ESP8266的深度睡眠模式可参阅相关介绍,简言之,当按下按钮时ESP才被唤醒,执行指令后,重新进入深度睡眠模式以节约电池能量。

 

智能家居

 

添加SSID、password和URL信息后,代码被上传到ESP。为了方便携带和易于制作,我们通过锂电池来驱动ESP板子。

为了用锂电池安全驱动ESP8266,必须采用稳压电路(MCP1700-3302E)。这是一款来自MICROCHIP的SOT-23A-3封装固定电压稳压器(LDO),输入电压范围为2.7-16V,具有525mV压差, 输出电压3.3V, 输出电流250mA。本制作的面包板电路连接如下。

 

智能家居

 

电路连接后,首先应在面包板上测试,确认电路正确、参数无误后从面包板取下来,再用少量线束连接,最后用热熔胶固定于塑胶外壳中。

 

 

智能家居

 

组装完成后,马上测试一下。按下按钮,手机几秒钟后就收到一条信息!

 

智能家居

 

本制作即使采用普通电池驱动,也能维持几周甚至个把月,因为按钮默认处于深度睡眠模式,无需担心电池的使用寿命。

  审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分