kaems

Dependencies:   TextLCD WakeUp mbed

Fork of Final by Sandesh G

Committer:
Lakshmikumar
Date:
Mon Jan 19 09:30:25 2015 +0000
Revision:
0:e876ef14b820
Child:
1:afb1111bab40
kaems

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Lakshmikumar 0:e876ef14b820 1 #include"mbed.h"
Lakshmikumar 0:e876ef14b820 2 #include"TextLCD.h"
Lakshmikumar 0:e876ef14b820 3 //AnalogIn sm1(p16);
Lakshmikumar 0:e876ef14b820 4 //AnalogIn sm2(p17);
Lakshmikumar 0:e876ef14b820 5 //AnalogIn sm3(p18);
Lakshmikumar 0:e876ef14b820 6 //AnalogIn sm4(p19);
Lakshmikumar 0:e876ef14b820 7 //DigitalOut led(LED1);
Lakshmikumar 0:e876ef14b820 8 Serial GPRS(p9,p10);
Lakshmikumar 0:e876ef14b820 9 Serial pc(USBTX,USBRX);
Lakshmikumar 0:e876ef14b820 10 TextLCD lcd(p26, p25, p24, p23, p22, p21); //rs,e,d0-d3
Lakshmikumar 0:e876ef14b820 11 LocalFileSystem local("local");
Lakshmikumar 0:e876ef14b820 12 char a=0x1A,c=0x0D;
Lakshmikumar 0:e876ef14b820 13 char num[]="7411755981";
Lakshmikumar 0:e876ef14b820 14 float s[5],m[5];
Lakshmikumar 0:e876ef14b820 15 float ma;
Lakshmikumar 0:e876ef14b820 16 int z,j=0;
Lakshmikumar 0:e876ef14b820 17 int b=100,count;
Lakshmikumar 0:e876ef14b820 18 char str;
Lakshmikumar 0:e876ef14b820 19 char col1[]="ITERATION",col2[]="SM1",col3[]="SM2",col4[]="SM3",col5[]="SM4",col6[]="Mean";
Lakshmikumar 0:e876ef14b820 20
Lakshmikumar 0:e876ef14b820 21 void SensorRead()
Lakshmikumar 0:e876ef14b820 22 {
Lakshmikumar 0:e876ef14b820 23 lcd.cls();
Lakshmikumar 0:e876ef14b820 24 lcd.locate(0,0);
Lakshmikumar 0:e876ef14b820 25 lcd.printf("Sensor Readings\r");
Lakshmikumar 0:e876ef14b820 26
Lakshmikumar 0:e876ef14b820 27 s[1]=0.21;
Lakshmikumar 0:e876ef14b820 28 m[1]=(0.057*(s[1]*1024))+25.072;
Lakshmikumar 0:e876ef14b820 29
Lakshmikumar 0:e876ef14b820 30 lcd.cls();
Lakshmikumar 0:e876ef14b820 31 lcd.printf("Raw SM1=%0.3f",s[1]);
Lakshmikumar 0:e876ef14b820 32 wait(2);
Lakshmikumar 0:e876ef14b820 33
Lakshmikumar 0:e876ef14b820 34 s[2]=0.2;
Lakshmikumar 0:e876ef14b820 35 m[2]=(0.057*(s[2]*1024))+25.072;
Lakshmikumar 0:e876ef14b820 36
Lakshmikumar 0:e876ef14b820 37 lcd.cls();
Lakshmikumar 0:e876ef14b820 38 lcd.printf("Raw SM2=%0.3f",s[2]);
Lakshmikumar 0:e876ef14b820 39 wait(2);
Lakshmikumar 0:e876ef14b820 40
Lakshmikumar 0:e876ef14b820 41 s[3]=0.23;
Lakshmikumar 0:e876ef14b820 42 m[3]=(0.057*(s[3]*1024))+25.072;
Lakshmikumar 0:e876ef14b820 43 lcd.cls();
Lakshmikumar 0:e876ef14b820 44 lcd.printf("Raw SM3=%0.3f",s[3]);
Lakshmikumar 0:e876ef14b820 45 wait(2);
Lakshmikumar 0:e876ef14b820 46
Lakshmikumar 0:e876ef14b820 47 s[4]=0.55;
Lakshmikumar 0:e876ef14b820 48 m[4]=(0.057*(s[4]*1024))+25.072;
Lakshmikumar 0:e876ef14b820 49
Lakshmikumar 0:e876ef14b820 50 lcd.cls();
Lakshmikumar 0:e876ef14b820 51 lcd.printf("Raw SM4=%0.3f",s[4]);
Lakshmikumar 0:e876ef14b820 52 wait(2);
Lakshmikumar 0:e876ef14b820 53
Lakshmikumar 0:e876ef14b820 54 ma=(m[1]+m[2]+m[3]+m[4])/4;
Lakshmikumar 0:e876ef14b820 55
Lakshmikumar 0:e876ef14b820 56 lcd.cls();
Lakshmikumar 0:e876ef14b820 57 lcd.locate(0,0);
Lakshmikumar 0:e876ef14b820 58 lcd.printf("Mean =%0.4f",ma);
Lakshmikumar 0:e876ef14b820 59 wait(2);
Lakshmikumar 0:e876ef14b820 60 }
Lakshmikumar 0:e876ef14b820 61
Lakshmikumar 0:e876ef14b820 62 void xlfile()
Lakshmikumar 0:e876ef14b820 63 {
Lakshmikumar 0:e876ef14b820 64 //Local storage (On board flash memory of 2MB)
Lakshmikumar 0:e876ef14b820 65 count++;
Lakshmikumar 0:e876ef14b820 66 FILE *fp=fopen("/local/KAEMS.csv","a");
Lakshmikumar 0:e876ef14b820 67 fprintf(fp,"%d,%0.3f,%0.3f,%0.3f,%0.3f,%0.3f\n",count,m[1],m[2],m[3],m[4],ma);
Lakshmikumar 0:e876ef14b820 68 fclose(fp);
Lakshmikumar 0:e876ef14b820 69 lcd.cls();
Lakshmikumar 0:e876ef14b820 70 lcd.printf("File updated");
Lakshmikumar 0:e876ef14b820 71 wait(2);
Lakshmikumar 0:e876ef14b820 72 }
Lakshmikumar 0:e876ef14b820 73 void flushSerialBuffer(void)
Lakshmikumar 0:e876ef14b820 74 { char char1 = 0;
Lakshmikumar 0:e876ef14b820 75 pc.printf("Flushing..");
Lakshmikumar 0:e876ef14b820 76 while (GPRS.readable())
Lakshmikumar 0:e876ef14b820 77 { char1 = GPRS.getc();
Lakshmikumar 0:e876ef14b820 78 } return;
Lakshmikumar 0:e876ef14b820 79 }
Lakshmikumar 0:e876ef14b820 80 void Upload()
Lakshmikumar 0:e876ef14b820 81 {
Lakshmikumar 0:e876ef14b820 82 //GPRS commands
Lakshmikumar 0:e876ef14b820 83 lcd.cls();
Lakshmikumar 0:e876ef14b820 84 lcd.locate(0,0);
Lakshmikumar 0:e876ef14b820 85 lcd.printf(" Updating\n www.kaems.org");
Lakshmikumar 0:e876ef14b820 86 wait(3);
Lakshmikumar 0:e876ef14b820 87 GPRS.printf("AT+SAPBR=0,1\r\n");
Lakshmikumar 0:e876ef14b820 88 wait(3);
Lakshmikumar 0:e876ef14b820 89 GPRS.printf("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"\r\n");
Lakshmikumar 0:e876ef14b820 90 wait(3);
Lakshmikumar 0:e876ef14b820 91 GPRS.printf("AT+SAPBR=3,1,\"APN\",\"AIRCELGPRS.COM\"\r\n");
Lakshmikumar 0:e876ef14b820 92 wait(3);
Lakshmikumar 0:e876ef14b820 93 GPRS.printf("AT+SAPBR=1,1\r\n");
Lakshmikumar 0:e876ef14b820 94 wait(3);
Lakshmikumar 0:e876ef14b820 95 GPRS.printf("AT+HTTPINIT\r\n");
Lakshmikumar 0:e876ef14b820 96 wait(2);
Lakshmikumar 0:e876ef14b820 97 GPRS.printf("AT+HTTPPARA=\"CID\",1\r\n");
Lakshmikumar 0:e876ef14b820 98 wait(2);
Lakshmikumar 0:e876ef14b820 99 GPRS.printf("AT+HTTPPARA=\"URL\",\"http://kaems.org/update.php?u=3&t=23&h=34&s1=%f&s2=%f&s3=%f&s4=%f&ph=5&b=%d\"\r\n",m[1],m[2],m[3],m[4],b--);
Lakshmikumar 0:e876ef14b820 100 wait(2);
Lakshmikumar 0:e876ef14b820 101 GPRS.printf("AT+HTTPDATA=1000,5000\r\n");
Lakshmikumar 0:e876ef14b820 102 wait(10);
Lakshmikumar 0:e876ef14b820 103 GPRS.printf("AT+HTTPACTION=1\r\n");
Lakshmikumar 0:e876ef14b820 104 wait(5);
Lakshmikumar 0:e876ef14b820 105 GPRS.printf("AT+HTTPTERM\r\n");
Lakshmikumar 0:e876ef14b820 106 lcd.cls();
Lakshmikumar 0:e876ef14b820 107 lcd.printf("KAEMS UPDATED");
Lakshmikumar 0:e876ef14b820 108 wait(3);
Lakshmikumar 0:e876ef14b820 109 }
Lakshmikumar 0:e876ef14b820 110 void feedback()
Lakshmikumar 0:e876ef14b820 111 { lcd.cls();
Lakshmikumar 0:e876ef14b820 112 lcd.locate(0,0);
Lakshmikumar 0:e876ef14b820 113 lcd.printf("Waiting for feedback");
Lakshmikumar 0:e876ef14b820 114 wait(3);
Lakshmikumar 0:e876ef14b820 115 GPRS.printf("AT+SAPBR=0,1\r\n");
Lakshmikumar 0:e876ef14b820 116 wait(3);
Lakshmikumar 0:e876ef14b820 117 GPRS.printf("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"\r\n");
Lakshmikumar 0:e876ef14b820 118 wait(3);
Lakshmikumar 0:e876ef14b820 119 GPRS.printf("AT+SAPBR=3,1,\"APN\",\"AIRCELGPRS.COM\"\r\n");
Lakshmikumar 0:e876ef14b820 120 wait(3);
Lakshmikumar 0:e876ef14b820 121 GPRS.printf("AT+SAPBR=1,1\r\n");
Lakshmikumar 0:e876ef14b820 122 wait(3);
Lakshmikumar 0:e876ef14b820 123 GPRS.printf("AT+HTTPINIT\r\n");
Lakshmikumar 0:e876ef14b820 124 wait(2);
Lakshmikumar 0:e876ef14b820 125 GPRS.printf("AT+HTTPPARA=\"CID\",1\r\n");
Lakshmikumar 0:e876ef14b820 126 wait(2);
Lakshmikumar 0:e876ef14b820 127 GPRS.printf("AT+HTTPPARA=\"URL\",\"http://kaems.org/feedback.php\"\r\n");
Lakshmikumar 0:e876ef14b820 128 wait(2);
Lakshmikumar 0:e876ef14b820 129 GPRS.printf("AT+HTTPACTION=0\r\n");
Lakshmikumar 0:e876ef14b820 130 wait(5);
Lakshmikumar 0:e876ef14b820 131 flushSerialBuffer();
Lakshmikumar 0:e876ef14b820 132 GPRS.printf("AT+HTTPREAD\r\n");
Lakshmikumar 0:e876ef14b820 133 while(!GPRS.readable()){ }
Lakshmikumar 0:e876ef14b820 134 char *str2;
Lakshmikumar 0:e876ef14b820 135 GPRS.scanf("%s",str2);
Lakshmikumar 0:e876ef14b820 136 GPRS.scanf("%s",str2);
Lakshmikumar 0:e876ef14b820 137 GPRS.scanf("%s",str2); // Getting op
Lakshmikumar 0:e876ef14b820 138 pc.printf("Str=%c\r\n",str2[0]);
Lakshmikumar 0:e876ef14b820 139 lcd.cls();
Lakshmikumar 0:e876ef14b820 140 lcd.printf("Fbk=%c",str2[0]);
Lakshmikumar 0:e876ef14b820 141 // switch(str2[0]){
Lakshmikumar 0:e876ef14b820 142 // case '1': break;
Lakshmikumar 0:e876ef14b820 143 //
Lakshmikumar 0:e876ef14b820 144 // }
Lakshmikumar 0:e876ef14b820 145 wait(5);
Lakshmikumar 0:e876ef14b820 146 GPRS.printf("AT+HTTPTERM\r\n");
Lakshmikumar 0:e876ef14b820 147 }
Lakshmikumar 0:e876ef14b820 148
Lakshmikumar 0:e876ef14b820 149 void sms()
Lakshmikumar 0:e876ef14b820 150 {
Lakshmikumar 0:e876ef14b820 151 GPRS.printf("AT\r\n");
Lakshmikumar 0:e876ef14b820 152 wait(2);
Lakshmikumar 0:e876ef14b820 153 GPRS.printf("AT+CMGF=1\r\n");
Lakshmikumar 0:e876ef14b820 154 wait(2);
Lakshmikumar 0:e876ef14b820 155 GPRS.printf("AT+CMGS=\"%s\"\r\n",num);
Lakshmikumar 0:e876ef14b820 156 wait(3);
Lakshmikumar 0:e876ef14b820 157
Lakshmikumar 0:e876ef14b820 158 if(ma<40)
Lakshmikumar 0:e876ef14b820 159 {
Lakshmikumar 0:e876ef14b820 160 GPRS.printf(" Water level is low \nMoisture level is %f \r\n",ma);
Lakshmikumar 0:e876ef14b820 161 wait(1);
Lakshmikumar 0:e876ef14b820 162 GPRS.printf("%c",a);
Lakshmikumar 0:e876ef14b820 163 wait(2);
Lakshmikumar 0:e876ef14b820 164 }
Lakshmikumar 0:e876ef14b820 165
Lakshmikumar 0:e876ef14b820 166 if(ma>40)
Lakshmikumar 0:e876ef14b820 167 {
Lakshmikumar 0:e876ef14b820 168 GPRS.printf(" Land has sufficicient amount of water \n Moisture IS %f \r\n",ma);
Lakshmikumar 0:e876ef14b820 169 wait(1);
Lakshmikumar 0:e876ef14b820 170 GPRS.printf("%c",a);
Lakshmikumar 0:e876ef14b820 171 wait(2);
Lakshmikumar 0:e876ef14b820 172 }
Lakshmikumar 0:e876ef14b820 173 lcd.printf("SMS Sent");
Lakshmikumar 0:e876ef14b820 174
Lakshmikumar 0:e876ef14b820 175 }
Lakshmikumar 0:e876ef14b820 176 int main()
Lakshmikumar 0:e876ef14b820 177 { GPRS.baud(9600);
Lakshmikumar 0:e876ef14b820 178 GPRS.printf("AT\n");
Lakshmikumar 0:e876ef14b820 179 wait(3);
Lakshmikumar 0:e876ef14b820 180 lcd.cls();
Lakshmikumar 0:e876ef14b820 181 lcd.printf(" PRECISION\n AGRICULTURE");
Lakshmikumar 0:e876ef14b820 182 while(1)
Lakshmikumar 0:e876ef14b820 183 {
Lakshmikumar 0:e876ef14b820 184 FILE *fp=fopen("/local/KAEMS.csv","a");
Lakshmikumar 0:e876ef14b820 185 fprintf(fp,"%s,%s,%s,%s,%s,%s\n",col1,col2,col3,col4,col5,col6);
Lakshmikumar 0:e876ef14b820 186 fclose(fp);
Lakshmikumar 0:e876ef14b820 187 SensorRead();
Lakshmikumar 0:e876ef14b820 188 xlfile();
Lakshmikumar 0:e876ef14b820 189 //Upload();
Lakshmikumar 0:e876ef14b820 190 feedback();
Lakshmikumar 0:e876ef14b820 191 //sms();
Lakshmikumar 0:e876ef14b820 192 lcd.cls();
Lakshmikumar 0:e876ef14b820 193 lcd.printf(" PRECISION\n AGRICULTURE");
Lakshmikumar 0:e876ef14b820 194 wait(1200);
Lakshmikumar 0:e876ef14b820 195 }
Lakshmikumar 0:e876ef14b820 196 }