5-1-3-1 ESP8266 PIR 安全代码

要使 ESP8266PIR 模块与定义的 Blynk 应用程序一起使用,它包括Blynk头,Simple定时器,并将 BLYNK_PRINT 定义为串行以进行调试。您需要运行以下代码:

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>

转到移动应用程序,然后转到项目设置并邮件发送自己的 app_token 

char app_token[] = "TOKEN_FROM_EMAIL";
SimpleTimer timer;
char ssid[] = "YOUR_WIFI_NETWORK";
char pass[] = "YOUR_PASSWORD";
int state;
int counter=0;
int flag=1;
WidgetLED led1(V1);
WidgetLED pirLED(V2);

这是定时器功能,每秒调用一次,以检查PIR引脚的状态。 ESP8266应用程序的所有逻辑都在此功能中:

void timer_ev()
{
  counter = counter+1;
  if (counter==5)
  {
    pirLED.off();
    counter=O;
    flag = 1;
  }
  int pirStatus = digitalRead(D7);
  if (pirStatus)
  {
    if (flag == 1)
    {
      Serial.println(F ("Sensor detected motion!"));
      Blynk.email ("bcatalin @ gmail.com" , "Subject: Security alert!" , "Movement detected!");
      Blynk.notify ("Security alert! Someone is in the house!");
      digitalWrite(D4, LOW);
      led1.on();
      pirLED.on();
      flag=2;
    }
  }
}

使用移动应用程序令牌设置 Blynk ,并使用路由器的 ssid 和密码 启动 Wi-Fi 连接。您可以使用 WiFiManager 修改Wi-Fi设置,以免硬编码代码中的值。此外,您可以添加MQTT PubSubClient 库并向 Mosquitto 的特定主题发送JSON消息,以便订阅这个主题的其他设备接收消息。例如,您构建一个将订阅警报主题的警报器,模块将在其中发布警报事件。通过接收警报消息,警报器可以启动其喇叭。如果灯光系统在接收到警报消息时订阅警报主题,它可以启动房屋中的所有灯光:

void setup( )
{
  Serial.begin(115200);
  Blynk.begin(app_token, ssid, pass);
  pinMode(D4, OUTPUT);
  timer.setInterval(1OO0L, timer_ev);
}
BLYNK_WRITE(VO)
{
  state = param.asInt();
  if (state == 1) {
    digitalWrite(D4, LOW);
    led1.on();
  }
  else {
    digitalWrite(D4, HIGH);
    led1.off();
  }
}

loop 函数中,只需运行 计时器Blynk

void loop()
{
  Blynk.run();
  timer.run();
}

现在将自己移到传感器前面,您将开始从手机上的 Blynk 应用程序接收消息。还要检查串行监视器的消息:

手机上收到的信息将是:

请注意,在 Blynk 上发送邮件的时间间隔为15秒,并且Gmail的最大电子邮件数量为每天500封。

猜你喜欢

转载自blog.csdn.net/countofdane/article/details/87904405