这是另一个有趣的IOT项目,我们将在其中构建一个安全系统,该系统可以在检测到某人时触发电子邮件。该项目融合了ESP8266,PIR传感器和ISD1820语音模块的功能。在本文的结尾,您将构建一个功能齐全的安全系统,该系统可以通过Internet远程进行布防/撤防(激活/停用)。您可以录制自己的音频剪辑,当检测到移动时将播放该音频剪辑,还可以将带有日期和时间的邮件发送到特定的电子邮件ID,说明入侵。足够酷….. !!! ??
因此,让我们构建它。
所需材料:
下面列出了构建此项目所需的材料
- ESP8266
- PIR传感器
- ISD1820语音模块
- LM317,LM7805
- BC547(2号)
- 1K,200ohm,330ohm电阻器
- 10uf和0.1uf电容器
- 12V适配器/ 9V电池为设置供电
模块说明:
该项目包含三个重要组件,分别是ESP8266模块,PIR传感器和ISD1820语音模块。如果您熟悉这些模块,则可以在继续学习原理图时跳过此部分,但是如果您想了解它们的工作原理,请继续阅读。
ESP8266模组:
我相信您一定会遇到这个模块的。这是一个非常著名且功能强大的WiFi模块,主要用于物联网项目。
本项目假设您不了解ESP8266模块的编程知识,请访问下面的两个教程,在这些教程中,我向您解释了ESP8266入门以及如何使用Arduino IDE进行编程。您必须知道这一点才能完成项目。
- ESP8266入门
- 使用Arduino IDE编程ESP8266
PIR传感器:
PIR传感器代表无源红外传感器。这是一种低成本的传感器,可以检测人类或动物的存在。传感器中存在两种重要的材料,一种是热电晶体,可以检测来自活生物体(人类/动物)的热信号,另一种是可以扩展传感器范围的菲涅耳透镜。另外,PIR传感器模块为我们提供了一些选项来调整传感器的工作,如下图所示。
两个电位器(橙色)用于控制传感器的灵敏度和触发时间。基本上,传感器的Dout引脚位于Vcc和Gnd引脚之间。该模块的工作电压为3.3V,但也可以用5V供电。在左上角,它还具有触发引脚设置,可用于使模块以两种不同模式工作。一个是“ H”模式,另一个是“ I”模式。
在“ H”模式下,当在范围内检测到有人时,输出引脚Dout将变为高电平(3.3V),并在特定时间(由电位计设置的时间)之后变为低电平。在此模式下,无论该人是否仍在范围内或已离开该区域,输出引脚都将变为高电平。我们在项目中以“ H”模式使用模块。
在“ I”模式下,当检测到某个人处于范围内时,输出引脚Dout将变为高电平(3.3V),并且只要他/她保持在传感器范围的限制内,该输出引脚就会保持高电平。一旦人员离开该区域,则在特定时间后,该引脚将变为低电平,可以使用电位计进行设置。
注意:电位计或引脚的位置可能会根据您的PIR传感器供应商而有所不同。按照丝印确定您的引脚排列
ISD1820语音模块:
ISD 1820语音模块确实是一个很棒的模块,可以通过语音通知为您的项目增添趣味。该模块能够录制音频剪辑10秒钟,然后在需要时播放它。该模块本身带有麦克风和扬声器(8欧姆0.5瓦),其外观应如下图所示。
该模块可在+ 5V电压下工作,并可以使用左侧的冰棍供电。它还在底部有三个按钮,分别是Rec。按钮,PlayE。按钮和PlayL。按钮。您可以按Rec。录制声音。按钮,然后使用PlayE按钮播放它。只要按住按钮,PlayL就会播放声音。与MCU或ESP接口时,我们可以使用左侧的引脚。这些引脚可承受3V-5V的电压,因此可以由Arduino / ESP8266直接驱动。在我们的项目中,我们使用ESP8266模块的GPIO 0引脚控制PLAYE引脚。这样我们就可以在检测到入侵者时播放录制的语音。
原理图和硬件
该物联网安全系统项目的完整示意图如下所示:
该电路由两个稳压器组成。一个是使用LM317设计的3.3V稳压器,另一个是使用7805稳压器IC完成的5V稳压器。LM317是一款可变电压调节器,通过使用200ohm和330ohm电阻将其输出设置为3.3V。两个稳压器均使用12V适配器供电。该电路的功耗非常小,因此也可以使用9V电池代替12V适配器。
通过将GPIO 2引脚设为高电平,可以打开PIR传感器和语音模块。该引脚将通过一个1k限流电阻驱动BC547,并完成两个模块的电源电路。GPIO_0引脚用作输入引脚。它通过BC547晶体管连接到PIR传感器的Dout引脚。当此引脚变高时,我们将触发一封电子邮件,说明通过Arduino程序的入侵。
输出引脚(Dout,GPIO_2和GPIO2)的源电流小得多,因此我使用了一个晶体管来驱动它们。此外,模块上电时不得加载ESP8266的GPIO引脚,否则模块将进入无限复位循环。为避免这种情况,我在通电时放置了两个开关以暂时断开它们的连接。
您可以将上述电路焊接到Perf板上,也可以仅使用面包板。我使用了雌性/雄性冰棍,以免焊接到模块上。完成后,您的电路板应如下图所示
创建一个API以使用IFTTT发送电子邮件:
一旦硬件准备就绪,就可以创建一个API(应用程序接口),该API可以将电子邮件发送到特定的电子邮件ID。可以通过名为IFTTT.com的网站轻松完成此操作。我还介绍了一个项目,该项目可以使用ESP8266发送SMS并使用PIC Microcontroller使用相同的IFTTT服务发送电子邮件。
如果您尚未使用IFTTT,请访问本教程结尾的视频,如果您熟悉的话,请按照以下步骤操作
1.登录到您的IFTTT帐户
2.搜索“ Maker Web hooks”,然后单击“连接”
3.现在搜索“ Gmail”,然后单击“连接”,然后按照以下步骤进行访问
4.然后,通过单击我的Applet->新建Applet创建一个Applet。
5.在此,“此”功能将用于Web makerhooks服务,“该”功能将用于Gmail服务
6.因此,单击“此”,搜索并选择Web maker挂钩。它将要求输入事件名称,我已将事件命名为“ 123”,您可以为任何名称命名
7.然后单击“那个”,搜索并选择Gmail,然后输入邮件的主题和正文。
8.输入所有必需的详细信息后,您的Apple应已准备就绪,并且其外观应如下图所示
9.现在,搜索并再次进入Web Maker Hooks,然后单击“文档”。然后在事件名称下输入我们在Applet中使用的事件名称。在我的情况下,它是“ 123”并复制URL,因为我们在Arduino程序中将需要它。该网址应如下所示。
10.您可以单击“测试”按钮来检查您的链接是否正常工作,并且应该收到测试邮件。
Arduino程序
该项目的Arduino程序非常简单。我们只需要简单地使ESP充当AP和STA。然后使用HTML代码创建一个网页,在此我们可以对警报系统进行ARM /撤防。本教程末尾提供了完整的代码,并使用注释行对代码进行了说明。更重要的是,下面将说明。
const char * ssid =“ BPAS主页”; //在此处输入Wifi SSID const char * password =“ cracksen”; //在这里输入密码
在上面的代码行中,将SSID名称和密码更改为路由器的SSID名称及其对应的密码。
如果要查找ESP8266所连接的IP,可以通过打开串行监视器来查找它,以下代码行将在Arduino IDE串行监视器上打印IP。
Serial.println(“”); Serial.print(“ Connected to”); Serial.println(ssid); Serial.print(“ IP地址:”); Serial.println(WiFi.localIP()); //串行监视器将为您的ESP模块提供IP地址
下面给出了负责创建网页的HTML代码。您可以使用自己的代码自定义网页。我已修改了反馈部分,以确认用户是否成功加载了页面。
//网页的HTML代码// mainPage + =“
基于物联网的安全系统
-电路文摘
警报状态:
“;反馈=”单击ARM以启用安全系统
“; // HTML代码的结尾//下面的代码行确定警报布防或撤防时应采取的措施。在我的程序中,我更改了HTML代码的反馈部分,并根据按钮使GPIO 2引脚变为高/低,如下所示
server.on(“ / switch2On”,(){反馈=“
警报启动并运行
“; // HTML代码修改currentPage = mainPage + feedback; server.send(200,” text / html“,currentPage); currentPage =”“; digitalWrite(GPIO_2,HIGH); //打开PIR和语音模块power_module = true; delay(1000);}); server.on(“ / switch2Off”,(){feedback =“警报已关闭
“; // HTML代码修改currentPage = mainPage + feedback; server.send(200,” text / html“,currentPage); currentPage =”“; digitalWrite(GPIO_2,LOW); //关闭PIT和语音模块power_module = false; delay(1000);});为了使系统正常运行,必须更改的另一个重要行是URL字符串行。您将从此处从IFTTT网站复制的行(在“ / trigger”之后)粘贴。我已经在下面显示了我的,但是不使用我的API密钥,请在此处使用您自己的
字符串url =“ / trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX”; //必须将其更改为您的API URL
其余代码是不言自明的,如果您有任何疑问,可以使用注释部分,我将为您提供帮助。
加工
准备好硬件和代码后,可以使用FTDI板将程序上传到ESP8266模块。如果不确定如何使用Arduino IDE将程序上传到ESP8266,请访问本教程。
上传程序后,单击串行监视器,您应该在下面看到类似的内容。如果没有重置您的ESP8266模块,然后重试
。
在这里,您还可以记下分配给ESP8266模块的IP地址。然后,您可以使用IP加载浏览器上的网页,并从那里布防IoT安全系统,如下图所示。
验证完所有这些信息后,您现在可以将ESP8266转移到Perf板上并打开电源,然后按视频所示短路开关。
开机后,您可以使用IP进入上面显示的网页并启用Securtiy系统。启用后,等待50-60秒以校准PIR传感器。
现在您的项目已准备好采取行动,您可以将其放置在所需的位置,如果有人越过该位置并落在PIR传感器的范围内,则会触发语音消息,并将一封电子邮件发送到您的电子邮件中身份证以及他/她越过的日期和时间。电子邮件如下所示。
所以,就是这样。.我希望您喜欢这个项目,并喜欢自己做。以下视频显示了该项目的完整工作。如果您有任何疑问或建议,可以在下面的评论部分中写下它们,我会尽可能地答复。