Detects any kind of suspicious activity

Dependencies:   mbed ESP8266

Committer:
mihir77
Date:
Mon Dec 05 16:16:30 2016 +0000
Revision:
0:1b5b8242fef0
Grove PIR Sensor plus ESP8266

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mihir77 0:1b5b8242fef0 1 #include "mbed.h"
mihir77 0:1b5b8242fef0 2 #include "ESP8266.h"
mihir77 0:1b5b8242fef0 3
mihir77 0:1b5b8242fef0 4 InterruptIn motion(D2);
mihir77 0:1b5b8242fef0 5
mihir77 0:1b5b8242fef0 6 Serial pc(USBTX,USBRX); //UART/Serial Communication
mihir77 0:1b5b8242fef0 7
mihir77 0:1b5b8242fef0 8 ESP8266 wifi(PTE0, PTE1, 115200); // Setting up Baud Rate for WIFI ESP Module
mihir77 0:1b5b8242fef0 9 char snd[255],rcv[1000];
mihir77 0:1b5b8242fef0 10
mihir77 0:1b5b8242fef0 11 #define IP "184.106.153.149" // Defining Thingspeak IP Address
mihir77 0:1b5b8242fef0 12
mihir77 0:1b5b8242fef0 13
mihir77 0:1b5b8242fef0 14 int dm = 0; //dm = Detected Motion
mihir77 0:1b5b8242fef0 15
mihir77 0:1b5b8242fef0 16 void motiondetection(void)
mihir77 0:1b5b8242fef0 17 {
mihir77 0:1b5b8242fef0 18 dm = 1;
mihir77 0:1b5b8242fef0 19 }
mihir77 0:1b5b8242fef0 20
mihir77 0:1b5b8242fef0 21 //Defining the necessary Functions to be used//
mihir77 0:1b5b8242fef0 22
mihir77 0:1b5b8242fef0 23 void wifi_send(void);
mihir77 0:1b5b8242fef0 24
mihir77 0:1b5b8242fef0 25 int cnt;
mihir77 0:1b5b8242fef0 26
mihir77 0:1b5b8242fef0 27
mihir77 0:1b5b8242fef0 28 //Execution of Main program
mihir77 0:1b5b8242fef0 29
mihir77 0:1b5b8242fef0 30 int main(void)
mihir77 0:1b5b8242fef0 31 {
mihir77 0:1b5b8242fef0 32 cnt = 0; //Setting counter value to zero
mihir77 0:1b5b8242fef0 33 motion.rise(&motiondetection);
mihir77 0:1b5b8242fef0 34
mihir77 0:1b5b8242fef0 35 pc.baud(9600); //Setting up Baud Rate for UART
mihir77 0:1b5b8242fef0 36
mihir77 0:1b5b8242fef0 37 // WIFI Initialization Part//
mihir77 0:1b5b8242fef0 38
mihir77 0:1b5b8242fef0 39 pc.printf("SET mode to AP\r\n");
mihir77 0:1b5b8242fef0 40 wifi.SetMode(1); // Setting ESP to mode 1
mihir77 0:1b5b8242fef0 41 wifi.RcvReply(rcv, 1000); //In order to receive response from ESP
mihir77 0:1b5b8242fef0 42 pc.printf("%s",rcv); //Display obtained response on TeraTerm
mihir77 0:1b5b8242fef0 43 pc.printf("Conneting to AP\r\n");
mihir77 0:1b5b8242fef0 44
mihir77 0:1b5b8242fef0 45 //wifi.Join("BHNTG1682G0382", "a2c77382");
mihir77 0:1b5b8242fef0 46 wifi.Join("hello", "hellohello"); // Add Username and Password of the Network to which WIFI ESP module is connected
mihir77 0:1b5b8242fef0 47 wifi.RcvReply(rcv, 1000); //In order to receive response from ESP
mihir77 0:1b5b8242fef0 48 pc.printf("%s", rcv); //Display obtained response on TeraTerm
mihir77 0:1b5b8242fef0 49 wait(8); //Wait for 8 seconds
mihir77 0:1b5b8242fef0 50
mihir77 0:1b5b8242fef0 51 pc.printf("Getting IP\r\n"); // Gets IP address
mihir77 0:1b5b8242fef0 52 wifi.GetIP(rcv); //To receive IP
mihir77 0:1b5b8242fef0 53 pc.printf("%s", rcv);//Display obtained response on TeraTerm
mihir77 0:1b5b8242fef0 54 wait(5); // Delay 5 sec to give the pir time to get snapshut of the surrounding
mihir77 0:1b5b8242fef0 55 pc.printf("Initializing WiFi\r\n");
mihir77 0:1b5b8242fef0 56
mihir77 0:1b5b8242fef0 57 while(1) {
mihir77 0:1b5b8242fef0 58 if(dm) {
mihir77 0:1b5b8242fef0 59 cnt++;
mihir77 0:1b5b8242fef0 60 dm = 0;
mihir77 0:1b5b8242fef0 61 pc.printf("ALERT!! Intrusion Detected!! I've detected %d times since reset\n", cnt);
mihir77 0:1b5b8242fef0 62 pc.printf("Now uploading status to Cloud\n\r");
mihir77 0:1b5b8242fef0 63 wifi_send();
mihir77 0:1b5b8242fef0 64 }
mihir77 0:1b5b8242fef0 65 }
mihir77 0:1b5b8242fef0 66 }
mihir77 0:1b5b8242fef0 67 // Main program ends//
mihir77 0:1b5b8242fef0 68
mihir77 0:1b5b8242fef0 69
mihir77 0:1b5b8242fef0 70 //Routing the inofrmation to Cloud//
mihir77 0:1b5b8242fef0 71
mihir77 0:1b5b8242fef0 72 void wifi_send(void)
mihir77 0:1b5b8242fef0 73 {
mihir77 0:1b5b8242fef0 74 pc.printf("*************Uploading WIFI Data*************\r\n");
mihir77 0:1b5b8242fef0 75
mihir77 0:1b5b8242fef0 76 pc.printf("\r\nTo set WIFI into Single Channel mode\r\n");
mihir77 0:1b5b8242fef0 77
mihir77 0:1b5b8242fef0 78 strcpy(snd,"AT+CIPMUX=0");//To Set WIFI into Single Channel mode
mihir77 0:1b5b8242fef0 79 wifi.SendCMD(snd);
mihir77 0:1b5b8242fef0 80 pc.printf(snd);
mihir77 0:1b5b8242fef0 81
mihir77 0:1b5b8242fef0 82 wifi.RcvReply(rcv, 1000);
mihir77 0:1b5b8242fef0 83 pc.printf("\r\nMode Status: %s", rcv);
mihir77 0:1b5b8242fef0 84
mihir77 0:1b5b8242fef0 85
mihir77 0:1b5b8242fef0 86
mihir77 0:1b5b8242fef0 87 //Connecting to THINGSPEAK server//
mihir77 0:1b5b8242fef0 88 pc.printf("\r\nConnecting to THINGSPEAK server\r\n");
mihir77 0:1b5b8242fef0 89 strcpy(snd,"AT+CIPSTART=\"TCP\",\"api.thingspeak.com\",80");
mihir77 0:1b5b8242fef0 90 pc.printf("\r\nSending: %s",snd);
mihir77 0:1b5b8242fef0 91 wifi.SendCMD(snd);
mihir77 0:1b5b8242fef0 92 wifi.RcvReply(rcv, 1000);
mihir77 0:1b5b8242fef0 93 pc.printf("\r\nSever Status: %s", rcv);
mihir77 0:1b5b8242fef0 94
mihir77 0:1b5b8242fef0 95 //Deliver Data/Characters//
mihir77 0:1b5b8242fef0 96 pc.printf("\r\nDelivering Data..");
mihir77 0:1b5b8242fef0 97 strcpy(snd,"AT+CIPSEND=84");
mihir77 0:1b5b8242fef0 98 wifi.SendCMD(snd);
mihir77 0:1b5b8242fef0 99 pc.printf("\r\nSending: %s",snd);
mihir77 0:1b5b8242fef0 100 wifi.RcvReply(rcv, 1000);
mihir77 0:1b5b8242fef0 101 pc.printf("\r\nSent Status: %s", rcv);
mihir77 0:1b5b8242fef0 102
mihir77 0:1b5b8242fef0 103 //Upload values to Cloud based website i.e. ThingSpeak in order to obtain Graphical Display//
mihir77 0:1b5b8242fef0 104
mihir77 0:1b5b8242fef0 105 pc.printf("Uploading values to Thingspeak\r\n");
mihir77 0:1b5b8242fef0 106 sprintf(snd,"GET https://api.thingspeak.com/update?key=2DNGOOKD3OZBMVV5&field1=%d HTTP/1.0\r\n\r\n",cnt); //67,76,84
mihir77 0:1b5b8242fef0 107 //sprintf(snd,"GET https://api.thingspeak.com/update?key=2DNGOOKD3OZBMVV5&field1=%d HTTP/1.0\r\n\r\n",cnt); //67,76,84
mihir77 0:1b5b8242fef0 108 pc.printf("\r\nSending: %s",snd);
mihir77 0:1b5b8242fef0 109 wifi.SendCMD(snd);
mihir77 0:1b5b8242fef0 110 wait(1);
mihir77 0:1b5b8242fef0 111 wifi.RcvReply(rcv, 1000);
mihir77 0:1b5b8242fef0 112 pc.printf("\r\nSent Status: %s", rcv);
mihir77 0:1b5b8242fef0 113 wait(1);
mihir77 0:1b5b8242fef0 114
mihir77 0:1b5b8242fef0 115 //Closing the connection with Server//
mihir77 0:1b5b8242fef0 116
mihir77 0:1b5b8242fef0 117 pc.printf("\r\nClose the Connection\r\n");
mihir77 0:1b5b8242fef0 118 strcpy(snd,"AT+CIPCLOSE"); //Command used to close the connection with server
mihir77 0:1b5b8242fef0 119 wifi.SendCMD(snd);
mihir77 0:1b5b8242fef0 120 pc.printf("\r\nSending: %s",snd);
mihir77 0:1b5b8242fef0 121 wait(1);
mihir77 0:1b5b8242fef0 122 wifi.RcvReply(rcv, 1000);
mihir77 0:1b5b8242fef0 123 pc.printf("Close Connection Status: %s", rcv);
mihir77 0:1b5b8242fef0 124
mihir77 0:1b5b8242fef0 125 pc.printf("\r\nClose connection\r\n");
mihir77 0:1b5b8242fef0 126 strcpy(snd,"AT+CIPCLOSE");
mihir77 0:1b5b8242fef0 127 wifi.SendCMD(snd);
mihir77 0:1b5b8242fef0 128 pc.printf("\r\nSending: %s",snd);
mihir77 0:1b5b8242fef0 129 wifi.RcvReply(rcv, 1000);
mihir77 0:1b5b8242fef0 130 pc.printf("Close Connection Status: %s", rcv);
mihir77 0:1b5b8242fef0 131 pc.printf("\r\nEnd of Closed Connection Status Response\r\n\r\n");
mihir77 0:1b5b8242fef0 132
mihir77 0:1b5b8242fef0 133 }