步骤1:耗材
下面的列表显示了我使用的工具和部件这个项目。可以重新设计传感器以使用不同的部件和不同的外观/功能,并使用类似的概念。
工具:
烙铁
ESP01-UART或Arduino Uno(ESP8266程序员)
3D打印机(可选)
跳线(可选)
面包板(可选)
部件:
ESP8266 ESP-01S x 1
簧片开关x 1(最好是NC,我只能找到常开,所以必须使用两块磁铁才能使其正常工作)
AMS1117 3.3v稳压器
2n3904 NPN晶体管x 1
P沟道Mosfet x 1(我们想要具有低VGS的东西,最好是NDP6020P)
3.7v 100 mAh锂电池x 1
各种电阻(100k欧姆,10k欧姆,220欧姆,3k3欧姆)
6x3mm磁铁x 2
双面安装胶带
电线
焊料
Perfboard
3D印刷部件:
传感器案例
第2步:软锁存电路 - 硬件
我使用的软锁存电路是我在网上找到的原理图的修改。我不是专家,我相信有更好的方法来构建这个电路但是为了我的目的,这个电路完成了这个工作!
它的工作方式是当磁簧开关被磁场关闭时允许电流流向 NPN 晶体管。 NPN 晶体管然后使 PNP mosfet接地,允许电流流向 ESP8266 。 ESP8266 上电,使用其中一个引脚使 PNP mosfet接地,继续为 ESP8266 供电。然后当 ESP8266 完成它的任务时,它会将输出引脚设置为低电平,从而中断 NPN 晶体管并关闭 PNP 上的栅极mosfet。
通过使用这样的电路,ESP8266可以通过开关接通电源,然后可以通过信号完全关闭电源。当传感器关闭/关闭时,这允许电路绘制无电流。
步骤3:ESP8266 - 硬件
我正在使用的ESP8266将发送一条消息,提醒门(或门)其他的事情是打开然后将等待门关闭发送一个关闭消息并关闭自己。 ESP8266将由软锁存电路供电,并将使用一个引脚读取簧片开关,另一个引脚用于保持自身通电然后自动关闭。由于外形小巧,我选择使用 ESP-01s 。当传感器变为“打开”和“关闭”时,ESP将发送Web请求通知我们。我发现最简单的方法是使用IFTTT和Google表格。这将在以下步骤中解释。
步骤4:远程通知的IFTTT - 第1部分
在这个instructable中将使用IFTTT并实现webhooks和google表格以在我们的移动设备上获取远程通知。要使用这些服务,您需要具备以下条件:
Google帐户
IFTTT帐户(可以/应该使用Google帐户登录)
移动设备的IFTTT应用程序
创建/登录帐户后,我们将创建两个小程序。本节顶部的照片显示了如何操作网页。以下步骤适用于第一个applet,即事件触发请求。此小程序将从传感器获取消息并将事件保存在Google工作表文档中。然后,您可以查看传感器的历史记录,并查看它何时打开和关闭。
转到位于顶部的“我的小程序”链接
点击“新建小程序”按钮
点击蓝色“ +此”按钮
搜索“ webhooks ”并点击
开启下一页选择“接收网络请求”卡
然后将事件名称设置为您想要的任何名称,我选择将其命名为“ sensor_activated “
在下一页上点击蓝色” + “按钮
搜索” google sheet “服务选择它
在下一页上选择“向电子表格添加行”功能
按如下方式填写操作:
电子表格姓名,我将其命名为“传感器历史记录”
格式化行需要如下所示
{{OccurredAt}} ||| {{Value1}} ||| {{Value2}}
保留最后一个字段,除非您想更改applet保存传感器状态的位置
然后点击“创建操作”
最后点击最后一个屏幕上的“完成”
现在让我们测试它是否有效
然后点击“文档”按钮(稍后我们将再次使用此“文档”页面)
现在,您将在IFTTT Webhooks小程序的个人栏目中
在此处填写“ {event} ”字段,其中包含您的活动名称如果事件名称为“ sensor_activated ”
现在填写“ value1 ”字段,这是保存传感器位置的字段,我将用“前门”填写它。
现在填写“ value2 ”字段,这是具有传感器状态的字段,我将用“打开”填写它仅用于测试
然后单击蓝色“测试“按钮
如果一切顺利,那么您应该在顶部显示绿色”事件已被触发。“消息
现在如果你想看看它是如何存储你的信息的,你可以打开谷歌表并找到它添加的电子表格,我附上了一张图片来显示电子表格的样子
现在在下一步添加applet以通知我们状态更改。
步骤5:远程通知的IFTTT - 第2部分
现在我们将添加一个小程序,以便在状态电子表格添加行时通知我们;换句话说,当传感器发射事件时。和以前一样,我们将创建一个新的applet。以下步骤将指导您创建第二个小程序。由于我们在上一步中做了类似的操作,因此我只会添加与此步骤不同的幻灯片。
转到位于的“我的小程序”链接顶部
点击“新建小程序”按钮
点击蓝色“ +此”按钮
搜索“ google sheet ”并点击
在下一页上选择“添加到电子表格的新行”卡
然后填写字段以指向其他小程序正在写入的电子表格
在此示例中,路径为“ IFTTT/MakerWebooks/sensor_activated ”
文件名为“传感器历史记录”
在下一页上点击蓝色“ + “按钮
搜索”通知“服务并选择它
现在我们需要填写通知服务字段
标题更改为
{{ColumnB}} {{ColumnC}}
消息设置为
{{ColumnB}}为{{ColumnC}} {{ColumnA}}
此链接保持不变
然后点击“创建操作”
最后点击最后一个屏幕上的“完成”
要测试IFTTT通知系统的第二部分,请确保已在移动设备上下载了IFTTT应用程序,使用您的凭据登录。在我的情况下,我使用我的谷歌帐户登录。现在我们可以通过返回“文档”页面并在事件名称设置为“ sensor_activated ”的情况下启动测试,“ value1 “字段设置为位置,” value2 “字段设置为状态。
这应该会向您发送通知。如果您没有收到,请确保您使用同一帐户登录,并且您已允许应用程序向您发送通知。
第6步:Arduino IDE和Sketch
使用Arduino编译用于电路板的软件IDE。
逻辑如下:
通过打开门关闭簧片开关
ESP接通电源并连接到WiFi
建立WiFi连接后,它会发送一个http请求(向互联网发送命令),告知我们已经打开了一扇门或其他东西。
然后它从中读取信号
当ESP板发现簧片开关打开(即门已关闭)时,它会发出另一个http请求告诉我们门已关闭
用于确定门是否已关闭的簧片开关
li》
然后它向软锁存电路发出信号以切断电路板的电源
下载Arduino IDE
我已将arduino代码附加到此部分供您下载。如果您没有Arduino IDE,可以在线下载,网址为https://www.arduino.cc/en/Main/Software.
安装合适的董事会经理
要将代码上传到ESP板,您需要使用以下步骤在Arduino IDE中安装板卡管理器。
转到文件》首选项以打开首选项窗口
在首选项窗口中,找到“其他Board Manager URL”字段
将以下链接粘贴到此字段 http://arduino.esp8266.com/stable/package_esp8266com_index.json 并按“确定”按钮
现在打开电路板管理器,转到工具》电路板,然后第一个条目是 Boards Manager
在电路板菜单中输入“ ESP8266 ”并安装“ esp8266 ”I选择版本2.5.0,因为我对新版本有一些问题
现在返回并从工具》板》通用ESP8266模块中选择您的板
然后关闭并重新打开arduino ide确保发生变化
在Arduino IDE中打开草图
我们需要修改四行代码因此传感器将为您工作
将SSID更改为您的WiFi SSID 又名。无线网络的名称
更改密码以匹配wifi的密码
更改网址以匹配“”中的网址文档“ webhook ”服务的页面
将传感器的位置更改为您计划放置的位置,这可以是前门,后门,邮箱等。
现在您已经修改了代码以满足您的需求,我们需要将其加载到主板上。在我的情况下,我使用USB编程器并按照说明进行操作。这可能需要进行大量的故障排除,因此我建议您在线查看更深入的教程。在我的情况下,我将 ESP-01s 插入程序员,然后我将其插入计算机,然后我将开关从 uart 转到 prog ,最后我拔下插头并重新插入程序员。这使ESP处于编程模式。现在,我只需点击上传按钮,即可完成上传。如果您想查看它是否已连接,可以打开串行监视器并查看状态消息。上传草图后,我们将所有内容焊接在一起,放入外壳中,然后将其安装到我们想要的位置。
第7步:附件(3D打印)
我设计了在以下外壳中容纳所有组件,允许放置磁铁并对齐簧片开关。第二部分仅用于固定第二个磁铁,允许开关打开和关闭。
一旦所有部件焊接在一起,我们可以将它们压入表壳,如果你想要的话在底部加一点热胶,将所有东西都装进去。然后我们需要用电子元件将一块磁铁压入外壳,并根据需要对齐簧片开关。另一个磁铁应压入另一个外壳。一旦完成两个外壳,我们可以通过将两个外壳放在一起进行测试,然后将它们分开并将它们重新组合在一起。我们现在应该获得两个通知,一个用于传感器打开,一个用于传感器关闭。将两者放在一起以防止电池耗尽。
-
传感器
+关注
关注
2548文章
50660浏览量
751842 -
物联网
+关注
关注
2903文章
44257浏览量
371132
发布评论请先 登录
相关推荐
评论