Arduino,通过 Gmail 监控开门
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
关于这个项目
如果您是初学者,您可以在 Arduino - Wifi 和 Arduino - Door Sensor 教程中了解 wifi 和传感器。
在本教程中,我将向您展示如何检测开门事件并通过 Gmail 发送通知 使用 Arduino Uno。我为初学者制作了这个教程!真的很简单!
让我们开始吧!
检测开门事件
我使用的磁传感器包括两部分:传感器 和 磁铁 .当两部分靠近时,传感器的输出引脚为高电平,否则输出引脚为低电平。利用这一特点,我将传感器的一部分安装在门扇上,另一部分安装在门框上。通过检查输出引脚的状态,我们可以检测门何时被打开,然后发出警报或发送通知。
处理事件
在这个项目中,当一个事件发生时,通过 Gmail 发送通知 .
图书馆
下面的代码使用了两个库:PHPoC 和 Button 库
适合初学者的最佳 Arduino 入门套件
如果您正在寻找 Arduino 套件,请参阅适合初学者的最佳 Arduino 套件
函数参考
- 循环()
- 设置()
- Serial.begin()
- Serial.println()
- 延迟()
- for 循环
- while 循环
- 否则
- String.toInt()
代码
- 源代码
源代码Arduino
#include#include PhpocEmail email;ezButton button(A0); // 创建连接到引脚 A0 的按钮对象;void setup() { Serial.begin(9600); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.beginIP6();如果您打算使用 IPv6 button.setDebounceTime(100),请取消注释此行; // 将去抖动时间设置为 100 毫秒}void loop() { button.loop(); // 必须先调用 loop() 函数 if(button.isPressed()) { // 如果门被打开... email.setOutgoingServer("smtp.gmail.com", 587); email.setOutgoingLogin("Google ID", "Google 密码"); email.setFrom("Gmail 地址", "发件人姓名"); email.setTo("收件人邮箱地址", "收件人姓名"); email.setSubject("门被打开了。[#905]"); // 邮件主题 // 邮件内容 email.beginMessage(); email.println("#905"); email.println(""); email.println("门开了。"); email.endMessage(); if (email.send()> 0) // 发送电子邮件 Serial.println("您的邮件已成功发送"); else Serial.println("你的邮件没有发送"); } else if (button.isReleased()) { // 如果门是关着的... // 用同样的方式写代码 }}
Arduino 的 PHPoC 库
该库与 PHPoC Shield 通信以连接到 Internet。它还包含Gmail库。如何安装库:http://www.phpoc.com/support/manual/phpoc_shield_for_arduino/ https://github.com/phpoc/arduino/示意图
1.在 Arduino 上堆栈 PHPoC Shield2. 将 LAN 电缆或 USB wifi Dongle 连接到以太网屏蔽
3. Arduino 和 Sensor 之间的引脚接线。
----5V--------红脚
----A0-------黑色别针
制造工艺