Mail Notification System
Mail Notification System
Member: Jiajie,YANG; Yuan,ZHANG
This is an intelligent mail notification system to improve user experience in mail receiving.
Features
- Once mail comes into mailbox, user will receive email notification immediately
- Use password to open mailbox instead of key
- Set priority for different mails, emergent mails will be treated specially.
Image
Pin Setup
Embed Pin | Other Device |
---|---|
GND | GND |
VOut | VCC |
VU | +5V |
p10 | TouchPad SDA |
p11 | TouchPad SCL |
p19 | IR Sensor1 |
p20 | IR Sensor2 |
p21 | Servo |
Library
Import libraryEthernetInterface
mbed IP library over Ethernet
Import libraryHTTPClient
HTTP Library after modification
Import libraryServo
A class to control a model R/C servo, using a PwmOut
Import librarymbed-rtos
Official mbed Real Time Operating System based on the RTX implementation of the CMSIS-RTOS API open standard.
Demo Program
Import programMNS_Detect
Detect the mail and tweet
Import programMNS_Password
Touchpad Password and door opening and locking
main.cpp
#include <mbed.h> #include <string> #include "EthernetInterface.h" #include "HTTPClient.h" Serial pc(USBTX, USBRX); DigitalIn EmergencyButton(p17); AnalogIn DistanceSensor1(p20); AnalogIn DistanceSensor2(p19); HTTPClient http; char str[512]; bool emergency=false; bool exist=false; bool checkEmergency(){ if (!EmergencyButton){ printf("Emergency Option Set...\n\r"); return true; } return false; } bool checkDistance(){ float distance1=DistanceSensor1; float distance2=DistanceSensor2; printf("First Sensor: %.3f\n\rSecond Sensor: %.3f\n\r\n", distance1, distance2); if (DistanceSensor1<0.60f){ if (DistanceSensor2>0.60f) exist=true; else exist=false; printf("Waiting...\n\r"); wait(3.0); if (DistanceSensor1>0.60f&&DistanceSensor2>0.60f) return true; } return false; } void sendDistanceMessage(){ char message[200]; char emergencyMessage[]="Emergency Mail!!! Please come to fetch it IMMEDIATELY!!!"; char normal[]="You have a mail delivered to your mailbox. Please come to check it."; char normalExist[]="You have a new mail..."; if (emergency) sprintf(message, "%s", emergencyMessage); else if (exist) sprintf(message, "%s", normalExist); else sprintf(message, "%s", normal); emergency=false; printf("%s\n\r", message); HTTPMap map; HTTPText inText(str, 512); map.put("status", message); printf("\r\nTrying to post data...\r\n"); http.basicAuth("ece4180mailbox@gmail.com", "MailNotificationSystem"); int ret = http.post("https://api.twitter.com/1.1/statuses/update.json", map, &inText); if( ret == HTTP_OK ) { printf("Tweet sent with success!\n\r"); } else { printf("Problem during tweeting, return code %d\n\r", ret); } } int main() { EthernetInterface eth; eth.init(); //Use DHCP eth.connect(); EmergencyButton.mode(PullUp); while(1) { if (checkEmergency()) emergency=true; if (checkDistance()) sendDistanceMessage(); wait(1); } }
2 comments on Mail Notification System:
Please log in to post comments.
why cant i download the program??!!