Friday, October 14, 2016

Mail

A simple email notification sent by Cayenne and triggered by a PIR motion sensor3 (connected to a Node MCU ESP82665) powered by a USB power bank.


Paste the device token into the Arduino code.
Add your SSID and Password to the Arduino code as well.
And upload to the Node MCU ESP82665 .
#define CAYENNE_DEBUG         // Uncomment to show debug messages
#define CAYENNE_PRINT Serial  // Comment this out to disable prints and save space

#include <CayenneDefines.h>
#include <BlynkSimpleEsp8266.h>
#include <CayenneWifiClient.h>
#include <Arduino.h>
#include <SoftwareSerial.h>



// Cayenne authentication token. This should be obtained from the Cayenne Dashboard.
char token[] = "";
char ssid[] = "";
char password[] = "";

// Virtual Pin of the Digital Motion Sensor widget.
#define VIRTUAL_PIN V1

// Digital pin the motion sensor is connected to. Do not use digital pins 0 or 1 since those conflict with the use of Serial.
int motionSensorPin = 4;

void setup()
{
  Serial.begin(9600);
  Cayenne.begin(token, ssid, password);
 
}

void loop()
{
  Cayenne.run();
  checkSensor(); 
}


int previousState = -1;
int currentState = -1;
unsigned long previousMillis = 0;

void checkSensor()
{
  unsigned long currentMillis = millis();
  // Check sensor data every 250 milliseconds
  if (currentMillis - previousMillis >= 250) {
    // Check the sensor state and send data when it changes.
    currentState = digitalRead(motionSensorPin);
    if (currentState != previousState) {
      Cayenne.virtualWrite(VIRTUAL_PIN, currentState);
      previousState = currentState;
    }
        previousMillis = currentMillis;
  }
}

Plug the Node MCU ESP82665 into your power bank.


Connect power and ground to your PIR motion sensor3 (depending on your sensor you may need to provide 5V from the power bank) and the signal out to Pin D2 of your Node MCU ESP82665 .


Add the digital motion sensor to Cayenne after the device connects.
Make sure to select your "Arduino"-(Node MCU ESP82665), Virtual Pin, and Pin V1.


Click the top right drop down and add a trigger.
Drag your ''Arduino"- (Node MCU ESP82665) to trigger and add your email to notify.


Place in your mailbox for the unsuspecting mailman.


Enjoy that feeling of knowing your package has arrived safely in your mailbox from anywhere in the world!
I would like to thank Cayenne for sponsoring this project and Chao @Electrodragon1 for some amazing and cheap parts (that I hope to arrive soon)!

"I get mail; therefore I am."
-Scott Adams


No comments:

Post a Comment