WIZwiki-W7500 mbed platform & IFTTT maker channel. The aim of this project is to catch a thief when I wasn't home. If the PIR sensor catches a thief. It will send notification to your mobile device.
Dependencies: IFTTT WIZnetInterface mbed
Diff: main.cpp
- Revision:
- 0:801a968f1625
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Jul 30 05:36:01 2015 +0000 @@ -0,0 +1,72 @@ +#include "mbed.h" +#include "EthernetInterface.h" +#include "TCPSocketConnection.h" +#include "ifttt.h" + +#define YourEventName "YOUREVENT" +#define YourSecretKey "YOURKEY" + +#define DuringSafety 5 //hours + +EthernetInterface eth; +Serial pc(USBTX, USBRX); // tx, rx +DigitalOut led(LED1); +AnalogIn sw(A0); +DigitalIn pir(D8,PullUp); +Timer timer; + +int main() +{ + int phy_link; + int flag = 0; + int onetimeflag = 0; + float sec = 0.0; + + pc.baud(115200); + printf("Wait a second...\r\n"); + uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x12, 0x34, 0x56}; + eth.init(mac_addr); //Use DHCP + eth.connect(); + + do{ + phy_link = eth.ethernet_link(); + printf("..."); + wait(2); + }while(!phy_link); + printf("\r\nIP Address is %s \r\n", eth.getIPAddress()); + TCPSocketConnection sock; + + // Initialize ifttt object, add up to 3 optional values, trigger event. + IFTTT ifttt(YourEventName,YourSecretKey, &sock); // EventName, Secret Key, socket to use + + + while(1) { + + if(!pir){ + led = 0; + onetimeflag = 0; + printf("Safety\r\n"); + if(!flag){ + timer.start(); + flag = 1; + } + wait(1); + } + else if(pir && (float)sw.read()>=0.9 && !onetimeflag){ + led=1; + onetimeflag=1; + printf("Thief Detected\r\n"); + ifttt.addIngredients("===WARNING===","The Thief was found","Report him to the police"); + ifttt.trigger(); + timer.reset(); + wait(1); + } + sec = timer.read(); + if(sec > DuringSafety*3600 && (float)sw.read()>=0.9){ + timer.reset(); + ifttt.addIngredients("Your home in safety during",(char*)DuringSafety,"hours!"); + ifttt.trigger(); + } + } + +} \ No newline at end of file